VBA如何操作新建的工作簿?

大神们,我用VBA新建了一个工作簿,并用代码在新工作簿中粘贴了表格,想设置几列为自动列宽时却不能成功,它是活动工作簿啊,这怎么回事儿,请指教!... 大神们,我用VBA新建了一个工作簿,并用代码在新工作簿中粘贴了表格,想设置几列为自动列宽时却不能成功,它是活动工作簿啊,这怎么回事儿,请指教! 展开
 我来答
coolbi5
推荐于2017-12-16 · TA获得超过1万个赞
知道大有可为答主
回答量:1.1万
采纳率:35%
帮助的人:2438万
展开全部

你是咋个新建的,用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

不然调整的就是代码所在 工作簿的表
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式