• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCELのマクロがわかりません・・・)

EXCELのマクロがわかりません

このQ&Aのポイント
  • 現在、A列にデータが並んでいるのですが、これを7つ区切りにして、別シートに行列を入れ替えて貼り付けるマクロを作っているのですが、VBは素人でわかりません。
  • 作成したマクロは、元データセルのA1からA7までをコピーして、作成データセルのB2を起点として、コピーした内容の行列入れ替えを行い貼り付け、元データのコピー範囲を7つづつ下にずらし、作成データの貼り付け起点を1つづつ下にずらして、元データのA列の最後まで繰り返すものです。
  • Range文で引っかかってしまうので、構文的におかしいかわかりません。

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

こんにちは。KenKen_SP です。 こんな感じでできますけど、行列の入れ替えに時間がかかるので 処理速度はかなり遅いですね、、 処理件数が膨大で、転記するのは値だけなら配列を使うと早く なりそうです。取り合えず。 Sub Sample()      Dim SH1    As Worksheet   Dim SH2    As Worksheet   Dim rngTARGET As Range   Dim i     As Long          Set SH1 = ThisWorkbook.Sheets("元データ")   Set SH2 = ThisWorkbook.Sheets("作成データ")      Application.ScreenUpdating = False   i = 1   Set rngTARGET = SH1.Range("A1:A7")   Do     rngTARGET.Copy     SH2.Cells(i, "B").PasteSpecial Transpose:=True     Set rngTARGET = rngTARGET.Offset(7)     i = i + 1   Loop Until rngTARGET.Cells(1, 1).Value = ""      Set rngTARGET = Nothing   Set SH1 = Nothing   Set SH2 = Nothing    End Sub

Cube172
質問者

お礼

今テストしたら出来ました! ありがとうございました!

その他の回答 (1)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

こんにちは。KenKen_SP です。 > Range("開始セル番号:終了セル番号").Select 詳しく見てませんが、取り合えず文法が違います。 Range(開始セル番号 & ":" & 終了セル番号).Select としてみては?

Cube172
質問者

お礼

ありがとうございます! なにぶん、VBを知らないもので、 基本的な文法も怪しいのです・・・ ご指摘ありがとうございました!

関連するQ&A