Здравствуйте!
Знатоки, помогите, пожалуйста, в решении проблемы:
макрос импортирует данные из файла .csv и вставляет их в ячейки текущего столбца ниже 12-ой строки.
Эти ячейки могут быть без данных, и тогда проблем нет; или с данными - тогда нужно спросить пользователя, перезаписывать их или нет.
КОД(Import) как раз и отвечает за импорт данных. Это не совсем маленький код, и вставлять его два раза - неспортивно.
Вопрос: какие есть варианты?
Запись КОДа(Import) в отдельную функцию у меня не получился.
Сейчас пока работает так:
Знатоки, помогите, пожалуйста, в решении проблемы:
макрос импортирует данные из файла .csv и вставляет их в ячейки текущего столбца ниже 12-ой строки.
Эти ячейки могут быть без данных, и тогда проблем нет; или с данными - тогда нужно спросить пользователя, перезаписывать их или нет.
КОД(Import) как раз и отвечает за импорт данных. Это не совсем маленький код, и вставлять его два раза - неспортивно.
Вопрос: какие есть варианты?
Запись КОДа(Import) в отдельную функцию у меня не получился.
Сейчас пока работает так:
Код |
---|
'код в модуль листа. Для выполнения даблкликнуть ячейку в третьей строке ' Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim lLastRow As Integer Cancel = True lLastRow = Cells(Rows.Count, Target.Column).End(xlUp).Row If Target.Row <> 3 Then Exit Sub ' если активная ячейка не принадлежит 3-й строке, ничего не делать If lLastRow > 12 Then ' если последняя заполненная ячейка расположена ниже 12-ой строки текущего столбца, 'значит, в ячейках есть данные, которые будут заменены при выполнении КОДа(Import). Выводим сообщение: Select Case MsgBox("Переписать существующие данные?", vbYesNo + vbQuestion + vbDefaultButton2, "Внимание!") Case vbNo MsgBox ("ОК, ничего не меняем, все оставляем как есть.") Exit Sub Case vbYes MsgBox ("Перезаписываю данные...") '-------------------- ' КОД(Import) '-------------------- End Select Else ' если lLastRow =<12, ячейки без данных, можно без вопросов импортировать в них данные: '-------------------- ' КОД(Import) '-------------------- End If End Sub |