とある表を整形するのにこんな記述をしているのですが
Do Until Cells(i, 13).Value = ""
If Cells(i, 14).Value <> "" And Cells(i, 15).Value <> "" Then
Rows(i).Copy
Rows(i + 1).Insert
Range("A" & i & ":A" & i + 1 & ",B" & i & ":B" & i + 1 & ",C" & i & ":C" & i + 1 _
& ",D" & i & ":D" & i + 1 & ",H" & i & ":H" & i + 1 & ",I" & i & ":I" & i + 1 & _
",J" & i & ":J" & i + 1 & ",K" & i & ":K" & i + 1 & ",L" & i & ":L" & i + 1 & _
",M" & i & ":M" & i + 1 & ",P" & i & ":P" & i + 1 & ",Q" & i & ":Q" & i + 1 & _
",R" & i & ":R" & i + 1).Merge
Union(Cells(i, 15), Cells(i + 1, 14)).ClearContents
i = i + 2
j = j + 1
Else
i = i + 1
End If
Loop
上記のA1形式での記述の部分をCELLS(R,C)で書く方法はありますか?
UNIONを使ったりいろいろ試したのですが、離れていないセルがくっついてしまうんです。
これでも問題ないのですが、A1形式があまり好きではないもので。
ダミー列を入れない方法があれば、後学のためにぜひ知りたいです。
よろしくお願いします
No.1
- 回答日時:
一例です。
clm = Split("a,b,c,d,h,i,j,k,l,m,p,q,r", ",")
For k = 0 To UBound(clm)
Cells(i,clm(k)).Resize(2).Merge
Next
この回答への補足
見栄えがよくて、動的にすることもできて、質問の意図以上のベストなアンサーなんですが
疑問がひとつ残っていまして
たとえば
Range(Cells(1, 1), Cells(3, 3)).Merge True
で横方向に3行結合できますが、縦ってできないのでしょうか?
Range("A1:A3,B1:B3,C1:C3").Merge → R1C1形式に
使い道や必要性は?と聞かれればありませんと答えるしかないのですが。
メリットは質問の例の場合、1行で13回行う結合を1回でできる。そのぶんちょっぴり速い…くらい
一般的に回答例のような記述をするのだろうというのはわかります。応用がききますし。
ただ、A1形式で記述できるのにR1C1形式だとできないなんてことはないんじゃないかと思いまして。
ただ自分が知らないだけなのか。そういう記述にそもそも対応していないのか。
どうにも気になるので、ぜひ回答お願いします
No.2ベストアンサー
- 回答日時:
NO1です。
ご回答の確認を失念していました。
>Range(Cells(1, 1), Cells(3, 3)).Merge True
>で横方向に3行結合できますが、縦ってできないのでしょうか?
>Range("A1:A3,B1:B3,C1:C3").Merge → R1C1形式に
⇒Cellsは単一セルオブジェクトしか取得できないので不可能と思います。
>A1形式で記述できるのにR1C1形式だとできないなんてことはないんじゃないかと思いまして。
⇒形式の問題ではなく、Range、Cellsのプロパティの仕様だから無理と思います。
Rangeは単一、複数(セル、セル範囲)オブジェクトを取得
Cellsは単一セルオブジェクトのみ取得
ありがとうございました、大変わかりやすかったです。
最初の回答でも不足がなかったのに、私のわがままにも付き合って頂き、重ねてお礼申し上げます。
ダブルベストアンサーです!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Excel(エクセル) VBAで “:” を含むセルの特定 2 2023/05/11 16:30
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) 【VBA】特定のワードが入っている行全体を塗りつぶしたい 4 2022/04/20 15:22
- Visual Basic(VBA) ExcelVBAの転記について 1 2022/03/23 20:13
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パワポで曲がった両矢印の簡単...
-
パワーポイント「スライドショ...
-
パワーポイントの表
-
Power pointって、スクリーンに...
-
音声マークを一括非表示にしたい。
-
パワーポイント2019 図の透...
-
パワーポイントで、プレゼン用...
-
画面写真でコピーペーストする...
-
Powerpointを用いた論文の発表...
-
【パワーポイントのフォントが...
-
パワーポイントにページ番号を...
-
COUNTIFのやり方を教えてくださ...
-
パワーポイント、四角い枠の中...
-
プレゼン時のポインター
-
PowerPoint2007を使用していま...
-
教えてgooのスマホアプリ
-
【パワポ初心者の大学生におす...
-
canvaでつくったプレゼン資料を...
-
ホワイトボード 油性マジックの...
-
Power point で、アニメって作...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パワポで曲がった両矢印の簡単...
-
パワーポイントの表
-
パワーポイント「スライドショ...
-
音声マークを一括非表示にしたい。
-
ホワイトボード 油性マジックの...
-
エクセル・パワーポイントなど...
-
パワーポイントで、プレゼン用...
-
PowerPointVBAでスライドマスタ...
-
PowerPointでスライドマスタの...
-
Power point で、アニメって作...
-
パワポ初心者で申し訳ありませ...
-
PowerPointで、作成されたファ...
-
パワーポイントで資料を作る時 ...
-
【パワーポイントのフォントが...
-
パワーポイントのアニメーショ...
-
ExcelのグラフをPowerPointに貼...
-
パワーポイント2019 図の透...
-
パワーポイントで、全てのスラ...
-
PowerPointのアニメーションで...
-
PowerPointで、線を点滅した感...
おすすめ情報