powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / корректировка скрипта VBA
52 сообщений из 52, показаны все 3 страниц
корректировка скрипта VBA
    #37623658
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день форумчане!!!
Нашел здесь скрипт:
Код: vbnet
1.
2.
3.
4.
5.
Private Sub Worksheet_Change(ByVal Target As Range)
If (Target.Address = "$B$1") Then
ActiveSheet.Cells(1, 3) = ActiveSheet.Cells(1, 1)
End If
End Sub


Я так понял здесь условие такое, что при появлении текущего значения в ячейке B1 из ячейки A1 текущее значение переносится в ячейку C1. Скрипт мне подходит, но не совсем )))
Мне необходимо , чтобы значение переносилось из ячейки А1 (значение постоянно меняется и считывается с другого устройства) в ячейку C1, но при этом через каждые, например, полчаса. При этом каждое следующее значение должно переносится в последующую ячейку: С2,С3,С4 и т.д.. Как сделать подобное?
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37623691
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для события в определенное время Application.OnTime

Для смены ячейки - глобальную переменную-счетчик ячеек
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37623699
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я в VBA не силен ))) не знаю как код дописывать
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37623705
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Medvedoc...из ячейки А1 (значение постоянно меняется и считывается с другого устройства)...

ничего не надо никаких таймеров. в этом же событии всю логику свою пропишите. событие будет срабатывать каждый раз, когда у вас в ячейке данные меняются
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37623825
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а можите полный код написать? я пока не понимаю о чем вы говорите )))
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37623831
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
запоминайте последнюю ячеку куда скопировали, потом прибавляйте к её адресу 1 и все дела. вы уж сами тренируйтесь
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37623836
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
теоритечески я понимаю процесс ))) но вод как на Vba код написать не знаю как
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37623849
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ручками пишите, ручками. будут ошибки, приводите код ошибки, разберём.
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37623885
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
за один день все равно я не изучу vba. А мне просто необходимо сегодня начальству предоставить данное. Книгу по VBA заказал в онлайн магазине, но она придет через неделю.
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37623970
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Option Explicit
Dim CurRow As Long

Sub Start()

CurRow = 1
Application.OnTime Now, "MyProc"

End Sub
Sub MyProc()

ThisWorkbook.Worksheets(1).Cells(CurRow, 3) = ThisWorkbook.Worksheets(1).Cells(1, 1)
CurRow = CurRow + 1
Application.OnTime DateAdd("s", 1800, Now), "MyProc"

End Sub
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37623989
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вставил я в исходный код листа, но не работает. Может я не правильно чего делаю?
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624006
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если я правильно понял, то

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Option Explicit
Dim CurRow As Long

Sub Start()

CurRow = 1 - задаем начальное значение ячейки
Application.OnTime Now, "MyProc" - запускаем таймер

End Sub
Sub MyProc()

ThisWorkbook.Worksheets(1).Cells(CurRow, 3) = ThisWorkbook.Worksheets(1).Cells(1, 1) - заносим значение ячейки А1 в ячейку С1
CurRow = CurRow + 1 - переход на следующую ячейку
Application.OnTime DateAdd("s", 1800, Now), "MyProc" - таймер в 1800 сек.

End Sub
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624036
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MedvedocВставил я в исходный код листа, но не работает. Может я не правильно чего делаю?надо однократно запустить макрос "Start"
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624042
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MedvedocВставил я в исходный код листанадо вставлять в модуль
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624045
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а как это сделать?
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624053
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Medvedocа как это сделать?ЭТО - что?
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624080
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вставить в модуль
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624115
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
копипастом

следующий вопрос будет "где взять модуль"
следующий ответ - "добавить в проект"

эх
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624152
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
круто ))) я по своей глупости пытался установить код как макрос, а не как модуль. А как можно вынести как бы подобие кнопок на лист, чтобы регулировать пуск и стоп таймера
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624164
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вид - Панели инструментов - Формы
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624167
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а к ним как привязать таймер модуля?
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624171
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Medvedoc,

мой совет: сегодня, 14:36
твой вопрос: сегодня, 14:36

НУ ТЫ ПОПРОБУЙ СНАЧАЛА ХОТЯ БЫ!
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624175
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня офис 2010 )))
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624181
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Medvedocу меня офис 2010 )))а у меня - нет
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624182
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProMedvedocу меня офис 2010 )))а у меня - нетчитай хелп - как создать кнопку
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624196
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ага, нашел ))) как включать при помощи кнопки понял, а вот как выключать никак не допетрю ))) Для кнопки пуск я выбираю функцию СТАРТ, а вот для стопа нет нужной функции.
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624205
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Option Explicit
Dim CurRow As Long
Dim Runned As Boolean

