前提・実現したいこと
ExcelマクロボタンからCSVを出力するのですが、出力したcsvファイルを右クリックからエディタなどで開いてJanコードの行を確認すると「xxxxxE+12」となってしまっている。
これを正確な13桁の数値になって、確認できるようにしたい。
該当のソースコード
'変数・定数定義 Dim r1 As Long, rmax As Long, h1 As Long, hmax As Long, _ newBK As String, filePath Const hsmSH As String = "発注マスター" '発注マスタシートのデータ有無確認(2列目で判断) If Sheets(hsmSH).Cells(2, 2) = "" Then MsgBox "発注データが取り込まれていません", vbExclamation Exit Sub End If '画面表示停止/アラート停止 Application.DisplayAlerts = False Application.ScreenUpdating = False '保存場所のパスを設定(マクロブックと同じ場所) filePath = ThisWorkbook.Path '発注マスタシートの最下行を取得(11列目で取得) Sheets(hsmSH).Activate rmax = Cells(Rows.Count, 11).End(xlUp).Row 'データを店舗名順で並び替え Range(Rows(2), Rows(rmax)).Sort Key1:=Cells(1, 2), Order1:=xlAscending '店舗ごとのブックを作成 For r1 = 2 To rmax With ThisWorkbook.Sheets(hsmSH) '1店舗の開始行のとき ①現在行番号をリセット ②新規ブックを追加 If CStr(.Cells(r1, 2)) <> .Cells(r1 - 1, 2) Then h1 = 1 Workbooks.Add End If 'JANコードと数量を転記 Cells(h1, 1) = .Cells(r1, 11) Cells(h1, 2) = .Cells(r1, 17) h1 = h1 + 1 '1店舗の最終行のとき ①ファイルを店舗名で保存 ②ファイルを閉じる If .Cells(r1, 2) <> .Cells(r1 + 1, 2) Or r1 = rmax Then '店舗名が空欄のとき If .Cells(r1, 2) = "" Then ActiveWorkbook.SaveAs Filename:=filePath & "\_店舗名なし.csv", _ FileFormat:=xlCSV Else ActiveWorkbook.SaveAs Filename:=filePath & "\" & .Cells(r1, 2) & ".csv", _ FileFormat:=xlCSV End If ActiveWorkbook.Close End If End With Next 'アラート再開/画面表示再開 Application.DisplayAlerts = True Application.ScreenUpdating = True MsgBox "転記完了" End Sub
試したこと
「cstr」や「NumberFormat」などの変換を記述していろいろ試したのですが変わりませんでした。。
CSVで出力する時点で立ちはだかる壁かとは思うのですが解決できますでしょうか。
補足情報(FW/ツールのバージョンなど)
出力したCSVの1列目にJanコード、2列目に数量を出力しています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/22 04:12
2019/05/22 05:29