![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.2ベストアンサー
- 回答日時:
> With ActiveSheetは必須なのでしょうか。
動かない訳ではないのですが、明示的に指定する事を私は推奨します。
Cellsの前のピリオドが、ActiveSheetのCellsプロパティである事を表します。
With を使わないならこうなります。
Activesheet.Range(Activesheet.Cells(1, x), Activesheet.Cells(1, x + 2)).Merge
ちなみに With で括っておいて
Worksheet(S2).Range(.Cells(x, 1), .Cells(x + 2, 1)).Merge ではダメです。
アクティブシートの事なので単純に実行前にアクティブにする
S2 = "Sheet2"
Worksheets(S2).Activate
With Activesheet
For x = 1 To 9 Step 3
.Range(.Cells(1, x), .Cells(1, x + 2)).Merge
Next
End With
又は直接 With で指定する
S2 = "Sheet2"
With Worksheets(S2)
For x = 1 To 9 Step 3
.Range(.Cells(1, x), .Cells(1, x + 2)).Merge
Next
End With
No.1
- 回答日時:
"Cells(x,1):Cells(x+2,1)" が引数としておかしいのです。
With ActiveSheet
For x = 1 To 9 Step 3
.Range(.Cells(x, 1), .Cells(x + 2, 1)).Merge
Next
End With
Cellsの行列指定が違うので、そのまま直すと A1:A3、A4:A6、A7:A9を結合するけど。
この回答への補足
ありがとうございます。
Range(.Cells(x, 1), .Cells(x + 2, 1)).Merge
だとA1:A3、A4;A6になっちゃうのですか(゜o゜)
横方向に結合したいのですが、
Range(.Cells(1, x), .Cells(1, x+2)).Merge
でいいですかね。
あと、With ActiveSheetは必須なのでしょうか。
実は違うシート(sheet2)の行を結合させたいと考えてます。
With ActiveSheet
For x = 1 To 9 Step 3
Worksheet(S2).Range(.Cells(x, 1), .Cells(x + 2, 1)).Merge
Next
End With
てな感じでよろしですかね
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA横データを縦にしたいです 2 2023/08/08 19:38
- Visual Basic(VBA) 実行時エラー´5854´ 文字列型パラメーターが長すぎます。 3 2023/06/08 21:17
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Excel(エクセル) R列の1111/11/11以外、且つQ列の×の条件で該当行のAからAE列までオレンジに塗りつぶす 2 2022/07/02 10:18
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
フランスの生年月日(jj/mm/aaaa)
-
String""から型'Double'への変...
-
ACCESS DAO で不要なテーブルの...
-
オブジェクト型の変数にフォー...
-
マクロで"#N/A"のエラー行を削...
-
VBA データ(特定値)のある最...
-
python初心者です。
-
お助けください!VBAのファイル...
-
エクセルVBA 「On Error GoTo...
-
For文によるセル結合について
-
存在しないアドレスへ送信した...
-
原因不明のエラー発生 C#で困...
-
UWSCでエラー発生時の対処法に...
-
MATLABの最適化問題について
-
Excel実行時エラー[80004005]に...
-
Maximaでのエラーメッセージ
-
データベース操作時エラーについて
-
【Access】フォームを閉じる際...
-
On ErrorでエラーNoが0
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
VBAでfunctionを利用しようとし...
-
【VBA】ワークブックを開く時に...
-
マクロで"#N/A"のエラー行を削...
-
文字列内で括弧を使うには
-
実行時エラー 438 の解決策をお...
-
On ErrorでエラーNoが0
-
お助けください!VBAのファイル...
-
VBA データ(特定値)のある最...
-
インポート時のエラー「データ...
-
実行時エラー'-2147467259(8000...
-
ACCESSで値を代入できないとは?
-
VB.net 重複チェックがしたいです
-
ActiveCell.FormulaR1C1の変数
-
ApplicationとWorksheetFunctio...
-
「実行時エラー '3167' レコー...
-
【VB.NET】 パワポ操作を非表示で
-
フランスの生年月日(jj/mm/aaaa)
-
【マクロ】 IFERROR関数をマク...
おすすめ情報