• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAでレイアウトを変えて表作成)

エクセルVBAでレイアウトを変えて表作成

このQ&Aのポイント
  • エクセルの表をレイアウトを変えてcsv出力する方法についての質問です。
  • 具体的には、既存の表の値を特定の条件で新しい表に変換し、csv形式で出力する方法を知りたいです。
  • 既存の表の特定の値を取得し、任意の位置にセットした後、改行して次の値を処理する方法が分かりません。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

>簡易で具体的 「具体的に」は表はA1を左上として2行目からデータ、C列から100cmが始まっているとする 「具体的に」は表の中身は「数字を手入力」していて、数式とかで表示してるんじゃないとする 「具体的に」はCSVファイルの保存先は「c:\test\」フォルダの中、ファイル名は「test.csv」とする sub macro1()  dim h as range  dim buf as string  open "c:\test\test.csv" for output as #1  for each h in range("C2:F5")   if h <> "" then    buf = cells(h.row, "A") & ","    buf = buf & cells(h.row, "B") & ","    buf = buf & cells(1, h.column) & ","    buf = buf & h.value    print #1, buf   end if  next  close #1 end sub

ARIES10
質問者

お礼

早速のご回答ありがとうございました。 あらかじめ新規作成して開いておいたcsvファイルに 「空白ではない値に出会ったら、 その行のA列の値+B列の値+その列の1行目(サイズタイトルセル)の値+空白でない値(在庫数) を1レコードとして任意の場所にセット 改行してまた進めていく」 をすごくシンプルに1つの変数にセットしては 出力し、を繰り返しているんですね。 手順を二つに分ける必要もなくすぐに目的が 達成できました。 ご親切にどうもありがとうございました。

ARIES10
質問者

補足

「具体的に」アドバイスを求めるのなら もっと「具体的に」要望を記述するようにとの 痛快な無言のアドバイスが含まれていたりしますか? (;´Д`A ``` だとしたら次に活かします。 とにかく、大変助かりました!m(_ _)m

関連するQ&A

専門家に質問してみよう