Range是VBA的東西不屬excel而ActiveSheet.PageSetup.PrintArea這句是直接指向excel的printarea要求返回的是絕對值(如:$A$1)所以說{不能设置类PageSetup的PrintArea 属性},如果想用range來表達只要在後邊加上.address就可返回excel中的絕對值
ActiveSheet.PageSetup.PrintArea = Range(Cells(CJ + 1, 1), Cells(CQ, 14)).address就可以了
ActiveSheet.PageSetup.PrintArea = Range(Cells(CJ + 1, 1), Cells(CQ, 14)).address就可以了
------以下代码是错误的----
Private Sub OptionButton2_Click()
CJ = Application.WorksheetFunction.CountIf(Range("I:I"), "一号")
CQ = Application.WorksheetFunction.CountIf(Range("I:I"), "二号")
ActiveSheet.PageSetup.PrintArea = Range(Cells(CJ + 1, 1), Cells(CQ, 14)) 这句显示错误1004,不能设置类PageSetup的PrintArea 属性
End Sub
CJ = Application.WorksheetFunction.CountIf(Range("I:I"), "一号")
CQ = Application.WorksheetFunction.CountIf(Range("I:I"), "二号")
ActiveSheet.PageSetup.PrintArea = Range(Cells(CJ + 1, 1), Cells(CQ, 14)) 这句显示错误1004,不能设置类PageSetup的PrintArea 属性
End Sub
自动调整所有列宽
Cells.EntireColumn.AutoFit