
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VBAでワークブックの名前を変数にして開かせる?
Excel(エクセル)
-
[Excel] ファイル名を変数指定して保存するマクロ
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
-
4
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
5
VBA:ワークブックを変数でActiveにしたいのですが・・
Excel(エクセル)
-
6
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
7
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
8
マクロボタンを押すと、ファイル名を“日付(年月日)_文字.xlsx”にして指定ファイルに保存したいの
Excel(エクセル)
-
9
Excel-vba 文字列と変数を連結して更に変数として扱いたい
その他(プログラミング・Web制作)
-
10
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
11
vbaでファイルを開くパス名に変数を使いたい
Visual Basic(VBA)
-
12
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
13
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
14
Excel VBAで同じフォルダ内のファイルを開くには?
Excel(エクセル)
-
15
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
16
EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる
Access(アクセス)
-
17
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
18
VBAでセル値からフォルダ名を取得するコードについて
Excel(エクセル)
-
19
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
20
ExcelVBAで今開いているユーザ情報を取得できますか?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAで今開いているユーザ...
-
エクセルVBA Workbook変数に変...
-
フォルダ内の全ブックのシート...
-
【ExcelVBA】指定の書式で、マ...
-
VB2010でExcelの行をコピーして...
-
[Excel VBA] フォルダ内の複数...
-
フォルダ内の全てのBookに同じ...
-
EXCEL VBA起動時の処理
-
EXCEL VBAアドイン:シートの右...
-
同じ名前で拡張子が違うファイル
-
Excelの一括印刷で通し番号をつ...
-
コマンドボタンでマクロを起動...
-
【マクロ】excelファイルを開く...
-
複数のデータ系列の線の太さを...
-
VBAを一度起動するとずっと出て...
-
エクセルでツールバーに「縮小...
-
昨日まで動いていたエクセルの...
-
VBA マクロ実行時エラー’1004Ra...
-
コピーしたファイルのマクロを...
-
Excel VBAで、実行時にsheet上...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAで今開いているユーザ...
-
フォルダ内の全ブックのシート...
-
エクセルVBA Workbook変数に変...
-
VB2010でExcelの行をコピーして...
-
【ExcelVBA】指定の書式で、マ...
-
【Excel VBA】ブックを複数開い...
-
フォルダ内の全ブックのシート...
-
VBAでEXCELのワークシートを削...
-
EXCELマクロでxlsとxlsxを開く方法
-
すでに開いているブックのマク...
-
フォルダ内の全てのBookに同じ...
-
他のBookのユーザー定義関数を使う
-
EXCEL VBA起動時の処理
-
excelマクロ、任意セルの値で名...
-
excelでハイパーリンク 別ブッ...
-
エクセルのブックを保存すると...
-
エクセルマクロで、他ブックの...
-
同じ名前で拡張子が違うファイル
-
エクセルのマクロでこんな風に...
-
エクセル マクロ WEBエクセル...
おすすめ情報