【问题标题】:How to set a range with cells? [duplicate]如何用单元格设置范围? [复制]
【发布时间】:2020-12-20 12:27:57
【问题描述】:

我想设置一个范围以适应列宽,但我想使用数字而不是字母来设置,如下所示:

myWorksheet.Range(Cells(1, 1), Cells(1, 13)).Columns.AutoFit

但我收到错误 400。

如果我使用

myWorksheet.Range("A1:M1").Columns.AutoFit

完美运行。

如何使用单元格来设置范围并进行自动调整?因为我是用变量来设置范围,不能用字母,所以只能用数字。

谢谢。

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    请尝试:

    myWorksheet.Range(myWorksheet.Cells(1, 1), myWorksheet.Cells(1, 13)).EntireColumn.AutoFit
    

    如果您的活动工作表不是myWorksheet,则范围将属于活动工作表。那么,EntireColumn 可以是 Autofit,而不是单元格范围...

    【讨论】:

    • 最好使用.Resize()修饰符。喜欢myWorksheet.Range("A1").Resize(1,13).EntireColumn.AutoFit
    【解决方案2】:

    你可以使用:

    Sub test()
      
        With ThisWorkbook.Worksheets("myWorksheet")
        
            .Range(.Cells(1, 1), .Cells(1, 13)).EntireColumn.AutoFit
            
        End With
    
    End Sub
    

    【讨论】:

      【解决方案3】:

      你必须在范围内定义单元格..

      你可以试试这个

      Dim Rg1 As Range
      Dim Rg2 As Range
      
          Set Rg1 = Cells(1, 1)
          Set Rg2 = Cells(1, 13)
      
          Range(Rg1, Rg2).EntireColumn.AutoFit
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-18
        • 2018-09-06
        • 1970-01-01
        • 2017-01-16
        相关资源
        最近更新 更多