整个表格的内容由填写序号的单元格引发变化,每变化一次另存为pdf,并将其中一个单元格的值作为pdf的文件名
一、错误写法
Sub 另存并重命名PDF()
Dim i As Integer
Dim n As String
For i = 1 To 10
Sheets("sheet1").Range("A2:D2").Value = i
n = Sheets("sheet1").Range("A4:F4").Value
Sheets(Array("sheet1")).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"要保存的文件夹地址" & n & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Next
End Sub
运行会报错:
错误‘13’:类型不匹配
n = Sheets(“sheet1”).Range(“A4:F4”).Value
这句会标高亮。
点击帮助,跳到官网的文档,看大意,应该这句的右边和左边类型不符,不能赋值。
二、修改参考

本文介绍了在VBA中遇到的类型不匹配错误,通过分析错误原因和参考示例,纠正了使用Range对象进行单元格赋值的方法。强调在处理单元格或区域时,应使用区域左上角单元格来代表整个区域,以避免类似错误。正确做法对于用单元格值重命名PDF文件至关重要。

5759

被折叠的 条评论
为什么被折叠?



