Vba 在循环中创建工作簿
您好,我正在筛选数据并复制到新工作簿中。我无法在新工作簿中重命名为Vba 在循环中创建工作簿,vba,excel,Vba,Excel,您好,我正在筛选数据并复制到新工作簿中。我无法在新工作簿中重命名为mayday(在字符串中添加整数值),并且出现类型不匹配错误-请帮助我做什么 Sub ButtoClick() Dim wbs2 As Worksheet Dim wkb As Workbook Dim strpath As String Set wbs2 = Workbooks("Nov Collections-CF").Worksheets("Nov Collections-CF") Dim myday As Integer
mayday
(在字符串中添加整数值),并且出现类型不匹配错误
-请帮助我做什么
Sub ButtoClick()
Dim wbs2 As Worksheet
Dim wkb As Workbook
Dim strpath As String
Set wbs2 = Workbooks("Nov Collections-CF").Worksheets("Nov Collections-CF")
Dim myday As Integer
strpath = ("C:\Users\ashokkumar.d\Desktop\New folder (2)\")
ran = ThisWorkbook.ActiveSheet.Range("A1:A16")
For Each cel In ran
myday = Day(cel)
dDate = DateSerial(Year(cel), Month(cel), Day(cel))
Set wkb = Workbooks.Add
wkb.SaveAs FileName:=(strpath + "Nov Collections-CF" + myday + ".xlsx") 'Type Mismatch Error
wbs2.Range("A1:K1").AutoFilter Field:=4, Criteria1:=Format(dDate, "dd/mm/yyyy"), Operator:=xlFilterValues
wbs2.UsedRange.SpecialCells(xlCellTypeVisible).Copy
With wkb.Sheets(1).Range("A1")
.PasteSpecial xlPasteFormats
.PasteSpecial xlPasteValues
End With
wkb.Save
wkb.Close
Next
End Sub
尝试使用符号和符号连接,如下所示:
wkb.SaveAs FileName:=(strpath & "Nov Collections-CF" & myday & ".xlsx")
此外,您还可以添加转换功能:
wkb.SaveAs FileName:=(strpath & "Nov Collections-CF" & Cstr(myday) & ".xlsx")
当您试图使用“+”将数字和字符串添加到一起时,VBA可能会感到困惑 改变
wkb.SaveAs FileName:=(strpath + "Nov Collections-CF" + myday + ".xlsx")
相反地,我们必须这样做
wkb.SaveAs FileName:=(strpath & "Nov Collections-CF" & myday & ".xlsx")
如果要与
+
连接,应确保所有值都是字符串myday
被声明为整数。因此,尝试将其“字符串化”:
感谢它的工作-发生了什么事
+
运算符为什么它不工作它应该在这里失败:ran=ThisWorkbook.ActiveSheet.Range(“A1:A16”)。若要将范围分配给变量,应使用Set关键字。另外,最好用Dim声明变量ran、cel和dDate。
wkb.SaveAs Filename:=(strpath + "Nov Collections-CF" + CStr(myday) + ".xlsx")