TimeStamp = Format(Now, "yyyymmddhhmmss")
FileCopy ".\注文書_45_50_12.xls", ".\注文書_" & TimeStamp & ".xls"
Dim wb As Workbook
Set wb = ".\注文書_" & TimeStamp & ".xls"
上記ソースをエクセルVBAに書き込みました。
Set wb = ".\注文書_" & TimeStamp & ".xls"
上記部分でエラーがおき、オブジェクトが必要と表示されます。
wbにどうやったら変数を使ったファイル名が格納されますでしょうか。
No.5ベストアンサー
- 回答日時:
No3です。
>エクセルを開きたくないのですが、その場合、はどのようにすればよろしでしょうか。
開かずにwbを設定することはできません。
もし、excelを開かずにセルの内容を参照したいということであれば、
あまり推奨されませんが、ExecuteExcel4Macro があります。
下記URLを参照ください。
https://excel-ubara.com/excelvba4/EXCEL219.html
http://officetanaka.net/excel/vba/tips/tips28.htm
No.4
- 回答日時:
こんにちは
エラーの原因は
>Set wb = ".\注文書_" & TimeStamp & ".xls"
オブジェクト変数の wb に単純文字列を代入しようとしていることによるものです。
(左辺と右辺で内容が一致していないということです)
>wbにどうやったら変数を使ったファイル名が格納されますでしょうか。
ブック名を得たいのか、ブックオブジェクトを得たいのか、どちらなのでしょうか?
ブック名(=文字列)を得たいのであれば、
Dim wb As String
wb = "注文書_" & TimeStamp & ".xls"
とすることで、wb にはブック名(拡張子付き)の文字列が代入されます。
もしも、ブックオブジェクトを得たいのであれば、
Dim wb As Workbook
Set wb = Workbooks.Open(".\注文書_" & TimeStamp & ".xls")
などとしておくことで、ブックを開き、そのブックが wb オブジェクトに代入されます。
すみません。
色々ご教授いただきありがとうございます。
VBAあまりしたことがないのですが、したい事としては、
①CSVから値を取り出し、変数に格納する←完了
②注文書フォーマットコピーする←完了
③コピーしたフォーマットの特定の場所に変数の値を代入する
③で現在こけてます
Name = Workbooks("注文書_" & TimeStamp & ".xls").Worksheets(1).Range("F8")
と指定した際に「インデックスが有効範囲にありません」のエラーとなる為、エクセルファイルの指定がうまく行ってない、もしくは間違えていると考え色々試しております。
No.3
- 回答日時:
Set wb = ".\注文書_" & TimeStamp & ".xls"
を
Set wb = Workbooks.Open(Filename:=".\注文書_" & TimeStamp & ".xls")
に変えてください。
No.1
- 回答日時:
ブック名と拡張子だけでいいので
Set wb = "注文書_" & TimeStamp & ".xls"
こうじゃないかな?
あるいは【分】の指定が違うとかかな?
? Format(now(),"yyyymmddhhnnss")
20230613152018
上記はイミディエイトウィンドウで検証。
言語によっては月を【MM】としてたかも。
https://www.sejuku.net/blog/33422
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBA 既存エクセルを開きその中のシートとしてCSVファイルを開く 3 2023/05/31 13:11
- Visual Basic(VBA) エクセルVBA エクセルを開いた後に編集可能な状態にするには? 2 2023/06/14 11:58
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) VBAでWorkbook.addの使い方 3 2023/02/01 11:58
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) エクセルVBAについて 8 2022/07/13 22:41
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
VBAでワークブックの名前を変数にして開かせる?
Excel(エクセル)
-
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
VBA:ワークブックを変数でActiveにしたいのですが・・
Excel(エクセル)
-
-
4
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
5
vbaでファイルを開くパス名に変数を使いたい
Visual Basic(VBA)
-
6
[Excel] ファイル名を変数指定して保存するマクロ
Excel(エクセル)
-
7
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
8
EXCELで変数をペーストしたい
その他(プログラミング・Web制作)
-
9
ExcelVBAでBookを開く時にファイル名の一部だけを指定で
Access(アクセス)
-
10
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
11
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
12
Excel VBAで同じフォルダ内のファイルを開くには?
Excel(エクセル)
-
13
別のシートから値を取得するとき
Visual Basic(VBA)
-
14
結合した文字列をファイル名に使えない
Visual Basic(VBA)
-
15
VBAで別ブックのシートを指定して削除したい。
Visual Basic(VBA)
-
16
エクセルVBAでテキストボックスに入力があった場合のみ、ワークシートに転記したい
Visual Basic(VBA)
-
17
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
18
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
19
別ファイルを開かず、INDIRECT関数を使用せずに、別ファイルのデータを求めたい
Excel(エクセル)
-
20
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAで今開いているユーザ...
-
フォルダ内の全ブックのシート...
-
エクセルVBA Workbook変数に変...
-
【Excel VBA】ブックを複数開い...
-
EXCELマクロで上書きメッ...
-
VBA セル入力された日付データ...
-
excelマクロ、任意セルの値で名...
-
フォルダ内の全ブックのシート...
-
VB2010でExcelの行をコピーして...
-
フォルダ内の全てのBookに同じ...
-
EXCELマクロでxlsとxlsxを開く方法
-
エクセルVBAでブックを開くと処...
-
VBA、Excelのworkbook.open に...
-
Excel マクロでファイル名を変...
-
[Excel VBA] フォルダ内の複数...
-
いつも大変お世話になっており...
-
すでに開いているブックのマク...
-
personal.xlsの削除方法
-
複数のデータ系列の線の太さを...
-
cellsで特定の離れた範囲を選択...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォルダ内の全ブックのシート...
-
エクセルVBA Workbook変数に変...
-
ExcelVBAで今開いているユーザ...
-
VBA、Excelのworkbook.open に...
-
【ExcelVBA】指定の書式で、マ...
-
【Excel VBA】ブックを複数開い...
-
VB2010でExcelの行をコピーして...
-
すでに開いているブックのマク...
-
フォルダ内の全てのBookに同じ...
-
VBA セル入力された日付データ...
-
フォルダ内の全ブックのシート...
-
personal.xlsの削除方法
-
EXCELマクロでxlsとxlsxを開く方法
-
EXCELマクロで上書きメッ...
-
[Excel VBA] フォルダ内の複数...
-
EXCEL VBA起動時の処理
-
コマンドボタンでマクロを起動...
-
excelマクロ、任意セルの値で名...
-
【VBA】他のExcelを起動し、呼...
-
他のBookのユーザー定義関数を使う
おすすめ情報