Попытался сделать ВСЛЕПУЮ. Если не будет работать, больше помочь ничем не смогу. Ваш файл ни у кого работать не будет. И проверить его работу не возможно.
А код надо смотреть не в модулях и листах а в ФОРМЕ !
Попытался сделать ВСЛЕПУЮ. Если не будет работать, больше помочь ничем не смогу. Ваш файл ни у кого работать не будет. И проверить его работу не возможно.
А код надо смотреть не в модулях и листах а в ФОРМЕ !Wasilich
Wasilic Спасибо, что хотели помочь, но я уже решил проблему с mathiax90. Он мне написал и поправил все что я хотел. Но все равно Вам спасибо что хотели помочь.
Wasilic Спасибо, что хотели помочь, но я уже решил проблему с mathiax90. Он мне написал и поправил все что я хотел. Но все равно Вам спасибо что хотели помочь.DenisR
А где конечный вариант макроса? Если вопрос в общем разделе, то решение должно быть выложено здесь же. Иначе обоим выдам замечание за нарушение п.5о Правил форума [moder]А я из природной вредности еще добавлю за что-нибудь. Ибо нефиг!
А где конечный вариант макроса? Если вопрос в общем разделе, то решение должно быть выложено здесь же. Иначе обоим выдам замечание за нарушение п.5о Правил форума [moder]А я из природной вредности еще добавлю за что-нибудь. Ибо нефиг!Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Сообщение отредактировал _Boroda_ - Четверг, 14.01.2016, 09:33
Задача оказалось следующей: Дано: Форма и макросы, которые с использованием dll получает данные с устройства непрерывным потоком. Таким образом создаются строчки таблицы. Задача: Обеспечить сохранение результатов каждые n строк. Решение: В макросе найдена часть кода ответственная за запись данных. Добавлена проверка через деление без остатка (mod) на число. В случае получения нуля (т.е. разделилось без остатка), выполняется код по сохранению копии документа и очистка для последующей записи данных.
[vba]
Код
Case "DATA" cc = countChar(data, ",")
If Row Mod CInt(TextBox1) = 0 Then Application.DisplayAlerts = False ThisWorkbook.SaveCopyAs (ThisWorkbook.Path & "\" & Format(Date, "yyyy-mm-dd") & " " & Format(Time, "HH-MM") & "_" & ThisWorkbook.Name) Application.DisplayAlerts = True Call clearSheet End If
Row = Row + 1 txtStatus2 = "Accepting data for Row " & (Row - 1)
If Row < 65000 Then For x = 1 To cc Mod 27 Worksheets(1).Range(Chr(64 + x) & CStr(Row)).Value = ReplaceData(DataVal(x)) Next End If
[/vba]
На форму добавлено текстовое поле, для ввода n - переменная - делитель для операции mod. Файл с конечным результатом в приложении.
Задача оказалось следующей: Дано: Форма и макросы, которые с использованием dll получает данные с устройства непрерывным потоком. Таким образом создаются строчки таблицы. Задача: Обеспечить сохранение результатов каждые n строк. Решение: В макросе найдена часть кода ответственная за запись данных. Добавлена проверка через деление без остатка (mod) на число. В случае получения нуля (т.е. разделилось без остатка), выполняется код по сохранению копии документа и очистка для последующей записи данных.
[vba]
Код
Case "DATA" cc = countChar(data, ",")
If Row Mod CInt(TextBox1) = 0 Then Application.DisplayAlerts = False ThisWorkbook.SaveCopyAs (ThisWorkbook.Path & "\" & Format(Date, "yyyy-mm-dd") & " " & Format(Time, "HH-MM") & "_" & ThisWorkbook.Name) Application.DisplayAlerts = True Call clearSheet End If
Row = Row + 1 txtStatus2 = "Accepting data for Row " & (Row - 1)
If Row < 65000 Then For x = 1 To cc Mod 27 Worksheets(1).Range(Chr(64 + x) & CStr(Row)).Value = ReplaceData(DataVal(x)) Next End If
[/vba]
На форму добавлено текстовое поле, для ввода n - переменная - делитель для операции mod. Файл с конечным результатом в приложении.mathiax90