前提・実現したいこと
お世話になります。
以下やりたいことフローです。
①データシートから特定範囲のセルをコピー
②新しくワークブック作成
③作成したワークブックにペースト
④csv形式で保存
流れは一通りできているのですが、下記問題が解決できません。
ご助言願います。
発生している問題・エラーメッセージ
コピー範囲はZ列にID、AA列に数値が記載されています。
Z列のデータをコピーペーストすると、そのまま文字列として
使いたいのですが、数値(指数表示)されてしまいます。
Ex)正)30141e01 → 誤)301410(3.01E+05)
該当のソースコード
VBA
1 2 Worksheets("転送シート").Activate 3 4 nname = a & "\" & Sheets("転送シート").Range("V3").Value 5 6 Dim fPath As String 7 Dim fName As String 8 Dim rng As Range 9 10 fName = a & "\" & Sheets("転送シート").Range("V3").Value & "." & "csv" 11 12 Application.DisplayAlerts = False 13 14 '■現在選択しているセル情報をrngに格納 15 Range(Cells(5, 26), Cells(58, 26)).Select 16 Set rng1 = Selection 17 Range(Cells(5, 27), Cells(58, 27)).Select 18 Set rng2 = Selection 19 20 21 22 '■新規ブック作成→rngをA1にコピー→CSV保存→CSV閉じる 23 Workbooks.Add 24'Z列のコピペ 25 rng1.Copy 26 ActiveSheet.Range("A1").PasteSpecial Paste:=xlPasteFormulasAndNumberFormats 27'AA列のコピペ 28 rng2.Copy 29 ActiveSheet.Range("B1").PasteSpecial Paste:=xlPasteValues 30 31 ActiveWorkbook.SaveAs Filename:=fName, FileFormat:=xlCSV 32 ActiveWindow.Close 33 34 Application.DisplayAlerts = True 35 36 37
試したこと
csvファイル作成時にカンマ区切りにすればできそうな記事を読んだので、
Fileformat:=xlCSVをいれましたが効果なし
ペーストの形式が悪いと思い、Z列とAA列を分け、Z列のペーストを下記種類お試ししたが効果なし
xlPasteAll
xlPasteAllExceptBorders
xlPasteAllUsingSourceTheme
xlPasteFormulasAndNumberFormats
xlPasteValues
xlPasteValuesAndNumberFormats
補足情報(FW/ツールのバージョンなど)
環境:Excel2016
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/09 11:53
2021/04/10 05:27
2021/04/10 05:41 編集