powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вставить строку на листе xl самой последней в списке
25 сообщений из 30, страница 1 из 2
Вставить строку на листе xl самой последней в списке
    #39622733
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята! подскажите как вставить строку на листе самой последней в списке?
Первой у меня получилось, а последней не могу понять как.
Код: vbnet
1.
xl.Sheets("Лист1").Rows("2:2").Insert Shift:=-4121, CopyOrigin:=0



покажите на примере!
...
Рейтинг: 0 / 0
Вставить строку на листе xl самой последней в списке
    #39622735
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Найти текущую последнюю строку и вставить после неё...
...
Рейтинг: 0 / 0
Вставить строку на листе xl самой последней в списке
    #39622739
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем вообще вставлять, если она последняя, что изменится?
...
Рейтинг: 0 / 0
Вставить строку на листе xl самой последней в списке
    #39622743
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, хотя да чего я замарачиваюсь
...
Рейтинг: 0 / 0
Вставить строку на листе xl самой последней в списке
    #39622779
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, мне надо найти последнюю заполненную строку в списке и вставить свои данные
...
Рейтинг: 0 / 0
Вставить строку на листе xl самой последней в списке
    #39622781
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
With ActiveSheet
    .Cells(.UsedRange.Rows.Count, .UsedRange.Columns.Count).Select
End With
Debug.Print ActiveCell.Address
...
Рейтинг: 0 / 0
Вставить строку на листе xl самой последней в списке
    #39622809
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One, у меня почему то вставляет в колонку с А1 до самого конца листа
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Private Sub Command2_Click()
Call open_xl 
 Set mini = xl.Workbooks.Open("путь к файлу")  

 With xl.ActiveSheet
    .Cells(.UsedRange.Rows.Count, .UsedRange.Columns.Count).Select
End With
Debug.Print xl.ActiveCell.Address
 With xl.Sheets("Лист1")
 .Range("A") = Text1 
End With

xl.Workbooks("книга").Save
 mini.Close True
End Sub



что не так делаю?
...
Рейтинг: 0 / 0
Вставить строку на листе xl самой последней в списке
    #39622813
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
xl.Sheets("Лист1").Range("A") = Text1 

А что должно было бы произойти?
...
Рейтинг: 0 / 0
Вставить строку на листе xl самой последней в списке
    #39622823
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, запись в пустую строку, в конце списка
...
Рейтинг: 0 / 0
Вставить строку на листе xl самой последней в списке
    #39622824
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, при чем выдает ошибку и приложение зависает
...
Рейтинг: 0 / 0
Вставить строку на листе xl самой последней в списке
    #39622825
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы бы почитали что-нибудь по VBA для Excel (хотя бы справочник). ваш код вообще некий диапазон заполняет неким текстом.
...
Рейтинг: 0 / 0
Вставить строку на листе xl самой последней в списке
    #39622830
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One, а так?
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Private Sub Command2_Click()
Call open_xl 
 Set mini = xl.Workbooks.Open("путь к файлу")  

 With xl.Sheets("Лист1")
 .Range("A") = Text1 
End With

xl.Workbooks("книга").Save
 mini.Close True
End Sub
...
Рейтинг: 0 / 0
Вставить строку на листе xl самой последней в списке
    #39622832
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я про этот ваш код и говорю, ерунда какая-то. сами запустите и посмотрите, что он делает.
...
Рейтинг: 0 / 0
Вставить строку на листе xl самой последней в списке
    #39622835
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One, да кое что упустил, вот
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Private Sub Command2_Click()
Call open_xl 'открываем приложение XL
 Set mini = xl.Workbooks.Open("путь")  'открываем книг
  xl.Sheets("Лист1").Rows("2:2").Insert Shift:=-4121, CopyOrigin:=0 'вставляем строку для записи
 
 With xl.Sheets("Лист1")
 .Range("A:A") = Text1 
End With

'СОХРАНЯЕМ/ЗАКРЫВАЕМ
xl.Workbooks("книга").Save
 mini.Close True
End Sub
...
Рейтинг: 0 / 0
Вставить строку на листе xl самой последней в списке
    #39622836
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
без меня, этот ваш экселевский трэш =)
...
Рейтинг: 0 / 0
Вставить строку на листе xl самой последней в списке
    #39622839
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One, только учусь, хоть какие то эмоции
...
Рейтинг: 0 / 0
Вставить строку на листе xl самой последней в списке
    #39622841
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
Код: vbnet
1.
xl.Sheets("Лист1").Range("A") = Text1 

А что должно было бы произойти?asseiShocker.Pro, запись в пустую строку, в конце спискаЗдесь написано - записать содержимое Text1 в столбец А. Где тут про пустую строку и про конец списка?
...
Рейтинг: 0 / 0
Вставить строку на листе xl самой последней в списке
    #39622902
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
assei
Код: vbnet
1.
xl.Sheets("Лист1")


