Найти первый ряд и последний ряд доступных данных - PullRequest
0 голосов
/ 30 апреля 2020

Я настроил макрос, который просматривает другую рабочую книгу, копирует 1-й лист этой рабочей книги и переносит его в исходную рабочую книгу. Код работает нормально, но я хотел бы добавить дополнительные логи c, которые автоматически находят первую и последнюю строки доступных исходных данных. В настоящее время он настроен так, что код копирует все, начиная с ячейки «А1» до последней строки. Но я хотел бы убедиться, что в случаях, когда данные начинаются, например, «B2», я хочу, чтобы код распознал это и проигнорировал строку A и ввел все, что начинается с «B2» до последней строки, и вставил все в исходный текст. Рабочая тетрадь, начиная с ячейки А1 ... Надеюсь, что рисует картину. Часть кода ниже: Спасибо всем.

If myFile Like "*Import*" then
Set wb = workbooks.open(fileName:=myPath & myFile)
With wb.sheets(1)
lrow = .Range("A" & Rows.Count).End(xlUp).Row
.Range("A1:XFD" & lRow).copy ws4.Range("A1")
end if

1 Ответ

0 голосов
/ 01 мая 2020

Я думаю, вы, возможно, ищете UsedRange, который можно использовать, например,

Sub testmeout()
    Dim copy_ws As Worksheet, to_ws As Worksheet
    Set copy_ws = Worksheets(1)
    Set to_ws = Worksheets(2)

    ' use range value assignment of equal sizes for instant copy and paste
    ' (no format though)
    Dim copy_rng As Range, to_rng As Range

    Set copy_rng = copy_ws.UsedRange
    Set to_rng = to_ws.Cells(1, 1).Resize(copy_rng.Rows.Count, copy_rng.Columns.Count)
    to_rng = copy_rng.Value

End Sub

. Вы также можете проверить ActiveWorksheet.UsedRange.Address в вашем непосредственном окне (Ctrl + G в редакторе), чтобы увидеть Точный диапазон перед запуском.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...