Sub Start()

Runned = True
CurRow = 1
Application.OnTime Now, "MyProc"

End Sub
Sub Stopp()

Runned = False

End Sub
Sub MyProc()

If Runned Then
  ThisWorkbook.Worksheets(1).Cells(CurRow, 3) = ThisWorkbook.Worksheets(1).Cells(1, 1)
  CurRow = CurRow + 1
  Application.OnTime DateAdd("s", 1800, Now), "MyProc"
End If

End Sub
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624224
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
круто ))) голова!!!
Подскажи пожалуйста, а можно как-нибудь на листе вынести поле или ячейку для управления интервала считывания, например, не 1800 секунда, а задавать свое время - другое?
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624226
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624236
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а не подскажешь как? дописывать в модуле? если да, то что? Или создать через формы поле и привязать его к определенному участку кода?
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624261
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, подключи голову ну хоть чуть чуть.
Так сложно вместо 1800 поставить ссылку на ячейку?
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624290
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
извини, но я в VBA ПОЛНЫЙ "0".
Если я правильно понял, то в следующем куске кода:
Код: vbnet
1.
2.
3.
4.
5.
If Runned Then
  ThisWorkbook.Worksheets(1).Cells(CurRow, 3) = ThisWorkbook.Worksheets(1).Cells(1, 1)
  CurRow = CurRow + 1
  Application.OnTime DateAdd("s", 1800, Now), "MyProc"
End If


мне необходимо сделать замену следующим образом
Код: vbnet
1.
2.
3.
4.
5.
If Runned Then
  ThisWorkbook.Worksheets(1).Cells(CurRow, 3) = ThisWorkbook.Worksheets(1).Cells(1, 1)
  CurRow = CurRow + 1
  Application.OnTime DateAdd("s", С3, Now), "MyProc"
End If


или
Код: vbnet
1.
2.
3.
4.
5.
If Runned Then
  ThisWorkbook.Worksheets(1).Cells(CurRow, 3) = ThisWorkbook.Worksheets(1).Cells(1, 1)
  CurRow = CurRow + 1
  Application.OnTime DateAdd("s", ThisWorkbook.Worksheets(1).Cells(1, 3), Now), "MyProc"
End If
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624293
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
грубо говоря например в ячейке С3 буду задавать значение времени )))
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624332
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Medvedocгрубо говоря например в ячейке С3 буду задавать значение времени )))MedvedocПри этом каждое следующее значение должно переносится в последующую ячейку: С2,С3,С4 и т.д..
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624346
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я не про то ))) ну например в ячейке F6 я буду вводить значение для таймера. Тогда код получается как?
как прописать туда ячейку?
Код: vbnet
1.
2.
3.
4.
5.
If Runned Then
  ThisWorkbook.Worksheets(1).Cells(CurRow, 3) = ThisWorkbook.Worksheets(1).Cells(1, 1)
  CurRow = CurRow + 1
  Application.OnTime DateAdd("s", F6, Now), "MyProc"
End If


или
Код: vbnet
1.
2.
3.
4.
5.
If Runned Then
  ThisWorkbook.Worksheets(1).Cells(CurRow, 3) = ThisWorkbook.Worksheets(1).Cells(1, 1)
  CurRow = CurRow + 1
  Application.OnTime DateAdd("s", ThisWorkbook.Worksheets(1).Cells(6, 6), Now), "MyProc"
End If
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624359
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
второе
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624374
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо тебе огромное!!! Работает как часы )))
Теперь буду думать как дальше сделать ))) Хочу несколько параметров так считывать, а потом график вывести.
Подскажи пожалуйста, а можно вообще в excel сделать график, который будет строиться из одной ячейки, в которой значения считываются с внешнего устройства?
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624382
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
График из одного значения? Оригинально.
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624385
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MedvedocПодскажи пожалуйста, а можно вообще в excel сделать график, который будет строиться из одной ячейки, в которой значения считываются с внешнего устройства?
Так кто мешает сделать график на этом файле? Он будет автоматически перерисовываться по мере поступления данных.
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624387
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MedvedocРаботает как часы )))
Естественно, там же используется таймер
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624426
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ты меня не совсем понял ))) если не делать перенос значений из ячейки A1 в С3, а строить график напрямую из значений ячейки А1. Ведь в ней значения постоянно меняются, поскольку берутся с внешнего источника.
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624430
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А где будут храниться данные для построения графика? В некотором промежуточном месте, иначе как его построить? сейчас промеждуточное место - столбец С
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624442
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
понятно ))) самый оптимальный вариант, твой написанный модуль.
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624706
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня вопросик
Код: vbnet
1.
ThisWorkbook.Worksheets(1).Cells(CurRow, 3) = ThisWorkbook.Worksheets(1).Cells(1, 1)


