powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Смещение диапазона данных
10 сообщений из 10, страница 1 из 1
Смещение диапазона данных
    #35823180
Юрий08
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите изменить диапазон данных на -1 строку (без заголовка)
Selection.Offset(1).Resize(Rows.Count - 1).Select - после выполнения этого кода выделенный диапазон продлевается вниз до конца листа. Где я снова ошибся?

Sub CollectInfo()

Dim iTempFileName As String 'имя поочерёдно открываемого файла
Dim OriWB As Workbook 'оригинальный файл

With Application

Const DirLoc As String = "C:\Обработка филиалов СИА\"
iTempFileName = Dir(DirLoc & "*.xls")

Set OriWB = Workbooks.Open(Filename:=DirLoc & iTempFileName, ReadOnly:=True)


OriWB.Worksheets(1).Range("A1").CurrentRegion.Select

With .Worksheets(1)
Selection.Offset(1).Resize(Rows.Count - 1).Select

End With

End With

End Sub
...
Рейтинг: 0 / 0
Смещение диапазона данных
    #35823459
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юрий08,

selection.resize(selection.rows.count-1).offset(1).select


только следите, чтобы в selection было больше одной строки
...
Рейтинг: 0 / 0
Смещение диапазона данных
    #35823673
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юрий, а Вы все никак не успокоитесь))))))))
...
Рейтинг: 0 / 0
Смещение диапазона данных
    #35823964
Юрий08
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Korcar
Это только начало))

Потом мне надо будет написать в столбце "А" название файла, из которого копируются данные и скопировать его по всему диапазону)))
...
Рейтинг: 0 / 0
Смещение диапазона данных
    #35824290
Сергей06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юрий08,

Можно так:
Код: plaintext
1.
2.
3.
4.
xxx = OriWB.Worksheets( 1 ).Cells(Rows.Count,  1 ).End(xlUp).Row

With .Worksheets( 1 )
Selection.Offset(xxx).Resize(Rows.Count - xxx).Select
Только все это очень-очень не красиво.
...
Рейтинг: 0 / 0
Смещение диапазона данных
    #35824434
Юрий08
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну и пусть не красиво, зато работает)

Теперь у меня другая проблема(( В книге, куда я собираюсь копировать данные, не могу определить последнюю заполненную ячейку столбца "B" -1 ячейка.

Может кто знает, как это будет выглядеть в моем когде?
...
Рейтинг: 0 / 0
Смещение диапазона данных
    #35824502
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
данные в столбце B непрерывны? если да, то

Код: plaintext
1.
2.
  Worksheets( 1 ).Range("A:A").Select
  Selection.End(xlDown)

если нет, то End можно в цикл кинуть)
...
Рейтинг: 0 / 0
Смещение диапазона данных
    #35824557
Сергей06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юрий08,
находждение последней строки диапазона:
/topic/396213&pg=1&hl=%ed%e0%e9%f2%e8+%ef%ee%f1%eb%e5%e4%ed%fe%fe+%f1%f2%f0%ee%ea%f3+%e4%e8%e0%ef%e0%e7%ee%ed%e0

Схожая задача по формированию данных в одной книге.
http://www.sql.ru/forum/actualthread.aspx?tid=637909

Перебор файлов в папке и вложенных папках
/topic/489896&pg=2&hl=%ef%e0%ef%ea%e8#5949276

Это тоже
http://www.sql.ru/forum/actualthread.aspx?tid=367183&hl=%ef%e0%ef%ea%e8
...
Рейтинг: 0 / 0
Смещение диапазона данных
    #35825271
Юрий08
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей06

Я просматриваю все схожие задачи на форуме. Проблема в том, что я "чайник" в VBA. Что-то простое я еще могу написать (макрорекордер подскажет, если что), а чуть сложнее уже не получается. С этими объектами, свойтсвами такая путаница. То они работают, то нет.

Например, определение последней ячейки в одном рабочем примере, категорически не хочет работать в моей задаче. И так во всем.
...
Рейтинг: 0 / 0
Смещение диапазона данных
    #35826152
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну что ж за проблема то? чего непонятного то? Сергей привел ссылки на вполне понятный материал
определение номера последней строки выделенного диапазона определяется так:
Код: plaintext
1.
2.
3.
4.
  Dim i as integer

  i = ActiveSheet.Range("B:B").Find(What:="*", _
      SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row 

Если надо определить последнюю ячейку на всем листе, то пользуйтесь SpecialCells(xlLastCell)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Смещение диапазона данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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