初めまして、VBA初心者です。
前任者(退職)が作成したものがエラーで使用出来なくなりました。
仕事の効率が悪いので、一から作り直ししているのですが、最後の動作がどうしても出来ません。゚(つД`)゚。
●フォームを開く(当日の日付がテキストに表示される)
↓品名入力(リストボックスに候補表示→選択)
↓選択品名の詳細を表示(ラベルに対応するファイルNo.、シート名、ファイル名などが表示されます)
↓ロットNo.、数量をテキストに入力
↓登録ボタンを押す
日付、選択品名、ロットNo.、数量を入荷シートの最終行へ入力。
★☆サーバーからラベルに表示されている「ファイルNo._ファイル名.xls」を開いて印刷☆★
色々いじり過ぎて変な事になってると思いますが、今の状況が下記です。
Sub UF1Print()
Const Server As String = “¥¥111.222.3.444¥01_入荷¥品物別エクセル”
Dim ISnum As String, MyPath As String, Fname As String
Application.ScreenUpdating = False
ISnum = “Label103” ‘シート名
MyPath = Dir(Server & “¥” & “Label101” & “_” & “Label102” & “.xls”) ‘パス
Fname = “Label101” & “_” & “Label102” & “.xls” ‘ファイル名
If Dir(MyPath) = “” Then
MsgBox “指定されたファイルが見つかりません。”
Exit Sub
End If
Workbooks.Open Filename:=Server & “¥” & MuPath
Workbooks(Fname).Worksheets(ISnum).Select
Application.ScreenUpdating = True
End Sub
よろしくお願いします!!
No.5ベストアンサー
- 回答日時:
No.3です。
Labelを活かしたいなら、
ISnum = Label103.Caption ‘シート名
MyPath = Server & “¥” & Label101.Caption & “_” & Label102.Caption & “.xls” ‘パス
Fname = Label101.Caption & “_” & Label102.Caption & “.xls” ‘ファイル名
前後の " " は取りましょうね。
ご指摘ありがとうございます。
しかし、" " を取ってしまうと「変数の定義がされていません。」と出てしまいます。
Dim ISnum As String, MyPhath As String, Fname As String
この部分を変更したらよいのでしょうか?
初歩的な事ですみません。
よろしくお願いしますm(_ _)m
No.4
- 回答日時:
MyPath = Dir(Server & “¥” & “Label101” & “_” & “Label102” & “.xls”) ‘パス
のあとに
If Dir(MyPath) = “” Then
となっています。
もし MyPath が ”" (つまりファイル名が存在しない)であれば、Dir(MyPath) = “” にはなりません。
( Dir("") で試してみて下さい。)
MyPath = Dir(Server & “¥” & “Label101” & “_” & “Label102” & “.xls”) ‘パス
のDir関数は不要なのではないかと思いますがいかがでしょう?
ご返答ありがとうございます。
ISnum = “Label103.Caption” ‘シート名
MyPath = Server & “¥” & “Label101.Caption” & “_” & “Label102.Caption” & “.xls” ‘パス
Fname = “Label101.Caption” & “_” & “Label102.Caption” & “.xls” ‘ファイル名
上記で実行したところ、メッセージが表示されました。
実行ファイルと同じ場所に開くファイルを置いてやってみます!!
ありがとうございますm(_ _)m
No.3
- 回答日時:
ネットワークに繋がった別のパソコン等に、
>MyPath = Dir(Server & “¥” & “Label101” & “_” & “Label102” & “.xls”) ‘パス
DIR関数使えるようになったのですか?
⇒昔は使えなかったのですが。
https://www.google.co.jp/search?q=%E3%83%8D%E3%8 …
あと
>“Label103” ‘シート名
>“Label101”
>“Label102”
これらって『この文字列であっているの?』それとも『コントロール:Labelの値を当てはめるつもりなの?』
後者なら前後の " " は不要ですよ。
.Caption はつけた方がよいとは思いますけど。
ご返答ありがとうございます。
ラベルの値を当てはめたかったので、.Captionを付けて " " を外したら「変数が定義されていません。」になりました…。
.Captionを付けた上で " " を付けたら
実行時エラー'1004'の¥¥から指定したServerの場所が見つからないと出たので、ファイルの場所に問題があるみたい?
サーバーやファイルの場所を再度、調べてみます!
ありがとうございますm(_ _)m
No.2
- 回答日時:
No.1です。
>会社のパソコンから投稿出来なかったので、手打ちです(´ω`;)
お示しのコードを拝見するとダブルクォーテーションも半角になっていないようですが、
これも打ち間違いですかね?
それ以外でエラーになるとするとファイルが存在しない!といった内容のエラーになると思うのですが・・・
そんなダイアログボックスは表示されませんか?
たとえば拡張子が違うとか・・・
※ ちなみにこちらでファイル名「Label101_Label102」というファイルを一つ作成し保存後
お示しのコードを試してみるとちゃんとファイルが開き
「Label103」というSheetがアクティブになりました。m(_ _)m
ご返答ありがとうございます。
ダブルクォーテーションも手打ちミスです…
スマホだと英文は面倒ですね。゚(つД`)゚。
めぐみんさんのアドバイス通りに変更したら、ファイルが存在しないと言うエラーに変わりました。
拡張子やサーバーアドレス、ファイル名も間違っていないようなので、セキュリティとかも関係しているのでしょうか?
ローカルに移動して試してみようと思います!
ありがとうございますm(_ _)m
No.1
- 回答日時:
こんにちは!
上記コードはVBE画面のコードをそのままコピー&ペーストされたのでしょうか?
そうであれば単純に入力ミスだと思うのですが・・・
>Workbooks.Open Filename:=Server & “¥” & MuPath
は
>Workbooks.Open Filename:=Server & “¥” & MyPath
「y」と「u」の違い?m(_ _)m
ご指摘ありがとうございます!!
会社のパソコンから投稿出来なかったので、手打ちです(´ω`;)
データを確認したらちゃんと「MyPath」でした!!
なぜメッセージが出ちゃうのかな…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) Excel VBA でデータ転記について 1 2023/03/07 19:11
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
- Excel(エクセル) エクセルVBA、間違っているコード内容を正して頂けませんか? エクセルワークシートに納品書を作ったの 2 2023/08/02 21:13
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAでセルに入力したパ...
-
Teraマクロで日付ディレクトリ...
-
【マクロ】シート名を取得する...
-
EXCELファイルが開けない(-_-;)
-
excelに貼り付けた数値が勝手に...
-
Excelvbaで同一フォルダー内の...
-
EXCELのVBAで画像を選んだ順に...
-
ファイル名を置き換えるやり方...
-
パス名を参照するコードのファ...
-
=CELL("filename")で取得したフ...
-
エクセル 複数ファイルから特...
-
ローマ字→カタカナへ変換(エク...
-
マクロ 実行ボタンを押さずに...
-
エクセルVBA シート上にあるコ...
-
Excel VBA --- コマンドボタ...
-
複数ファイルにある特定のシー...
-
Excelのワークシート上に検索窓...
-
Excel:コマンドボタンの移動
-
Excelの改ページ 同シート内で...
-
スクロールしてもボタンを常に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAでセルに入力したパ...
-
excelに貼り付けた数値が勝手に...
-
EXCELのVBAで画像を選んだ順に...
-
Teraマクロで日付ディレクトリ...
-
ファイルを並び替えるときの「...
-
VLOOKUP関数とネットワークに置...
-
エクセル 一括リンクの解除
-
excel INDIRECT 他ファイル参照
-
エクセルファイルから指定した...
-
エディタで効率的な切り出し方法
-
PDF ファイルが開けません。
-
EXCELのマクロを使って、テキス...
-
ハイパーリンクで前回値をひき...
-
エクセルからスキャナVBAで連動...
-
EXCEL VBA ー 同一フォルダ内の...
-
CSVで文字化けしてしまうのを直...
-
エクセルマクロでファイルオー...
-
ミュージックファイルのファイ...
-
エクセルVBAでファイルを連...
-
エクセルVBA+ADOで特定のCSVフ...
おすすめ情報
めぐみん様のご指摘で、あ!っと閃いて完成する事が出来たのでベストアンサーはめぐみん様に!
皆さまありがとうございましたm(_ _)m
【変更した事】
☆ ISnum、MyPath、Fnameの前後にWith UserForm1 / End Withを追加
☆ラベルの部分を .Label103.Captionに変更
☆ワークシートを開くところのServerを削除(重複)