【问题标题】:VBA iterate through list of names / Addresses to create the same invoice automaticallyVBA 遍历名称/地址列表以自动创建相同的发票
【发布时间】:2021-04-04 09:48:11
【问题描述】:

我想在 excel 中制作 97 张发票,它们的金额相同,但名称、地址和发票编号不同。

即唯一改变的单元格是发票编号(前一个的 +1)、名称(沿着工作表的列向下)和地址(也在列表的下方)。

我想出了如何使用此代码推进发票编号:

Private Sub Workbook_Open()
Range("C4").Value = Range("C4").Value + 1

End Sub

但是如何循环查看姓名和地址?

是否还有一种方法可以自动执行此操作,并将文件名保存为姓氏 + 名字 + 另一个字符串的串联?

我对 python 比较熟悉,所以 VBA 对我来说是全新的,如果这个问题的措辞不好/非常愚蠢,我很抱歉。

【问题讨论】:

    标签: vba automation invoice


    【解决方案1】:

    如果您有列表格式的名称/地址,只需遍历该列表中的所有值替换名称等。

    要自动保存/导出文件,可能是这样的:

    Dim nWb As Workbook
    Dim MyPath As String, MyFileName As String
    Dim FirstName As String, LastName As String
    
    FirstName = .Cells(x,y) -- cell with first name value
    LastName = .Cells(z,y) -- cell with last name value
    
    MyFileName = LastName & FirstName & "INPUT-WTV-VALUE"
    
    If Not Right(MyFileName, 4) = ".xlsx" Then MyFileName = MyFileName & ".xlsx"
    
    Sheets("Sheet1").Copy
    
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Where do you want to save this file?"
        .AllowMultiSelect = False
        .InitialFileName = ""
        If .Show <> -1 Then GoTo NextCode
        
    MyPath = .SelectedItems(1) & "\"
    
    End With
    
    NextCode:
    
    With ActiveWorkbook
        .SaveAs Filename:=MyPath & MyFileName, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    End With
    

    这基本上会生成你在保存文件时通常看到的弹出窗口。

    【讨论】:

      猜你喜欢
      • 2022-11-15
      • 2013-03-04
      • 2021-03-06
      • 1970-01-01
      • 1970-01-01
      • 2012-09-23
      • 2017-05-07
      • 2020-07-18
      • 2015-03-01
      相关资源
      最近更新 更多