судя данному коду значение ячейки А1 записывается в ячейку С3. Функция CurRow отвечает за запись. А как быть, если значение надо записать в ячейку С3?
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624728
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Судя по данному коду, значение из ячейки $A$1 (то есть всегда абсолютно из одной и той же) записывается в _столбец_ 3 (т.е. "C)" - т.е. в зависимости от значения СurRow=1,2,3,4,.. будет записываться в C1, C2, C3, C4,...

ТС, если у вас книга и придет через неделю - то клавишу F1 никто не отменял. Вам уже не один человек сказал - читайте хотя бы хелп по тем функциям/процедурам, что вам дали в коде. И по объектной модели. Иначе вы быстро окажетесь в одиночестве со своими "вопросами"...
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624756
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Получилось )))
вот код
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
Option Explicit
Dim CurRow As Long
Dim Runned As Boolean

Sub Start()

Runned = True
CurRow = 4
Application.OnTime Now, "MyProc"

End Sub
Sub Stopp()

Runned = False

End Sub
Sub MyProc()

If Runned Then
  ThisWorkbook.Worksheets(1).Cells(CurRow, 10) = ThisWorkbook.Worksheets(1).Cells(4, 2)
  ThisWorkbook.Worksheets(1).Cells(CurRow, 11) = ThisWorkbook.Worksheets(1).Cells(4, 3)
  ThisWorkbook.Worksheets(1).Cells(CurRow, 12) = ThisWorkbook.Worksheets(1).Cells(4, 4)
  ThisWorkbook.Worksheets(1).Cells(CurRow, 13) = ThisWorkbook.Worksheets(1).Cells(4, 5)
  CurRow = CurRow + 1
   Application.OnTime DateAdd("s", ThisWorkbook.Worksheets(1).Cells(6, 5), Now), "MyProc"
End If

End Sub


Получилось так как я и хотел ))) А как сделать так, чтобы при нажатии на кнопку очистить - заполненные ячейки очистились?
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624761
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может в конце добавить
Код: vbnet
1.
2.
3.
4.
5.
Sub Clear()

ThisWorkbook.Worksheets(1).Range("J4:J1000").Clear

End Sub


и создать ссылку на данный кусок кода, тогда нужный диапазон ячеек будет очищаться )))
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624763
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например:
Код: vbnet
1.
ThisWorkbook.Worksheets(1).Columns("K:N").ClearContents
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624775
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ваш вариант тоже верен, но в моем случае он не подходит, поскольку в таблице есть заголовки, а в вашем коде они явно очистятся )))
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624792
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Получился вот такой код )))
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
Option Explicit
Dim CurRow As Long
Dim Runned As Boolean

Sub Start()

Runned = True
CurRow = 4
Application.OnTime Now, "MyProc"

End Sub
Sub Stopp()

Runned = False

End Sub
Sub MyProc()

If Runned Then
  ThisWorkbook.Worksheets(1).Cells(CurRow, 10) = ThisWorkbook.Worksheets(1).Cells(4, 2)
  ThisWorkbook.Worksheets(1).Cells(CurRow, 11) = ThisWorkbook.Worksheets(1).Cells(4, 3)
  ThisWorkbook.Worksheets(1).Cells(CurRow, 12) = ThisWorkbook.Worksheets(1).Cells(4, 4)
  ThisWorkbook.Worksheets(1).Cells(CurRow, 13) = ThisWorkbook.Worksheets(1).Cells(4, 5)
  CurRow = CurRow + 1
   Application.OnTime DateAdd("s", ThisWorkbook.Worksheets(1).Cells(6, 5), Now), "MyProc"
End If

If CurRow > 10 Then
Runned = False
End If

End Sub
Sub Clear()
ThisWorkbook.Worksheets(1).Range("J4:J1000").Clear
ThisWorkbook.Worksheets(1).Range("K4:K1000").Clear
ThisWorkbook.Worksheets(1).Range("L4:L1000").Clear
ThisWorkbook.Worksheets(1).Range("M4:M1000").Clear

