VBAを使って列の結合を行うとしています。
内容は
・A3とA4を結合~A59とA60を結合(60まで)
という具合に、セル2つで一つの組み合わせです。
・これが列単位にA列~Y列まで同じように行おうとしています。
・一つ一つマクロで記述するとえらい手間がかかるので
簡略するマクロ文は無いでしょうか?
・また、この作業はsheet3で行おうとしています。
内容はsheet1に書かれていまして、
(A4~Y4までが1レコードでA20~Y20まであります。)
マクロで普通にsheet3にコピーをすると1レコード目の後に
2レコード目が飛んで3レコード目が次にきてしまいます。
・これはどうすればよいでしょうか?
素人であまりよく分かりません
ご教授宜しくお願いします。
No.2ベストアンサー
- 回答日時:
Sub Macro1()
name1 = Worksheets(1).Name
name3 = Worksheets(3).Name
Worksheets(3).Activate
n = 4
For r = 3 To 59 Step 2
For c = 1 To 25
Worksheets(name3).Range(Cells(r, c), Cells(r + 1, c)).Merge
Worksheets(name3).Cells(r, c).Value = Worksheets(name1).Cells(n, c)
Next
n = n + 1
Next
End Sub
ですね。
No.3
- 回答日時:
質問の表現をはっきりさせること。
私なら下記にする。
ーー
●Sheet1-->Sheet3へコピー、Sheet3でセル結合する。
言いたいことはSheet1からSheet3へデータを写すということであって
、コピー操作ではないのでは?紛らわしい。
●範囲はA3:Y60(>A20~Y20まであります、と矛盾しない?)
●セル結合は、3行目と4行目、5と6・・のようにおこなう。
●A4とA5には、それぞれデータが入っているのか?
文字列は結合もできるが、数字セルはどうするのか?
あるいはSheet1の結合前の1行データを、セル結合後のSheet3の行に入れていくのか。
●行数を2倍にするの。普通には意味がないと思うが?行幅を広げればすむのでは?
こういうのはC列8行ぐらいで質問して、回答を質問者側でY列、60行?まで広げればよい。
ーー
補足要求の返事もない場合が多いので、独断でやってみる。
例データ
Sheet1 A3:C11
a1234
b23123
c3445
d45678
e12432
f2345
g4112
h7334
コード
Sub test01()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet3")
'---
For j = 1 To 3 'C列までの例
For i = 3 To 8 * 2 + 2 Step 2 '8行の例
sh2.Range(sh2.Cells(i, j), sh2.Cells(i + 1, j)).MergeCells = True
k = Int((i - 1) / 2) + 2
sh2.Cells(i, j) = sh1.Cells(k, j)
Next i
Next j
End Sub
ーー
結果
Sheet3 A3:18
a1234
b23123
c3445
d45678
e12432
f2345
g4112
h7334
ーー
>素人であまりよく・・
質問文章の課題の説明が、あいまいと思った。VBAが判ってくると
明確に表現できるようになるもの。
マクロの記録で済むものとは随分考え方が違っているので、質問者には、荷が重いと思う。
No.1
- 回答日時:
Sub Test()
Dim i As Long
Dim j As Long
Application.ScreenUpdating = False
With Worksheets("Sheet3")
For i = 1 To 25
For j = 3 To 59 Step 2
.Range(.Cells(j, i), .Cells(j + 1, i)).Merge
Next
Next
i = 3
For j = 4 To 20
.Cells(i, 1).Resize(, 25).Value = _
Worksheets("Sheet1").Range("A" & j).Resize(, 25).Value
i = i + 2
Next
End With
Application.ScreenUpdating = True
End Sub
こんな感じの事でしょうか?
ファイルをコピーしてから試してみて下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
複数の列の値を結合して別の列へ返す
Visual Basic(VBA)
-
文字列の結合を空白行まで実行
Visual Basic(VBA)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
-
4
エクセルのマクロで結合セルに値を貼り付けたい
Excel(エクセル)
-
5
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
6
VBAで文字列を結合
Visual Basic(VBA)
-
7
エクセルVBA 4行飛ばしで転記するループ処理
Excel(エクセル)
-
8
VBAのFind関数で結合セルを検索するとヒットしない
Visual Basic(VBA)
-
9
【Excel VBA】指定行以降をクリアするには?
Visual Basic(VBA)
-
10
Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルマクロで偶数行(又は...
-
[EXCEL]ボタン押す→時刻が表に...
-
excel 小さすぎて見えないセル...
-
エクセルで特定の文字列が入っ...
-
サイズの違うセル 並べ変え
-
連続データが入った行の一番右...
-
エクセル 時間の表示形式AM/PM...
-
Openoffice calc セルの結合に...
-
VBAで行削除のできない場合がある
-
エクセルVBA 最終行を選んで並...
-
セルに値が入力されると隣りの...
-
セルの色によって条件文をつけ...
-
完全一致したら代入するマクロ...
-
エクセル 上下で列幅を変えるには
-
エクセルマクロで日本語を抽出...
-
Excelで非表示のセルをとばして...
-
エクセル2016で時間を入力して...
-
エクセルで昨日までの日付デー...
-
結合されたセルをプルダウンの...
-
AのセルとB行を比較して、一致...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の文字列が入っ...
-
【Excel関数】UNIQUE関数で"0"...
-
特定の文字がある行以外を削除...
-
エクセル マクロ オートフィ...
-
[EXCEL]ボタン押す→時刻が表に...
-
AのセルとB行を比較して、一致...
-
VBAで色の付いているセルの行削除
-
Excel グラフのプロットからデ...
-
エクセル マクロで数値が変っ...
-
excel 小さすぎて見えないセル...
-
エクセル 上下で列幅を変えるには
-
罫線の斜線を自動で引くマクロ
-
結合されたセルをプルダウンの...
-
セルの色によって条件文をつけ...
-
エクセルのマクロで意図しない...
-
エクセルVBA 最終行を選んで並...
-
excelのデータで色つき行の抽出...
-
Excelのフィルター後の一番上の...
-
エクセル 時間の表示形式AM/PM...
-
Excelでカタカナ・ひらがな・英...
おすすめ情報