2017-11-23 1 views
0

添付のスナップショットを参照してください。プリントシートに問題があります。セルが異なるセルを交換するときにアクティブシートをプリントする

enter image description here

Iは1から60まで口座番号を持って、私は単一のページに2枚の請求書を印刷する必要があります。 セル値1と2は1ページ、2と3は2ページ目などです。

30ページに60枚の請求書を印刷する必要があります。

私は、1つのセル値だけが変更されたときに私のプログラムが印刷するという問題に直面しています。

私のプログラムを見つけてください。

Sub Button3_Click() 
    Dim i As Integer 
    Dim VList As Variant 
    VList = Array("1", "2", "3", "4", "5") 
    For i = LBound(VList) To UBound(VList) 
    Range("F52") = VList(i) 'first cell value 
     Next 
    Range("F84") = VList(i) 'second cell value 

    Next 
    ActiveSheet.PrintOut 
End Sub 
+0

「For」と「Next」の2つだけです。 'For'と' Next'はバランスをとる必要があります。 'For'でiを2だけインクリメントし、VList(i)とVList(i + 1)を使用します。 –

答えて

0

これが完全なコードの場合、なぜあなたが配列を使用しているのかわかりません!

このコードを試してください。

Sub Button3_Click() 
    Dim i As Integer 

    For i = 1 To 60 Step 2 

     Select Case i 
     Case 7, 21, 34, 49 
     Case Else 
      Range("F52") = i 'first cell value if i=6 
      Range("F84") = i + 1 'second cell value i+1 = 7 So code fails to check 
     End Select 
    Next 
    ActiveSheet.PrintOut 
    End Sub 
+0

あなたのコードのためのImranありがとうございますが、私は1から60までのいくつかの数字をスキップしたいと思います。例えば、1から60、 "7" "21" "34"、 "49"だから私は特定の番号を設定するために配列を使いました。手伝ってくれませんか。 –

+0

@MahanteshAmbole私は答えを更新しました。 –

0

は1つだけですForと2 Nextを持っています。 ForNextのバランスをとる必要があります。 Forでiを2だけ増分し、VList(i)VList(i+1)を使用してください。

Sub Button3_Click() 
    Dim i As Integer 
    Dim VList As Variant 
    VList = Array("1", "2", "3", "4", "5") 
    For i = LBound(VList) To UBound(VList) Step 2 
     Range("F52") = VList(i) 'first cell value 
     Range("F84") = VList(i+1) 'second cell value 
    Next 
    ActiveSheet.PrintOut 
End Sub 

奇数の請求書の場合には、いくつかの検証を追加することをお勧めします。

関連する問題