2017-05-19 6 views
1

最初の行に "Est#"の列を選択し、列全体を新しい列に貼り付けるマクロを作成しようとしています。VBAループスルー列

は、私が知っているどのように行をループする:

Sub test() 
Dim i As Integer 
For i = 1 To 100 
    If Range("C" & i) = "All values USD Millions." Then 
     Range("C" & i & ":H" & i).Delete 
    Else 
     Range("A3").Select 
    End If 
Next 
End Sub 

問題がある列は、文字ではなく数字を持っているので、私は、私は最初の30列をループしエスト」と列を貼り付けることができます方法がわからないと思っています# "をRange(" CA:CA ")に変換します。

答えて

2

検索はここ

Sub test() 

Dim c As Long 

For c = 1 To 30 
    If Cells(1, c).Value = "Est #" Then 
     Cells(1, c).EntireColumn.Copy Cells(1, "CA") 
    End If 
Next 

End Sub 

、より効率的であるが、あなたは、このようにそれを行うことは、Findメソッド

Sub test() 

Dim rFind As Range 

Set rFind = Range("A1").Resize(, 30).Find(What:="Est #", Lookat:=xlWhole, MatchCase:=False, SearchFormat:=False) 

If Not rFind Is Nothing Then 
    rFind.EntireColumn.Copy Cells(1, "CA") 
End If 

End Sub 
です
関連する問題