2012-06-09 3 views
1

У меня есть лист Excel, содержащий столбцы и несколько листов. Я хочу скопировать столбец A из Sheet1 в Sheet2. Затем, как только я скопировал столбец A, я хочу, чтобы столбец B из Sheet2 имел определенное значение (в данном случае «D»), смежное с каждой заполненной ячейкой в ​​A. Я только застрял в коде ниже.Как выполнить поиск столбца и вернуть значение в следующем столбце с определенным значением

Пример:

Лист1 содержит:

Column A  B  C 
     Arthur 1  34 
     Bertha 2  35 

Sheet2 должны иметь:

Column A  B 
     Arthur "D" 
     Bertha "D" 

Застрял с кодом:

Worksheets("Sheet1").Columns("A").Copy ActiveCell.Columns("A:A").Columns("A") 
+0

FYI: проблема с вашим кодом лежит в «ActiveCell». Как хорошая практика программирования, старайтесь избегать использования ActiveCell, ActiveSheet в макросах. Они могут быть головной болью в больших макросах. Если вы должны, просто активируйте соответствующую ячейку перед использованием этих объектов. – tumchaaditya

ответ

4

Это то, что вы пытаетесь?

Option Explicit 

Sub Sample() 
    Dim wsI As Worksheet, wsO As Worksheet 
    Dim lRow As Long 

    Set wsI = Sheets("Sheet1") 
    Set wsO = Sheets("Sheet2") 

    wsI.Columns(1).Copy wsO.Columns(1) 

    lRow = wsO.Range("A" & wsO.Rows.Count).End(xlUp).Row 

    wsO.Range("B1:B" & lRow).Value = "D" 
End Sub 
+0

'Это то, что вы пытаетесь 'Я так думаю :) – JimmyPena

Смежные вопросы