アプリ版:「スタンプのみでお礼する」機能のリリースについて

添付の表1のように1行にAからHまで8項目が15回繰り返しているデータがあり
これを別シートに添付の表2のように並べ替えてコピーしたいのですが
1つ1つセルを指定してvbaを手入力していくのではかなり工数がかかるので
最初のA1のセルを指定したら、あとは変数などで15回繰り返すようにできたらいいのですが
分かりません。

教えてください。

「列方向に移動してコピーの繰り返し vba」の質問画像

質問者からの補足コメント

  • ご回答いただきありがとうございます。
    表2は既存の別シートに作成したいのですが、
    このままでも大丈夫なのでしょうか?

    No.2の回答に寄せられた補足コメントです。 補足日時:2019/04/02 13:24

A 回答 (3件)

VBAで なければ、


駄目ですか?

数式で 簡単に、
実現 可能ですが?
    • good
    • 0

No.1です


間違えました。for文の中は以下にしてください

resultList(i, j) = paramList(1, ((j - 1) * 15) + i)
この回答への補足あり
    • good
    • 0
この回答へのお礼

ご回答いただきありがとうございます。
表2は既存の別シートに作成したいのですが、
このままでも大丈夫なのでしょうか?

お礼日時:2019/03/28 09:07

実機で試してないので細かなミスはあるかもしれませんが以下のような感じでいかがでしょう



sub convert()

dim paramList as Variant
paramList = Range(表1のエリア)

dim resultList(1 to 15, 1 to 8) as Variant

dim i as Long,j as Long
for i = 1 to Ubound(resultList)
for j = 1 to Ubound(resultList,2)
result(i,j) = paramList(1,(i -1)*15 +j)
next
next

dim firstRow as Long,firstCol as Long
firstRow = 表2の最初の行
firstCol = 表2の最初の列
Range(Cells(firstRow,firstCol), _
Cells(firstRow + Ubound(resultList) - 1, _
firstCol + Ubound(resultList,2) - 1)) = resultList
end sub
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!