Создание динамического диапазона на основе значений в массиве - PullRequest
1 голос
/ 20 мая 2019

Я пытаюсь создать макрос, чтобы найти значения в указанном столбце и сохранить их местоположение для будущего использования. Значения для поиска находятся на другом листе. Конечная цель состоит в том, чтобы иметь возможность использовать массив, полный местоположений, для копирования информации из нескольких столбцов на отдельный лист.

Ниже приведен код, который создает мой список ....

Dim rng As Range
Dim TempSheet As Worksheet

'Copy list of Vendor IDs to be manipulated
sheets(4).Range("E4:E5000").Select
Set rng = Nothing
On Error Resume Next
Set rng = Selection.SpecialCells(xlCellTypeVisible)
rng.Copy
On Error GoTo 0
Set TempSheet = Sheets.Add

    TempSheet.Range("A1").Select
    Selection.PasteSpecial (xlValues)

'After Pasting values, change format to number format
[A:A].Select
With Selection
    .NumberFormat = "general"
    .Value = .Value
End With

'Remove duplicates from list
Range("A:A").RemoveDuplicates Columns:=1

Как я уже сказал ... Я даже не знаю, с чего начать следующую часть кода ...

1 Ответ

0 голосов
/ 20 мая 2019

Вы можете использовать функцию поиска, чтобы определить местоположение столбца;добавьте это в цикл ваших значений поиска:

k = .Rows(1).Find(What:=SEARCHVALUE, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).Column
'may want to look at partials... verify that
'assumed searching in only row 1 for these "headers"

С вашим известным получателем вы можете использовать значение = значение так, что:

wsd = sheets("destination")
wss = sheets("source")
wsd.columns(i).value = wss.columns(k).value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...