Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


16126 / 76738 ←次へ | 前へ→

【66083】Re:範囲指定のCSV出力について
質問  VBA初心者  - 10/7/26(月) 15:39 -

引用なし
パスワード
   こんにちわ。
ご意見いただいた皆様、
貴重なご意見ありがとうございます。

実際にご教授いただいた通りに記述したのですが、
出力されたCSVは全ての項目が出力してしまいます。

 そこで、まる1日かけていろいろ調べたら自分のやりたい
ように出力することができました。
 ただ、いろいろな参考プログラムから貼り付けて修正して
作成したのですが、細かくコードの意味などを理解していない
のもございます。
 下記に完成したVBAソースを記載致しますので、コメント欄の
間違いやよくわからないものなどをご教授願えたらと思います。

______________VBAコード___________________________________

Private Sub csv_Click()

Dim targetRange As Range, myArea As Range, myColumn As Range
Dim i As Long, j As Long, columnCount As Long
Dim buf As Variant, buf2 As String
Dim FSO As Object

Dim myDir As String
Dim myFname As String

'デスクトップのパス
myDir = CreateObject("WScript.Shell").SpecialFolders("Desktop")
'ファイル名の指定
myFname = myDir & "\" & "TEST.csv"


'ユニオンでA2:A100とE2:E100を抽出
Set FSO = CreateObject("Scripting.FileSystemObject")
Set targetRange = Union(Range("a2:a100"), Range("e2:e100"))


’範囲セルのカウント?
For
 Each myArea In targetRange.Areas
 columnCount = columnCount + myArea.Columns.Count
Next myArea


'ファイルの出力指定記述
'With FSO.createTextFile("C:\Sample.txt", True) 'overwrite
With FSO.CreateTextFile(myFname, True) 'overwrite


'よくわかりません・・・
For i = 1 To targetRange.Areas(1).Rows.Count
ReDim buf(1 To columnCount)
j = 1
For Each myArea In targetRange.Areas
For Each myColumn In myArea.Columns
buf(j) = myColumn.Cells(i).Text 'Value
j = j + 1
Next myColumn
Next myArea
'A,Eとカンマ区切りで出力
buf2 = Join(buf, ",")
.writeline buf2

Next i

.Close
End With

MsgBox "出力しました"

End Sub

------------------------------------------------------------------------

お時間のあるときご教授下さい。


▼mura さん:
>>下記のコードだとA1〜E100まですべてのデータが出力されてしまいます。
>
>それはそうでしょう。そのようなコードになってますから。
>SaveAsの前に 1行とB列〜D列を削除しましょう。
> Rows(1).Delete
> Columns("B:D").Delete
> .SaveAs myFname, xlCSV

0 hits

【66068】範囲指定のCSV出力について VBA初心者 10/7/23(金) 17:25 質問
【66070】Re:範囲指定のCSV出力について neptune 10/7/23(金) 18:06 発言
【66079】Re:範囲指定のCSV出力について mura 10/7/25(日) 14:10 回答
【66083】Re:範囲指定のCSV出力について VBA初心者 10/7/26(月) 15:39 質問
【66084】Re:範囲指定のCSV出力について mura 10/7/26(月) 16:09 回答
【66085】Re:範囲指定のCSV出力について VBA初心者 10/7/26(月) 16:22 お礼
【66086】Re:範囲指定のCSV出力について mura 10/7/26(月) 16:33 回答
【66090】Re:範囲指定のCSV出力について VBA初心者 10/7/27(火) 9:33 質問
【66093】Re:範囲指定のCSV出力について mura 10/7/27(火) 12:06 回答
【66087】Re:範囲指定のCSV出力について teian 10/7/26(月) 19:26 発言
【66089】Re:範囲指定のCSV出力について VBA初心者 10/7/27(火) 9:16 質問
【66091】Re:範囲指定のCSV出力について teian 10/7/27(火) 9:55 回答
【66092】Re:範囲指定のCSV出力について VBA初心者 10/7/27(火) 10:30 お礼
【66110】Re:範囲指定のCSV出力について kanabun 10/7/31(土) 0:30 発言

16126 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free