Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Макрос "не видит" внесенных изменений?, вношу изменения в макрос, а выполняется он без них
 
Здравствуйте.
Возникла интересная и абсолютно непонятная проблема...
Есть несколько макросов, старые уже, проверенные - отлично работают. Вношу в любой из них некоторые изменения, сохраняю, запускаю - а запускается макрос в первоначальном варианте, без учета изменений, будто откуда-то из памяти старый вариант берет.
Пример такой: была опечатка "мАсец", поправлено на "мЕсяц", сохранено, при запуске пишет "мАсец", при первом запуске макроса ищет последнюю строку в таблице, а при втором не ищет, а берет значение после первого запуска. Перезагружаешь Excel - не помогает, перезагружаешь комп - все отлично, пишет "мЕсяц", ищет новую последнюю строку.
Как такое вообще возможно? Еще вчера все работало... Может настройки где-то сбились, или вирус поймался? Что случилось? Подскажите пожалуйста, как это вылечить? Это ж с ума сойдешь после каждого запуска макроса комп перезагружать, тем более что нужен он по 20 раз за день...
Программно выбрать диапазоны данных для графика
 
Здравствуйте.

Возникла проблема с диапазоном данных для графика (вместо графика получается 1 точка). Не понимаю, как ее решить или обойти...
Есть много листов с данными, и на каждом листе необходимо построить график. Количество точек на графике всегда разное, соответственно разные диапазоны данных.
Пишу:
Код
For...........
    x = Chr(34) & "='" & List & "'!$A$" & Nachalo_Diapazona & ":$A$" & Konec_Diapazona  & Chr(34)
    y = Chr(34) & "='" & List & "'!$Q$" & Nachalo_Diapazona & ":$Q$" & Konec_Diapazona & Chr(34)

' получаем: x = "='2013'!$A$5:$A$12"
                    y = "='2013'!$Q$5:$Q$12"

    ActiveSheet.Shapes.AddChart.Select
    ActiveChart.ChartType = xlXYScatter
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(1).Name = "График такой-то"
    ActiveChart.SeriesCollection(1).XValues = x 
    ActiveChart.SeriesCollection(1).Values =  y 
Next

И ГРАФИК НЕ ПОЛУЧАЕТСЯ, получается  1  точка вместо нескольких.
Если задать вместо x и у их значения:
   ActiveChart.SeriesCollection(1).XValues = "='2013'!$A$5:$A$12"
   ActiveChart.SeriesCollection(1).Values =  "='2013'!$Q$5:$Q$12"

График строится.

Подскажите, пожалуйста, ЧТО НЕ ТАК? ГДЕ ОШИБКА?
Оптимизация If-End if
 
Здравствуйте.
Вопрос глупый, но никак не могу сообразить что с этим можно сделать...
Вводятся значения переменных от a1 до e5 (т.е. их 25 - безобразно много) и в зависимости от их значения нужно скопировать данные с разных листов другой книги).
Пишу топорно, через If-Elseif-End If и получаю непомерно громоздкого и жутко неудобного монстра, который, к тому же, с учетом кучи других записей в макросе, оказывается больше разрешенного размера.

  If (A1 = 1 And b1 = 1 And c1 = 1 And d1 = 1 And e1 = 1) Or (a2 = 1 And b2 = 1 And c2 = 1 And d2 = 1 And e2 = 1) _
  Or (a3 = 1 And b3 = 1 And c3 = 1 And d3 = 1 And e3 = 1) Or (a4 = 1 And b4 = 1 And c4 = 1 And d4 = 1 And e4 = 1) _
  Or (a5 = 1 And b5 = 1 And c5 = 1 And d5 = 1 And e5 = 1) Then
     Sheets("5").Activate
  ElseIf (A1 = 1 And b1 = 1 And c1 = 1 And d1 = 1 And e1 = 0) Or (a2 = 1 And b2 = 1 And c2 = 1 And d2 = 1 And e2 = 0) _
  Or (a3 = 1 And b3 = 1 And c3 = 1 And d3 = 1 And e3 = 0) Or (a4 = 1 And b4 = 1 And c4 = 1 And d4 = 1 And e4 = 0) _
  Or (a5 = 1 And b5 = 1 And c5 = 1 And d5 = 1 And e5 = 0) Then
     Sheets("6").Activate
  ElseIf (A1 = 1 And b1 = 1 And c1 = 1 And d1 = 0 And e1 = 1) Or (a2 = 1 And b2 = 1 And c2 = 1 And d2 = 0 And e2 = 1) _
  Or (a3 = 1 And b3 = 1 And c3 = 1 And d3 = 0 And e3 = 1) Or (a4 = 1 And b4 = 1 And c4 = 1 And d4 = 0 And e4 = 1) _
  Or (a5 = 1 And b5 = 1 And c5 = 1 And d5 = 0 And e5 = 1) Then
     Sheets("7").Activate.............и т.д., и т.п.

Дробить макрос не хочется, да и эту запись очень хотелось бы как-то оптимизировать, не знаю - как...
Добрые умные люди, подскажите, пожалуйста.
Одинаковый цикл работает по-разному, почему?
 
Здравствуйте!
При написании макроса возникла такая проблема: нужно найти в таблице строку с определенным текстом (текст является частью формулы) и для этой строки выполнить некоторые действия.
Пишу в упрощенном варианте следующее:
iRow1 = 1
iRow2 = 100
For i = iRow1 To iRow2
Set Klass = Cells(i, 1).Find(What:="Фактического количество", LookAt:=xlPart)
If Klass Is Nothing Then
Cells(i, "L") = "K1"
Else
Cells(i, "L") = "K2"
End If
Next
и код ничего не находит... :-(
Причем структура кода скопирована из этого же макроса, где прекрасно работала, а тут почему-то оказывается... Подскажите, пожалуйста, в чем дело!
Сравнение дат, Как записать дату на год раньше указанной в ячейке?
 
Здравствуйте
В ячейках записаны дата1 и дата2 (всегда разные) стоит задача сравнить дату1 с датой2 и датой на год раньше даты2
Пишу:
Data2ранее = DateAdd("yyyy", -1, Data2)
If Data1 < Data2 and Data1 > Data2ранее Then
....
End If
На Data2ранее не реагирует.
Подскажите, пожалуйста, как это сделать?
Страницы: 1
Наверх