Ben*_*ico 10 excel vba excel-vba
这只是我的代码的一部分.此处文本框中的值已经被复制到银行认证工作表中的特定单元格.无论文本框中输入的文本长度如何,我都需要确保单元格C5是特定的.我尝试与细胞交换范围无济于事.这个问题看起来很简单,但我不知道为什么它不起作用......
Dim counterparty As String
counterparty = Sheet1.txt1.Text
Range("C5").Value = counterparty
Sheets("Bank Certification").Select
Range("C5").Select
Selection.AutoFit
Run Code Online (Sandbox Code Playgroud)
尝试
Dim counterparty As String
counterparty = Sheet1.txt1.Text
Range("C5").Value = counterparty
Sheets("Bank Certification").Select
Columns("C:C").Autofit
Run Code Online (Sandbox Code Playgroud)
其他答案正确指出,“自动调整”必须与列一起使用,而不仅仅是单元格。但是,在开始实验之前,我对使用AutoFit有一些细微的了解。
下面的前两个语句中的任何一个都将使用C列中的所有值来自动调整该列的宽度。这意味着,如果列C中其他某个单元格中的值(例如C10)比列C5中的值宽,它将使该列适合列C中最宽的单元格(例如C10)。
Range("C5").EntireColumn.AutoFit ' Will fit to widest cell in column
Range("C:C").AutoFit ' Will fit to widest cell in column
Run Code Online (Sandbox Code Playgroud)
如果你想只适合在列1个单元格(或一定范围内的细胞,但不整列或列),使用这样的语句:
Range("C5").Columns.AutoFit ' Will fit column C to width of cell C5
Run Code Online (Sandbox Code Playgroud)
当然,在可能的情况下,编写这样的代码总是更好的形式:
例如:
Workbooks("MyWorkbook.xlsm").Sheets("Sheet1").Range("MyData").Columns.AutoFit
' or
Set AutoFitRange = Workbooks("MyWorkbook.xlsm").Sheets("Sheet1").Range("C5")
AutoFitRange.Columns.AutoFit
Run Code Online (Sandbox Code Playgroud)