2017-09-25 10 views
0

私はVBAに関しては初心者であり、助けてください。リストから別のシートに一度に1つのセルをコピーして貼り付けてください

私は1枚のシートを1枚ずつ別のシートにコピーしようとしています。これは、リスト(シート「リスト」)から1つのセル(アカウント番号)をコピーして、別のシート(「分析」)である所定のセルに貼り付け、プログラムからデータを抽出するコードを実行するためです。リストが終わるまで、そのリスト内のすべてのアカウント番号に対してこのプロセスを繰り返す必要があります。このリストのアカウント数は定期的に変更されます。口座番号は、常に、私はデータを抽出するために使用していたコードがあるセル「F2」に

に入ったリストを

Range("F2").Select 
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
    :=False, Transpose:=False 
Application.Run "'Option holding.xls'!SecurityDistribution" 

enter image description here

+0

あなたはループに精通していますか?これはまさにあなたが各セルを反復することによって何をしようとしているのかです。 For EachループまたはForループを使用できます。最後の行を動的に見つけることは、ループの一部になると便利です(例: i = 2〜LastRowの場合は、最後の行変数を定義しています。 – Cyril

答えて

0

ループとマクロ

Sub Do_It() 
    Dim Sh As Worksheet, ws As Worksheet 
    Dim Rng As Range, LstRw As Long 
    Dim F1 As Range, c As Range 

    Set Sh = Sheets("Transaction Analysis") 
    Set F1 = Sh.Range("F1") 
    Set ws = Sheets("List") 
    With ws 
     LstRw = .Cells(.Rows.Count, "A").End(xlUp).Row 
     Set Rng = .Range("A2:A" & LstRw) 
     For Each c In Rng.Cells 
      F1.Value = c 
      MsgBox "Call Macro Here" 
     Next c 
    End With 
End Sub 
を呼び出します
関連する問題