Excel - использование адреса для копирования всего столбца, включая пробелы - PullRequest
1 голос
/ 03 июня 2011

Я пытаюсь сканировать каждый заголовок на одном листе (заголовки расположены в «1: 1»), найти заголовок «Код дилера», а затем скопировать весь столбец на другой лист.1001 *

Моя текущая проблема заключается в том, что в столбце «Код дилера» есть пробелы, поэтому выбор останавливается.Чтобы избежать этого, я бы работал снизу вверх, но поскольку ячейка заголовка хранится в адресе, я не могу извлечь букву столбца.

Есть способ включить пробелы в выборили извлеките букву столбца и работайте вверх?

Если я очень неудобно подхожу к проблеме, пожалуйста, дайте мне знать!Я хочу узнать как можно больше.

Ниже мой код.Помощь будет принята с благодарностью.

'Copies over Dealer Codes
With Sheets("Raw Data").Range("1:1")
Set c = .Find("Dealer Code", LookIn:=xlValues)
If Not c Is Nothing Then
    firstAddress = c.Address
    Do
        Set c = .FindNext(c)
    Loop While Not c Is Nothing And c.Address <> firstAddress
End If

Sheets("Raw Data").Range(firstAddress).Select
Sheets("Raw Data").Range(Selection, Selection.End(xlDown)).Select
Selection.Copy (Sheets("Copied Data").Range("A1"))
End With

1 Ответ

1 голос
/ 04 июня 2011

Попробуйте что-то вроде этого:

Sub Test()
    With ActiveSheet.Range("1:1")
    Set c = .Find("Dealer Code")
    Dim column As String
    column = Mid(c.Address, 2, 1)
    Range(column & ":" & column).Select
    End With
End Sub

Выбирает весь столбец, но его легко изменить, чтобы выбрать элементы от 2-го ряда до конца.Поскольку у вас есть пробелы, что-то вроде Range(column & "2:" & column & Range(column & "65536").End(xlUp).Row).Select работает, но немного глупо, я признаю.

Другие решения могут быть более оптимальными.

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