End Sub


У меня пару вопросов.
1 - Как в этом куске кода можно укоротить до одной строки диапазоны?
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Sub Clear()
ThisWorkbook.Worksheets(1).Range("J4:J1000").Clear
ThisWorkbook.Worksheets(1).Range("K4:K1000").Clear
ThisWorkbook.Worksheets(1).Range("L4:L1000").Clear
ThisWorkbook.Worksheets(1).Range("M4:M1000").Clear

End Sub


2 - как в данном куске кода вызвать очищение ячеек - sub Clear?
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Sub MyProc()

If Runned Then
  ThisWorkbook.Worksheets(1).Cells(CurRow, 10) = ThisWorkbook.Worksheets(1).Cells(4, 2)
  ThisWorkbook.Worksheets(1).Cells(CurRow, 11) = ThisWorkbook.Worksheets(1).Cells(4, 3)
  ThisWorkbook.Worksheets(1).Cells(CurRow, 12) = ThisWorkbook.Worksheets(1).Cells(4, 4)
  ThisWorkbook.Worksheets(1).Cells(CurRow, 13) = ThisWorkbook.Worksheets(1).Cells(4, 5)
  CurRow = CurRow + 1
   Application.OnTime DateAdd("s", ThisWorkbook.Worksheets(1).Cells(6, 5), Now), "MyProc"
End If

If CurRow > 10 Then
Runned = False
End If

End Sub
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37624799
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) .Range("J4:M1000").ClearContents
2) А зачем вызывать "очистку" при заполнении? Определите условие, _когда_ должна вызываться "очистка".
Просто же вызов процедуры - так и напишите: Clear . Ну или <имя модуля>.Clear
...
Рейтинг: 0 / 0
корректировка скрипта VBA
    #37625125
Medvedoc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем огромное спасибо за помощь!!! ))) Я доделал модуль
Привожу код и пример ниже, может кому пригодится.
Код:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
Option Explicit
Dim CurRow As Long
Dim Runned As Boolean

Sub Start()

Runned = True
CurRow = 4
ThisWorkbook.Worksheets(1).Cells(10, 2) = ""
Range("B10").Interior.ColorIndex = 0
Application.OnTime Now, "MyProc"

End Sub
Sub Stopp()

Runned = False

End Sub
Sub MyProc()

If Runned Then
  ThisWorkbook.Worksheets(1).Cells(CurRow, 10) = ThisWorkbook.Worksheets(1).Cells(4, 2)
  ThisWorkbook.Worksheets(1).Cells(CurRow, 11) = ThisWorkbook.Worksheets(1).Cells(4, 3)
  ThisWorkbook.Worksheets(1).Cells(CurRow, 12) = ThisWorkbook.Worksheets(1).Cells(4, 4)
  ThisWorkbook.Worksheets(1).Cells(CurRow, 13) = ThisWorkbook.Worksheets(1).Cells(4, 5)
  CurRow = CurRow + 1
   Application.OnTime DateAdd("s", ThisWorkbook.Worksheets(1).Cells(6, 5), Now), "MyProc"
End If

If CurRow > 200 Then
Runned = False
ThisWorkbook.Worksheets(1).Cells(10, 2) = "Вы достигли предельного значения ячеек"
Range("B10").Interior.ColorIndex = 3
Range("B10").Font.ColorIndex = 2
Application.OnTime DateAdd("s", 3, Now), "Allerm"
End If

End Sub
Sub Clear()
Range("B10").Interior.ColorIndex = 0
ThisWorkbook.Worksheets(1).Cells(10, 2) = ""
ThisWorkbook.Worksheets(1).Range("J4:J1000").Clear
ThisWorkbook.Worksheets(1).Range("K4:K1000").Clear
ThisWorkbook.Worksheets(1).Range("L4:L1000").Clear
ThisWorkbook.Worksheets(1).Range("M4:M1000").Clear
End Sub
Sub Allerm()
ThisWorkbook.Worksheets(1).Cells(10, 2) = "Сейчас произойдет сброс"
Range("B10").Interior.ColorIndex = 3
Range("B10").Font.ColorIndex = 2
Application.OnTime DateAdd("s", 3, Now), "Clear"
End Sub


Вся работа делалась на Excel 2010 )))
...
Рейтинг: 0 / 0
52 сообщений из 52, показаны все 3 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / корректировка скрипта VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]