将列宽从工作簿x工作表i复制到工作簿y工作表i

问题描述 投票:0回答:1

我正在尝试将主工作簿的列宽放入目标工作簿中。我必须进行的其他所有工作,例如工作表保护,异常范围等(请注意,我在模块的末尾应用了工作表保护)

我已经尝试了几种方法,既可以将列换为列,也可以将整个行换成其他范围,但是除了复制列宽外,它什么都不会做。

 For col = 1 To col = Input_Obj_WS.Range("A1:XX1").Columns.Count
    With Output_Obj_WS.Columns(col)
        .ColumnWidth = Output_Obj_WS.Columns(col).ColumnWidth
    End With
 Next col

我遇到了各种各样的错误,但是在最初的尝试中,我遇到了“ Range class的粘贴特殊失败”

现在,我不再遇到错误,但是它什么也没做。

excel vba
1个回答
0
投票

所以经过一些摆弄后,我开始使用它。我不认为这是最优雅的解决方案,但它现在可以使用。@Bilal感谢您的帮助

For Col = 1 To Input_Obj_WS.Range("A1:XX1").Columns.Count


    Debug.Print ("In: " & Input_Obj_WS.Columns(Col).ColumnWidth)
    Debug.Print ("Out: " & Output_Obj_WS.Columns(Col).ColumnWidth)

    Colwidth = Input_Obj_WS.Columns(Col).ColumnWidth
    Output_Obj_WS.Columns(Col).ColumnWidth = Colwidth


    Debug.Print ("Out 2: " & Output_Obj_WS.Columns(Col).ColumnWidth)


Next Col
© www.soinside.com 2019 - 2024. All rights reserved.