美文网首页程序员
EXCEl VBA 单据批量打印之列的值拆分赋值给非连续的单元格

EXCEl VBA 单据批量打印之列的值拆分赋值给非连续的单元格

作者: 千羽之城88 | 来源:发表于2019-10-15 13:53 被阅读0次
Option Explicit

Sub FillSelection()
    Dim rng As Range
    Dim rng2 As Range
    Dim arr As Variant
    Dim i As Integer
    Dim j As Integer
    Dim cell As Variant
    Dim temp As Variant

    Set rng = Range("A1:A10")
    Set rng2 = Selection  
    If rng.Cells.Count <> rng2.Cells.Count Then
        MsgBox "Selection and References  Not Equal"
        Exit Sub
    End If

' 不能直接 rng2 = rng 
' 因为 rng 的单元格是连续的
' 而 rng2 的单元格是不连续的

j = 1
For Each cell In rng2
    For i = 1 To rng.Count
        If j = i Then
            temp = rng.Cells(i) ' 默认情况下返回单元格的值
            Exit For
        End If
    Next i
    cell.Value = temp
    Debug.Print cell.Value
    j = j + 1
Next

End Sub

选定A1:A10的区域的内容,然后分别将其复制给选定的单元格。如图:

2019-10-15 12.17.12.gif

然后是清除内容的代码:

Sub ClearSelection()
    Dim rng As Range
    Set rng = Selection
    rng.Value = ""
End Sub

如此,我们将单据的图片放入,然后制作调整单元格,覆盖单据样式。就可以实现单据批量打印了。

2019-10-15 12.50.26.gif

相关文章

网友评论

    本文标题:EXCEl VBA 单据批量打印之列的值拆分赋值给非连续的单元格

    本文链接:https://www.haomeiwen.com/subject/bzcsmctx.html