Начнем с того, что у Вас полный 0 по объектной модели.
xl, судя по коду - это верхний уровень - само приложение Excel. А у него нет коллекции Sheets, она есть у объекта Workbook. Это у Вас mini.
Далее Вы зачем-то вставляете строку перед 2-ой, хотя судя по теме Вам надо хотя бы попытаться определить последнюю ячейку(где, кстати? В столбце А, В, С, на всем листе?). И уже потом вставлять туда что-то. Вы вставляете что-то абстрактное, судя по коду, пусть будет так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Private Sub Command2_Click()
Dim llastr as long, mini as object
Call open_xl 'открываем приложение XL - хрен поймешь что там у Вас открывается. Будем надеяться, что там реально Excel
 Set mini = xl.Workbooks.Open("путь")  'открываем книгу
 With mini.Sheets("Лист1")
      llastr = .Usedrange.row+usedrange.rows.count-1'определили последнюю заполненную ячейку
      'копируем и вставляем вторую строку в первую пустую
      .Rows("2:2").Copy .Range("A" & llastr+1)
End With

'СОХРАНЯЕМ/ЗАКРЫВАЕМ
'xl.Workbooks("книга").Save 'либо сохраняйте, либо закрывайте с сохранением. Что за масло масялное?
 mini.Close True
End Sub
...
Рейтинг: 0 / 0
Вставить строку на листе xl самой последней в списке
    #39622910
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist, спасибо большое, мой код сильно урезан я его урезал для лучшего восприятия. я поясню что к чему:
Код: vbnet
1.
2.
3.
4.
5.
'в модуле
Public xl As Object,  mini As Object 'объявил переменные
Public Sub open_xl() 'функция открытия приложения xl
Set xl = CreateObject("ExCel.Application")
End Sub



Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Call open_xl 'вызов функции
Set mini = xl.Workbooks.Open("путь")  'открываем книг
xl.Sheets("Лист1").Rows("2:2").Insert Shift:=-4121, CopyOrigin:=0 'здесь вставляем строку для записи, А ХОТЕЛОСЬ БЫ ЗАПИСЫВАТЬ В ПОСЛЕДНЮЮ СТРОКУ ПОСЛЕ СПИСКА КОТОРЫЙ БЫЛ РАНЕЕ СФОРМИРОВАН

With xl.Sheets("Лист1") 'данные для записи
 .Range("A2") = Text1 'ФАМИЛИЯ
 .Range("B2") = Text2 'ИМЯ
 .Range("C2") = Text3 'ОТЧЕСТВО
 .Range("D2") = Text18 'состояние
End With

xl.Workbooks("мини кридит").Save 'СОХРАНЯЕМ
 mini.Close True 'ЗАКРЫВАЕМ
End Sub



вот теперь так выглядит полный ком мой
...
Рейтинг: 0 / 0
Вставить строку на листе xl самой последней в списке
    #39622915
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asseiвот теперь так выглядит полный ком мойА теперь смотрим на мой код и исправляем свой. Если приводите в качестве примера левые коды - будьте готовы в реальных кодах делать правки самостоятельно.
...
Рейтинг: 0 / 0
Вставить строку на листе xl самой последней в списке
    #39622922
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist, ок буду пробовать. завтра я не на своем компе. СПАСИБО
...
Рейтинг: 0 / 0
Вставить строку на листе xl самой последней в списке
    #39622925
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist, не поверите это мой код, я его своими ручками писал из своей головушки причем сам, и наверное это неудачные попытки перейти с VBA на VB но он работает
...
Рейтинг: 0 / 0
Вставить строку на листе xl самой последней в списке
    #39622939
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asseiно он работаетдо поры до времени. Пока активна именно нужная книга, но на это нельзя полагаться...Учитывая, что объект mini и так есть и ему даже присваивается нужное значение - использовать xl - очень халатно.
...
Рейтинг: 0 / 0
Вставить строку на листе xl самой последней в списке
    #39623037
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist,
поясните "чайнику самоучке" ошибку выдает на
Код: vbnet
1.
usedrange

строки! что она означает
Код: vbnet
1.
llastr = .Usedrange.row+usedrange.rows.count-1'определили последнюю заполненную ячейку



и я не пойму формулировку действий!
Код: vbnet
1.
2.
'копируем и вставляем вторую строку в первую пустую!    "ЗАЧЕМ МНЕ КОПИРОВАТЬ КАКУЮ ТО ВТОРУЮ СТРОКУ В ПЕРВУЮ "
      .Rows("2:2").Copy .Range("A" & llastr+1)



у меня же в коде данные идут из текстовых полей, или все же если вы подразумеваете "вставка данных... в первую пустую"? правильно ли я вас понял?
...
Рейтинг: 0 / 0
Вставить строку на листе xl самой последней в списке
    #39623038
assei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist, пример
...
Рейтинг: 0 / 0
25 сообщений из 30, страница 1 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вставить строку на листе xl самой последней в списке
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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