『AutoFit の使い方について』(栗栄太)
以下のプログラムを実行します。
Private Sub CommandButton1_Click()
Range("A1") = "AABB122A" & vbCrLf & "831" & vbCrLf & "1568"
Cells.EntireColumn.AutoFit
End Sub
実行すると表示が以下のようになるのですが
"AABB12 2A 831 1568"
以下のようにするにはどうすればいいのでしょうか?
"AABB122A 831 1568"
< 使用 Excel:Microsoft365、使用 OS:Windows11 >
または、コードでA列の幅を充分広げておけば。
(通りがかり) 2025/11/06(木) 10:07:33
Range("A1") = "AABB122A" & vbCrLf & "831" & vbCrLf & "1568"
Cells.ColumnWidth = 255
Cells.EntireColumn.AutoFit
(栗栄太) 2025/11/06(木) 10:13:00
行いたいことはボタンを押すとシート全体の中で文字が入力されているセルのオートフィットを行いたいということだろうか?
例だけであればそれこそA列の幅だけ広げればいいことなので。 (ねむねむ) 2025/11/06(木) 10:20:17
Private Sub CommandButton1_Click()
Columns("A").ColumnWidth = 100 '仮数値
Range("A1").WrapText = True
Range("A1") = "AABB122A" & vbCrLf & "831" & vbCrLf & "1568"
Columns("A").AutoFit
End Sub
(xyz) 2025/11/06(木) 10:38:12
セル内改行はvbLfでしたね。 (xyz) 2025/11/06(木) 10:47:11
Private Sub CommandButton2_Click()
Dim irow As Long, icol As Long
Dim varval As Variant
Cells.ColumnWidth = 5
Range("A1") = "AABB122A" & vbCrLf & "831" & vbCrLf & "1568"
Range("B8") = "AABB123A" & vbCrLf & "531" & vbCrLf & "1561"
Range("D10") = "AABB124A" & vbCrLf & "731" & vbCrLf & "1468"
For icol = 1 To UsedRange.Column + UsedRange.Columns.Count - 1
For irow = 1 To UsedRange.Row + UsedRange.Rows.Count - 1
If Cells(irow, icol) <> "" Then
varval = Split(Cells(irow, icol).Address, "$")
Range(varval(1) & ":" & varval(1)).ColumnWidth = 255
Range(varval(1) & ":" & varval(1)).EntireColumn.AutoFit
Exit For
End If
Next
Next
End Sub
(栗栄太) 2025/11/06(木) 10:49:21
汎用的に使うなら、標準モジュールに
Sub AutofitColumns(sh As Worksheet)
Dim col As Range
For Each col In sh.UsedRange.Columns
If Application.CountA(col) > 0 Then
col.ColumnWidth = 255
col.AutoFit
End If
Next
End Sub
などとしておきます。
シートモジュールからは、
Private Sub CommandButton1_Click()
Cells.ColumnWidth = 5
Range("A1") = "AABB122A" & vbLf & "831" & vbLf & "1568"
Range("B8") = "AABB123A" & vbLf & "531" & vbLf & "1561"
Range("D10") = "AABB124A" & vbLf & "731" & vbLf & "1468"
Call AutofitColumns(Me)
End Sub
などと使います。
(xyz) 2025/11/06(木) 13:29:47
Private Sub CommandButton2_Click()
Me.Cells.ColumnWidth = 5
On Error Resume Next
With Me.UsedRange.SpecialCells(xlCellTypeConstants)
.ColumnWidth = 255
.EntireColumn.AutoFit
End With
On Error GoTo 0
End Sub
(まっつわん) 2025/11/07(金) 10:35:20
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.