user0
Дата: Понедельник, 12.06.2017, 02:46 |
Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 152
Репутация:
8
±
Замечаний:
0% ±
Excel 2013, 2016
Доброго времени, Подскажите, пожалуйста, как красиво задать автоматическое увеличение номера столбца при заполнении строки данными извне (чтобы не прходилось номера столбцов править, если понадобится вставить/передвинуть какие-нибудь столбцы)? [vba]Код
currentLine = 1 Cells(currentLine, 2).Value = session.ext_app.test.Text Cells(currentLine, 3).Value = session.ext_app.name.Text Cells(currentLine, 4).Value = session.ext_app.descr.Text .. Cells(currentLine, 50).Value = session.ext_app.some_other_fields.Text
[/vba] Пока кроме как добаления [vba]Код
currentColumn = currentColumn + 1
[/vba] после каждой строки ничего не приходит на ум.
Доброго времени, Подскажите, пожалуйста, как красиво задать автоматическое увеличение номера столбца при заполнении строки данными извне (чтобы не прходилось номера столбцов править, если понадобится вставить/передвинуть какие-нибудь столбцы)? [vba]Код
currentLine = 1 Cells(currentLine, 2).Value = session.ext_app.test.Text Cells(currentLine, 3).Value = session.ext_app.name.Text Cells(currentLine, 4).Value = session.ext_app.descr.Text .. Cells(currentLine, 50).Value = session.ext_app.some_other_fields.Text
[/vba] Пока кроме как добаления [vba]Код
currentColumn = currentColumn + 1
[/vba] после каждой строки ничего не приходит на ум. user0
Сообщение отредактировал user0 - Понедельник, 12.06.2017, 02:48
Ответить
Сообщение Доброго времени, Подскажите, пожалуйста, как красиво задать автоматическое увеличение номера столбца при заполнении строки данными извне (чтобы не прходилось номера столбцов править, если понадобится вставить/передвинуть какие-нибудь столбцы)? [vba]Код
currentLine = 1 Cells(currentLine, 2).Value = session.ext_app.test.Text Cells(currentLine, 3).Value = session.ext_app.name.Text Cells(currentLine, 4).Value = session.ext_app.descr.Text .. Cells(currentLine, 50).Value = session.ext_app.some_other_fields.Text
[/vba] Пока кроме как добаления [vba]Код
currentColumn = currentColumn + 1
[/vba] после каждой строки ничего не приходит на ум. Автор - user0 Дата добавления - 12.06.2017 в 02:46
AndreTM
Дата: Понедельник, 12.06.2017, 03:27 |
Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация:
500
±
Замечаний:
0% ±
2003 & 2010
Чтобы не писать 50 строк с "позицией вставки" - сформируй "внешние данные" в виде массива. [vba]Код
Dim a(), b() With session.ext_app a = Array(.test.Text, .Name.Text, .descr.Text, , , , , , ,.some_other_fields.Text) End With cnt = UBound(a) + 1 ReDim b(1 To 1, 1 To cnt) For i = 1 To UBound(b, 2): b(1, i) = a(i - 1): Next Cells(CurrentLine, 2).Resize(, cnt).Value = a CurrentLine = CurrentLine + 1
[/vba]Если будешь добавлять/перемещать столбцы - то только в Array() надо в нужных местах сделать исправления.
Чтобы не писать 50 строк с "позицией вставки" - сформируй "внешние данные" в виде массива. [vba]Код
Dim a(), b() With session.ext_app a = Array(.test.Text, .Name.Text, .descr.Text, , , , , , ,.some_other_fields.Text) End With cnt = UBound(a) + 1 ReDim b(1 To 1, 1 To cnt) For i = 1 To UBound(b, 2): b(1, i) = a(i - 1): Next Cells(CurrentLine, 2).Resize(, cnt).Value = a CurrentLine = CurrentLine + 1
[/vba]Если будешь добавлять/перемещать столбцы - то только в Array() надо в нужных местах сделать исправления. AndreTM
Skype: andre.tm.007 Donate: Q iwi: 9517375010
Сообщение отредактировал AndreTM - Понедельник, 12.06.2017, 03:32
Ответить
Сообщение Чтобы не писать 50 строк с "позицией вставки" - сформируй "внешние данные" в виде массива. [vba]Код
Dim a(), b() With session.ext_app a = Array(.test.Text, .Name.Text, .descr.Text, , , , , , ,.some_other_fields.Text) End With cnt = UBound(a) + 1 ReDim b(1 To 1, 1 To cnt) For i = 1 To UBound(b, 2): b(1, i) = a(i - 1): Next Cells(CurrentLine, 2).Resize(, cnt).Value = a CurrentLine = CurrentLine + 1
[/vba]Если будешь добавлять/перемещать столбцы - то только в Array() надо в нужных местах сделать исправления. Автор - AndreTM Дата добавления - 12.06.2017 в 03:27
user0
Дата: Понедельник, 12.06.2017, 04:12 |
Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 152
Репутация:
8
±
Замечаний:
0% ±
Excel 2013, 2016
Класс, спасибо, попробую такой вариант. Хотя чувствую тут больше мест где можно накосячить )
Класс, спасибо, попробую такой вариант. Хотя чувствую тут больше мест где можно накосячить ) user0
Ответить
Сообщение Класс, спасибо, попробую такой вариант. Хотя чувствую тут больше мест где можно накосячить ) Автор - user0 Дата добавления - 12.06.2017 в 04:12