VBA如何操作新建的工作簿?
大神们,我用VBA新建了一个工作簿,并用代码在新工作簿中粘贴了表格,想设置几列为自动列宽时却不能成功,它是活动工作簿啊,这怎么回事儿,请指教!...
大神们,我用VBA新建了一个工作簿,并用代码在新工作簿中粘贴了表格,想设置几列为自动列宽时却不能成功,它是活动工作簿啊,这怎么回事儿,请指教!
展开
1个回答
展开全部
你是咋个新建的,用activeworkbook 这种不好控制,最好把添加工作簿赋值给一个对象变量。我弄了段添加工作簿代码,你参考一下。
Option Explicit
Sub wb_add()
Dim wb As Workbook
Set wb = Application.Workbooks.Add
With wb.Sheets(1)
.Name = "test"
.Range("a1:e1") = Array(1, 2, 3, 4, 5, 6)
.Columns("a:e").AutoFit'根据内容调整列宽
End With
wb.SaveAs "e:\test.xlsx"
wb.Close False
Set wb = Nothing
End Sub
更多追问追答
追问
Set wb = Application.Workbooks.Add
ActiveSheet.Paste
Columns("B:F").AutoFit
wb.SaveAs Filename:=lj & "\" & mz & ".xls"
ActiveWindow.Close
您给看看, 代码Columns("B:F").AutoFit 运行后列宽并没有调整。
追答
这个前面 加上
wb.sheets("目标表格").Columns("B:F").AutoFit
不然调整的就是代码所在 工作簿的表
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询