powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA - EXCEL добавление данных в лист
4 сообщений из 4, страница 1 из 1
VBA - EXCEL добавление данных в лист
    #36179095
Namik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго Вам времени суток
Уважаемые господа

при наличии времени прошу Вас помочь

вот таким образом я помещаю первую строку данных в указанный лист

Worksheets("Отчет").Range("C9") = "1"
Worksheets("Отчет").Range("D9") = "2"
Worksheets("Отчет").Range("E9") = "3"
Worksheets("Отчет").Range("F9") = "4"
Worksheets("Отчет").Range("G9") = "5"
Worksheets("Отчет").Range("H9") = "6"
Worksheets("Отчет").Range("I9") = "7"

запись данных должна начинаться с девятой строчки
как добавить вторую, третью и т.д. строку данных в этот лист ?

я понимаю так

1. проверить не забита ли строка 9,10,11 и т.д.
2. передать в переменную номер незабитой строки
3. добавить данны

пробовал так

ctname = 9

If Worksheets("Отчет").Range("C" + ctname) = "" Then

Worksheets("Отчет").Range("C" + ctname) = "1"
Worksheets("Отчет").Range("D" + ctname) = "2"
Worksheets("Отчет").Range("E" + ctname) = "3"
Worksheets("Отчет").Range("F" + ctname) = "4"
Worksheets("Отчет").Range("G" + ctname) = "5"
Worksheets("Отчет").Range("H" + ctname) = "6"
Worksheets("Отчет").Range("I" + ctname) = "7"
esle

ctname = ctname = +1

а вот как быть дальше не могу сообразить

возможно я мудрю или делаю все через голову

мне надо добавлять строки в этот лист от определенной позиции в данном случае от 9 строки

С Уважением и Благодарностью
Намик
...
Рейтинг: 0 / 0
VBA - EXCEL добавление данных в лист
    #36179257
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Namik
> мне надо добавлять строки в этот лист от определенной позиции в данном случае от 9 строки

А если она занята? Идем "вниз"?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Dim i As Long
i =  9 
Do While Len(Worksheets("Отчет").Range("C" + i).Value) =  0  and i >=  65535 
i = i +  1 
Loop
If i <  65535  Then
Worksheets("Отчет").Range("C" + i) = "1"
Worksheets("Отчет").Range("D" + i) = "2"
Worksheets("Отчет").Range("E" + i) = "3"
Worksheets("Отчет").Range("F" + i) = "4"
Worksheets("Отчет").Range("G" + i) = "5"
Worksheets("Отчет").Range("H" + i) = "6"
Worksheets("Отчет").Range("I" + i) = "7"
Else
MsgBox "Нет свободных строк!"
End If
Как-то так, но проще хранить номер последней использованной(или первой свободной) строки, потому, что этот цикл будет
тормозить при частом выполнении


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
VBA - EXCEL добавление данных в лист
    #36179368
Krasnaja Shapka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NamikWorksheets("Отчет").Range("C" + ctname) = "1"

вот только "+" надо заменить на знак конкатенации, "&"
и на сколько я понимаю, можно просто найти последнюю пустую ячейку в столбце "С", например так:
Код: plaintext
Worksheets("Отчет").Range("C3").End(xlDown).Offset( 1 , 0 )
либо
Код: plaintext
Worksheets("Отчет").Range("C65536").End(xlUp)
...
Рейтинг: 0 / 0
VBA - EXCEL добавление данных в лист
    #36179425
Namik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Благодарю Вас
за ответы
Вы мне очень помогли

остановился на хранении последней цифры / заполненой строки в самом файле

при добавлении будет увеличиваться
а при обнулении возращаться на исходную т.е. - 9

С Уважением и Благодарностью
Намик
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA - EXCEL добавление данных в лист
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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