• 締切済み

VBAマクロの組み方

Excelのマクロで、どのように組んだらいいのか、それがマクロで可能かどうか教えて下さい。 横一列に並んだcsvのデータをボタン一つで、選択したセル範囲全体が縦一列になる。 例) ○○○,0:12:50,△△△,0:05:40 … ○○○,0:27:32,△△△,0:30:11 … ○○○,0:08:02,△△△,1:18:12 … ○○○,0:34:17,△△△,0:19:06 … ボタンを押すと、△△△,時間 が○○○,時間 の下に移動する。 ○○○,時間  : △△△,時間  ←こんな感じ  : このようなことはできますでしょうか。

みんなの回答

回答No.2

セルという表現からすると、csvといってもエクセル上にあるデータと思ってよろしいのでしょうか? Bブロックまでならふつうにコピーすればよいように思いますが・・・。 選択範囲の右半分を切り取って下に貼り付けます。 Option Explicit Sub movedata() Dim ar As Range Dim Numblock As Long Set ar = Selection Numblock = ar.Columns.Count / 2 ar.Offset(, Numblock).Resize(, Numblock).Cut ar.Offset(ar.Rows.Count) End Sub

archer8
質問者

お礼

はい。Excel上にあるデータです。 あのようなタグで作ればいいのですね。 大変参考になりました。 書いてくださったタグを編集して使わせていただきます。 有難うございました。

回答No.1

例の内容が曖昧です。 ・横一列になっていない ・"…"の内容が不明(○と△が繰り返される?他のが出てくる?) など。 もう少し具体的に状況を教えてください。 ちなみに、マクロで可能だとは思います。

archer8
質問者

補足

言葉が足りなくて、申し訳ありません。 ・横一列になっていない ⇒同じ内容のブロックが二つある感じです。  例えば、名前,金額 というデータを取ったとします。  このデータがいくつも縦につづいていきます。  そのデータの範囲をブロックAとします。     次に同じ内容(名前,金額)のデータがAの隣のセルにあるとします。  このデータも同様に縦にどんどんデータが続いています。  このデータの範囲をブロックBとします。  この状態でマクロを使用し、ブロックAの下にブロックBを移動  することは できるでしょうか、という質問でした。

関連するQ&A