Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4282 / 13644 ツリー ←次へ | 前へ→

【57491】データ転記で ド初心者 08/8/27(水) 17:21 質問[未読]
【57497】Re:データ転記で かみちゃん 08/8/27(水) 23:59 発言[未読]
【57521】かみちゃん さん ド初心者 08/8/28(木) 22:21 お礼[未読]
【57510】Re:データ転記で りった 08/8/28(木) 15:08 回答[未読]
【57522】りったさん ド初心者 08/8/28(木) 22:27 お礼[未読]

【57491】データ転記で
質問  ド初心者  - 08/8/27(水) 17:21 -

引用なし
パスワード
   元のシートのA列のデータ1000件以上を、転記先シートのB列に転記します。
そこで、転記先のシートのB列は3行分結合したセルにしながら
1000件以上分のデータを転記できるようにしたいのです。

最初に転記先のシートのセルを結合してからでも
データを入れたあとに結合のどちらでもよいのですが

結合しないセルのシートであれば何とか転記はできるのですが
ド初心者の私にはさっぱり分からず困っています。
どなたか教えてくださいませんか^^;

よろしくお願いします。

【57497】Re:データ転記で
発言  かみちゃん  - 08/8/27(水) 23:59 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>元のシートのA列のデータ1000件以上を、転記先シートのB列に転記します。
>そこで、転記先のシートのB列は3行分結合したセルにしながら
>1000件以上分のデータを転記できるようにしたいのです。

手作業でするなら、どのようにしますか?
1000件というのが、1000行のデータとした場合、
単純にA列の1000行をB列に転記して、3行ずつ結合すると、
2行目と3行目のデータはなくなってしまうように思うのですが、いかがですか?

また、ド初心者とおっしゃっていますが、その結合どうしてもする必要があるのですか?
初心者のみならず、結合セルをVBAで扱うときは、最新の注意をしてVBAコードを書かないと
相性が悪く、うまく動かないことが多いので、個人的には、必要最小限できれば
結合セルは、VBAで扱わないことをしたほうがいいと思います。

【57510】Re:データ転記で
回答  りった  - 08/8/28(木) 15:08 -

引用なし
パスワード
   かみちゃんの仰るとおり結合セルは極力使わないべきですが、
使わないようにする権限が自分に無い場合も有るので、
サンプルコードを送ります。
やりたいのはこういうことですか?
尚、「Merge」等はマクロの記録で解かるので、聞くより記録したほうが早いです。

Sub データ転送()
 Dim wsIn As Worksheet
 Dim wsOut As Worksheet
 Dim iMax As Long
 Dim i As Long

 Set wsIn = Worksheets("Sheet1")
 Set wsOut = Worksheets("Sheet2")
 
 iMax = wsIn.Range("A65536").End(xlUp).Row
 For i = 1 To iMax
  wsOut.Range("B" & (i - 1) * 3 + 1).Value = wsIn.Range("A" & i)
  wsOut.Range(wsOut.Range("B" & (i - 1) * 3 + 1), wsOut.Range("B" & (i - 1) * 3 + 1 + 2)).Merge
 Next
End Sub

【57521】かみちゃん さん
お礼  ド初心者  - 08/8/28(木) 22:21 -

引用なし
パスワード
   レスありがとうございます

なるべく結合セルは扱わない方がよいとわかってはいるのですが
仕事上使わなくてはならず困っていました。

アドバイスありがとうございました。

【57522】りったさん
お礼  ド初心者  - 08/8/28(木) 22:27 -

引用なし
パスワード
   ご親切にサンプルコードありがとうございました。

とても助かりました。

早速やってみます☆

4282 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free