当细胞不同细胞发生变化时,打印输出活动表

时间:2017-11-23 06:08:23

标签: excel vba excel-vba

请找到随附的快照,我的打印纸有问题。

enter image description here

我的帐号从1到60,我需要在一个页面中打印2张发票。 所以单元格值1和2在一页,2和3在第二页,依此类推。

我需要在30页内打印60张发票。

我遇到的问题是,当只有一个单元格值发生变化时,我的程序会打印出来。

请找我的程序。

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

您只有一个For和两个NextForNext需要保持平衡。只需在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

如果发票数为奇数,您可以添加一些验证。