質問: 0 end sub 上記のようなcsvファイルの書き出しのコードを見つけて実行してみました。 できたのですが、希望は、書き出す時に行と列を入れ替えて書き出したいのですがどこを変更したらいいでしょうか? また、次に書き出す時は次の列から書き出したいのです。 お願いします。教えてください。
回答: #1です >必要な数値だけかきだす事 意味する所が分からないのですが、数値以外は不要と言う事でしょうか? ご質問のコードで出力データを加工するのであれば、書き出し前の cells(i, j) = strcell の上行で処理すれば良いと思います。 数値のみにする場合は、正規表現などを使用して加工するのはどうでしょう 具体的には、(cells(i, j) = strcellを含め書き換えて) 文字列=文字&数値&文字&数値&文字、、、を想定 dim remch, revl, nu with createobject("vbscript.regexp") .pattern = "[0-9,.]+" '数値の塊 .global = true set remch = .execute(strcell) if remch.count > 0 then for each revl in remch nu = nu & revl next end if end with cells(j, i) = nu (変数名適当) 結果は数値&数値&・・・となると思います。 初めの数値のみで良ければ nu = nu & revl:exitfor 初めと次の数値の区切りを付加するならnu = nu & revl & "区切り文字" 最後に右1文字を削除 更に条件で絞るなら、出力前で加工すれば良いと思います。 ファンクションなどにした方が良いかもですが、 後付けなので取敢えずですが、解釈が違っていたらごめんなさい。 余談 ご質問のコードは昔、試した事があります。 結局使う事はなかったのですが、、 #2様がアドバイスされている通り、1文字ずつ処理をするより querytables(csvインポートウイザードで記録されるマクロ)などで シートにデータを取得して、データ範囲をtranspose=trueでコピペ した方が良いかもです。querytablesに数値のみにするメソッドがあったかは、不明ですけれどね