Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.07.2011, 12:54   #1
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию Сохранить Данные

Нужно, сохранить данные за три месяца.
Наверное, для таких целей, используется двух мерный массив?
Не получается, чего -то.
В листе2 есть выбор месяца, январь, февраль, март.
В листе1, в колонке С, должны отображаться данные в зависимости от месяца.
В листе1, в колонку С, данные всегда вводятся в ручную., кажый месяц
В листе1, в колонке G и I, как пример, данные за др. месяца.
В нормальном виде их там нет.

В январе, вводятся данные( в колонку С), которые сейчас.
В феврале, вводятся данные( в колонку С), которые в колонке G.
В марте, вводятся данные( в колонку С), которые в колонке I.

Макрос в листе1, так, но вложил и пример
Код:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
With Application
    .EnableEvents = False
    Dim iPrices(31, 3) As Single
        [a2] = Sheets(2).Cells(1, 1)
            If [a2] = "Январь" Then месяц = 1
                If [a2] = "Февраль" Then месяц = 2
            If [a2] = "Март" Then месяц = 3
'    If Target.Column = 3 Then
'        For Each x In Target
'            iPrices(x.Row, месяц) = Cells(x.Row, 3)
'        Next
'    End If
'    For idat = 1 To 31
'        Cells(idat + 2, 3) = iPrices(idat, месяц)
'    Next
     .EnableEvents = True
    End With
End Sub
Вложения
Тип файла: rar 22.rar (11.0 Кб, 8 просмотров)
valerij вне форума Ответить с цитированием
Старый 03.07.2011, 13:27   #2
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Ничего не понял - что, откуда, куда, как вводится .
Так проще определять месяц:
[a2] = Sheets(2).Cells(1)
месяц = Month("1 " & [a2].Value & " 2000")
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 03.07.2011, 13:41   #3
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от kuklp Посмотреть сообщение
Ничего не понял - что, откуда, куда, как вводится
В листе2, выбираеи, Январь.
В листе1, в колонке С, в ручную, набираю, яч. С3 = 0, С4 = 0, С5 = 437,6, С6 = 597,25, ...... С33 = 526,29

В листе2, выбираеи, Февраль.
В листе1, в колонке С, в ручную, набираю, яч. С3 = 522,37, С4 = 527,19, С5 = 527,00, С6 = 494,99, ...... С28 = 490,04, ...... С33 = 0

В листе2, выбираеи, Март.
В листе1, в колонке С, в ручную, набираю, яч. С3 = 517,16, С4 = 546,17, С5 = 470,53, С6 = 464,80, ...... С33 = 692,63

Так, понятней?
valerij вне форума Ответить с цитированием
Старый 03.07.2011, 13:53   #4
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Не, Валер, ни капельки не понятней:-) Если набираешь вручную - зачем макрос?
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 03.07.2011, 14:11   #5
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от kuklp Посмотреть сообщение
Если набираешь вручную - зачем макрос?
Что бы уже в июле, зайдя в лист2 и выбрав, январь или февраль, или март, смог посмотреть, соответствующие данные.
Когда набиваю данные за февраль, январские данные ведь уничтожу, а надо, что бы январские данные ушли в переменную и когда я эту, январскую переменную вытащу, вытащу и данные.

Наверное, понял, ексель не может хранить данные в переменных, надо записывать в ячейки, а потом от туда читать.

Последний раз редактировалось valerij; 03.07.2011 в 14:46.
valerij вне форума Ответить с цитированием
Старый 05.07.2011, 09:22   #6
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 844
По умолчанию

Цитата:
Сообщение от valerij Посмотреть сообщение
Что бы уже в июле, зайдя в лист2 и выбрав, январь или февраль, или март, смог посмотреть, соответствующие данные.
Когда набиваю данные за февраль, январские данные ведь уничтожу, а надо, что бы январские данные ушли в переменную и когда я эту, январскую переменную вытащу, вытащу и данные.
А почему бы не прикрепить файл с примером?
Цитата:
Сообщение от valerij Посмотреть сообщение
Наверное, понял, ексель не может хранить данные в переменных, надо записывать в ячейки, а потом от туда читать.
Ексель может хранить даные в переменных.
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Старый 05.07.2011, 10:56   #7
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от tae1980 Посмотреть сообщение
Ексель может хранить даные в переменных.
Это, если я их ручками, пропишу. Простой пример.
Вводим сегодня в А1:А100 данные, 555, а завтра, в А1:А100 данные, 22, где же эксель будет хранить 555?
valerij вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сохранить введеные в поля данные bead JavaScript, Ajax 2 01.04.2011 16:34
сохранить данные из формы BaiAs PHP 11 19.01.2011 21:35
Сохранить данные в файл txt NZero Общие вопросы .NET 2 16.12.2010 16:29
сохранить данные Gawwws Microsoft Office Excel 1 26.02.2010 04:36
Сохранить данные в таблице (IBQery) Yuran БД в Delphi 7 11.07.2008 11:26