先日、下記のマクロの修正を教えて頂きました。
Sub 行調整()
Dim r As Range, workCell As Range
Dim n As Integer, i As Integer, existingWidth As Single
Const C As Integer = 4
Const DefaultRowHeight As Double = 27
Application.ScreenUpdating = False
For Each r In Range("B26:B60") 'MergeArea(1) B~E = C =4
If WorksheetFunction.CountIf(r.Resize(, C), "<>") > 0 Then
'値ありセル
r.Rows.AutoFit
'40行目 最終列取得行
n = Cells(40, Columns.Count).End(xlToLeft).Column + 2
For i = 0 To C - 1
If r.Offset(, i).MergeCells Then
Set workCell = Cells(r.Row, n).Offset(, i)
With workCell
existingWidth = .ColumnWidth
.Column Width = GetMaregeColumnWidth(r.Offset(, i).MergeArea)
.WrapText = True
.Font.Size = r.Offset(, i).MergeArea.Font.Size
.Value = r.Offset(, i).Value
End With
End If
Next
If Not workCell Is Nothing Then
r.RowHeight = r.RowHeight
Cells(r.Row, n).Resize(, C).Clear
Cells(r.Row, n).Resize(, C).ColumnWidth = existingWidth
Set workCell = Nothing
End If
Else
'空白行のみ
r.RowHeight = DefaultRowHeight
End If
Next
Application.ScreenUpdating = True
End Sub
Function GetMaregeColumnWidth(RngMarge As Range) As Long
Dim n As Long, r As Range
For Each r In RngMarge.Columns
n = n + r.ColumnWidth
Next
GetMaregeColumnWidth = n
End Function
このマクロを実行すると「Width」にエラーが出てしまします、解決方法を教えてください。
エラー画像を添付いたします。
又、このコードの最後に「End Sub」は必要ないのでしょうか?
重ねて教えてくください。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
こんにちは
すみません
コンパイルチェックせずに投稿してしまいました
タイプミスで .ColumnWidth が正解です
(半角スペースは要りません)
>このコードの最後に「End Sub」は必要ないのでしょうか?
Sub 行調整 実行プロシージャ と
結合セルの列幅を算出する Function プロシージャに分かれていますので
このまま 半角スペースを削除すれば機能すると思います
No.1
- 回答日時:
>.Column Width =
.Column.Width =
では?
先日の質問で CountIf関数にResizeを必要とする意味が分からなかったですね。
結合しているセルの左端を基準にしている際、結合範囲を取り出したいとの考えでしょうけど、検証してもそもそも右の3つのセルに例え指定して値を代入しても入りませんでした。
CountBlank関数で空白セルを求めると 3 と出ましたし。
Excelのバージョンによって違うのですかね。
古い2019相当の物を使ってますので最新版とは違うのかな?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロで列を加えたら上手くいかなくなりました。 2 2022/05/23 17:59
- Excel(エクセル) EXCEL マクロで行を挿入して貼り付けようとするとエラーになる。 2 2022/05/24 09:43
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Excel(エクセル) excel でグループの最後に行を追加。 3 2022/06/14 13:14
- Visual Basic(VBA) Sheet1をフィルターで「りんご」を抽出し、Sheet2へ地域を貼り付ける下記マクロを変更して S 2 2022/12/11 03:01
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
腕を見たら黄色くなってる部分...
-
彼女のことが好きすぎて彼女の...
-
中出しをするとお腹が痛い・・・。
-
白血球が多いとどんな心配があ...
-
勃起する時って痛いんですか? ...
-
尿検査の前日は自慰控えたほう...
-
検便についてです。 便は取れた...
-
これって喉仏ですか? 私は女性...
-
尿検査前日に自慰行為した時の...
-
精子が黄色?
-
EXCELで条件付き書式で空白セル...
-
小数点以下を繰り上げたものを...
-
精子に血が・・・
-
納豆食べた後の尿の納豆臭は何故?
-
2つの数値のうち、数値が小さい...
-
舌の裏の痛みのないプツプツの...
-
鏡についてです。自分の体型を...
-
リンク先のファイルを開かなく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
中出しをするとお腹が痛い・・・。
-
麻疹風疹の抗体検査結果につい...
-
エクセルでエラーが出て困って...
-
白血球が多いとどんな心配があ...
-
彼女のことが好きすぎて彼女の...
-
検便についてです。 便は取れた...
-
勃起する時って痛いんですか? ...
-
至急!尿検査前日にオナニーし...
-
納豆食べた後の尿の納豆臭は何故?
-
これって喉仏ですか? 私は女性...
-
EXCELで条件付き書式で空白セル...
-
精子が黄色?
-
小数点以下を繰り上げたものを...
-
値が入っているときだけ計算結...
-
口の中に黒い血の塊
-
健否~書類の書き方~
-
甲状腺が腫れているが血液検査...
-
はしかの抗体検査は何科の病院...
-
テスターで断線を調べる方法教...
おすすめ情報