
エクセルVBAで困っています。
OpenFileNameにはCSVファイルのフルパスがはいっています。
2つのファイルを開くことはどうにかできたのですが、
OpenFileName を ".\注文書_" & TimeStamp & ".xls" のシートとして開きたいです。
TimeStamp = Format(Now, "yyyymmddhhmmss")
FileCopy ".\注文書_45_50_12.xls", ".\注文書_" & TimeStamp & ".xls"
Workbooks.Open (".\注文書_" & TimeStamp & ".xls")
Workbooks.Open (OpenFileName)
どのように記述をしたらよろしいでしょうか。
何卒よろしくお願いいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちは
CSVファイルを直接読み込んでシートに展開することも可能ですが、クォーテーションの処理などが必要でそれなりに面倒です。
(クォーテーションが無いと保証されていれば、さほどでもないですが)
ご提示のように別ブックとして一旦開いたものから、シートをまるっとコピペするのが簡単だと思います。
CSVブック.WorkSheets(1).Copy after:=コピー先ブック.指定シート
とか。
あるいは、受け入れ先のシートが既に存在するのなら
CSVブック.WorkSheets(1).Cells.Copy Destination:=コピー先シート.Cells
とか。
コピーしたら、CSVブックは保存せずにCloseすれば良いです。
No.2
- 回答日時:
こんにちは
本当はCSVファイルをExcelにして開かないで行う事を薦めますが
シートをコピーして挿入先ブックを指定すれば出来ると思います
このコードは、開いたOpenFileName側ブックで記録する事も出来ます
例
TimeStamp = Format(Now, "yyyymmddhhmmss")
FileCopy ".\注文書_45_50_12.xls", ".\注文書_" & TimeStamp & ".xls"
Dim ExlWb As Workbook
Dim csvWb As Workbook
Set ExlWb = Workbooks.Open(".\注文書_" & TimeStamp & ".xls")
Set csvWb = Workbooks.Open(OpenFileName)
csvWb.Sheets(1).Copy After:=ExlWb.Sheets(ExlWb.Sheets.Count)
csvWb.Close False
最終シートに追加
閉じるところまで書きました
No.1
- 回答日時:
>OpenFileName を ".\注文書_" & TimeStamp & ".xls" のシートとして開きたいです。
なさりたいことが、よくわかりません。
2回同じファイル(".\注文書_" & TimeStamp & ".xls")をOpenしたいということでしょうか。
具体的に説明していただけませんでしょうか。
Workbooks.Open (".\注文書_" & TimeStamp & ".xls")・・・①
Workbooks.Open (OpenFileName)・・・②
①で".\注文書_" & TimeStamp & ".xls"をオープンしているので、
OpenFileNameに".\注文書_" & TimeStamp & ".xls"を設定して②を
実行すると、2重オープンになります。
コメントありがつございます。
1つのエクセルファイルを開き、CSVを開きたいのですが、先に開いたエクセルファイルのシートとしてCSVファイルを開きたいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別ブックをダイアログボックス...
-
VBA シートをコピーする際に Co...
-
VBA 別ブックからコピペしたい...
-
VBAで別のブックにシートをコピ...
-
Excelマクロ 該当する値の行番...
-
エクセルVBAが途中で止まります
-
VBA コードを実行すると画面が...
-
VBAで別ブックのシートを指定し...
-
vbaで他のブックに転記したい。...
-
VBS Bookを閉じるコード
-
Workbooks(workbooks.count)に...
-
【Excel VBA】書き込み先ブック...
-
教えて下さい!VBAで複数Excel...
-
リソース不足を解消したい
-
Excel2007VBAファイルの表示に...
-
エクセルVBAでテキストボックス...
-
ACCESSでExcelにデータ出力、高...
-
マクロを使って不特定のファイ...
-
VBAで複数のブックを開かずに処...
-
ワイルドカード「*」を使うとう...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数のエクセルファイルとシー...
-
VBA シートをコピーする際に Co...
-
別ブックをダイアログボックス...
-
VBA 別ブックからコピペしたい...
-
エクセルVBAが途中で止まります
-
ワイルドカード「*」を使うとう...
-
VBAで別のブックにシートをコピ...
-
VBA コードを実行すると画面が...
-
VBAで別ブックのシートを指定し...
-
【ExcelVBA】zip圧縮されたCSV...
-
【Excel VBA】書き込み先ブック...
-
2つ目のコンボボックスが動作...
-
[Excel]ADODBでNull変換されて...
-
Excelマクロ 該当する値の行番...
-
VBA 実行時エラー 2147024893
-
Excelのマクロコードについて教...
-
Excel にて、 リストボックスの...
-
【ExcelVBA】インデックスが有...
-
VBA アプリケーション定義また...
-
【Excel VBA】表の列の値毎に分...
おすすめ情報