こちらでご教示いただきました。
下記のコードでエクセルシート状に出力後、
シート上で値の書き換えを行います。(例:Sheet2 A4に”04”をValue)
そのあと保存をしたいのですが、ActiveWorkbook.SaveAsを使用すると数字の0が消えてしまいます。
こちらもstreamで保存しないといけないと思うのですが…
上書きでなく、新規保存する場合のコードの書き方が分からないです。。
VBA
1Sub sample2() 2 Dim i As Long 3 Dim j As Long 4 Dim strList As String 5 Dim strSplit() As String 6 Dim adoSt As New ADODB.Stream 7 Dim selectFileName 8 9 '//ダイアログを開く 10' ws.Cells.Clear '//ファイルクリア 11 selectFileName = Application.GetOpenFilename(FileFilter:="CSVファイル(*.csv),*.csv", _ 12 Title:="CSVファイルの選択") 13 If selectFileName = False Then 14 Exit Sub 15 End If 16 17 i = 1 18 With adoSt 19 .Type = adTypeText 20 .charset = "Shift-JIS" 21 .LineSeparator = adLF 22 .Open 23 .LoadFromFile (selectFileName) 24 Do While Not (.EOS) 25 strList = .ReadText(adReadLine) 26 strSplit = Split(strList, ",") 27 For j = LBound(strSplit) To UBound(strSplit) 28 ThisWorkbook.Worksheets("Sheet2").Cells(i, j + 1) = strSplit(j) 29 Next 30 i = i + 1 31 Loop 32 .Close 33 34 35 36 End With 37End Sub
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/27 06:51
2021/09/27 07:36 編集
2021/09/27 07:29