2017-08-21 13 views
0

私が書いたコードを拡張しようとする際に問題があります。私が下に貼り付けたコードは、現在意図したとおりに動作しています。私が持っている問題は、私が "P2"セルを可変にしようとしていることです。本質的には、ループ内の( "K" &)セルをシート上のP2からAA2までの範囲のすべての日付と比較しようとしています。次に、月と年が一致する場合は、一致した対応する列にデータを貼り付けます。私は列参照Pを別の整数に置き換えようとしましたが、ネストされたループを正しく機能させることができませんでした。変数として列を設定する別の方法はありますか?ご協力ありがとうございました。既存のループの内側から27ネストされたループで列変数を変更する

Sub Test() 
Dim i As Integer 

Sheets("Sheet1").Select 

For i = 3 To 6 

    If Month(Range("K" & i)) = Month(Range("P2")) And Year(Range("K" & i)) = Year(Range("P2")) And Range("J" & i).Value > "0" Then 

     Range("J" & i).Copy 
     Range("P" & i).PasteSpecial xlPasteValues 

    End If 

Next i 


End Sub 
+0

はまだコメント解除されることになって、「場合終了」となっていますか? –

+0

'Application.WorskSheetFunction.Match()'を使って正しい列を探します。それを使って列を設定します。 –

答えて

1
カラムによる

ジャストループ16:

Sub Test() 
Dim i As Integer 

Sheets("Sheet1").Select 

For i = 3 To 6 
    'loop columns p through aa 
    For k = 16 to 27 

     'Instead of Range() we are using Cell() to refer to the column variabl-y... Cells(<rownum>,<columnnum>) 
     If Month(Range("K" & i)) = Month(Cells(2,k)) And Year(Range("K" & i)) = Year(Cells(2,k)) And Range("J" & i).Value > "0" Then 

      Range("J" & i).Copy 
      Cells(i,k).PasteSpecial xlPasteValues 

     End If 
    Next k 

Next i 


End Sub 
+0

LOL 'variabl-y' +1 – YowE3K

関連する問題