Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(指定なし : Excel 2013)
A1に入力されたファイルを開きたい。
投稿日時: 19/11/25 17:53:39
投稿者: なみっこ

 
A1にAとされたら、A支店.xlsのファイルが開くように、
A1にBと入力されたら、B支店.xlsのファイルが開くようにしたい。
 
どのように記入すれば良いのか不明のため、
初歩的な事ですが、ご教授下さい。
 
 
Sub Macro1()
'
   Dim shiten
 
  shiten=Range("A1").value
 
    Workbooks.Open Filename:= "\\部門\部\"& shiten &支店".xls"
 
End Sub

回答
投稿日時: 19/11/25 18:16:08
投稿者: WinArrow
投稿者のウェブサイトに移動

掲示したコードで、問題があるとは思えませんが、
 
問題があるならば、症状を説明したほうがよいでしょう。
あるいは、
このコードを実行するための方法についての質問なのかな?
 
 

回答
投稿日時: 19/11/25 18:21:16
投稿者: WinArrow
投稿者のウェブサイトに移動

申し添えておきます。
 
コードを掲示板に掲載する場合、
手入力ではなく、コードペインからコピペしてください。
 
コードの記述ミスなのかわかりませんが、
 
>Workbooks.Open Filename:= "\\部門\部\"& shiten &支店".xls"

Workbooks.Open Filename:= "\\部門\部\" & shiten & "支店".xls"
                                    ---------------

投稿日時: 19/11/26 11:17:55
投稿者: なみっこ

申し訳ありませんでした。
 
【コンパイルエラー
構文エラー】
と出てしまいます・・・・

回答
投稿日時: 19/11/26 11:32:55
投稿者: bi

Workbooks.Open Filename:="\\部門\部\" & shiten & "支店.xls"
じゃないですかね?

投稿日時: 19/11/26 11:47:26
投稿者: なみっこ

解決しました!
  
()が必要だったようです・・・・
Workbooks.Open Filename:="\\部門\部\" & (shiten) & "支店.xlsx"
で出来ました。
理由はよく理解できていないのですが…TT
 

回答
投稿日時: 19/11/26 13:38:59
投稿者: simple

>()が必要だったようです・・・・
ちょっと考えにくいです。
そもそも、shiten変数の型指定をしない理由は?
Dim shiten As String
とかしないのですか?
 
文字列をカッコでくくっても、同じ文字列のままのはずです。
ファイルの拡張子が正当なもの(.xls => .xlsx) になったからでは?

回答
投稿日時: 19/12/03 23:10:09
投稿者: MMYS

simple さんの引用:
>()が必要だったようです・・・・
ちょっと考えにくいです。

そもそも、最初のコードが文法エラーです。
提示コードを、そのまま、貼り付けると
赤く、なるはずです。
どこが間違ってるかはすでに指摘されてますけど。
 
Sub Macro1()
'
   Dim shiten
  
  shiten=Range("A1").value
  
    Workbooks.Open Filename:= "\\部門\部\"& shiten &支店".xls"
  
End Sub
 
simple さんの引用:

ファイルの拡張子が正当なもの(.xls => .xlsx) になったからでは?

拡張子は「コンパイルエラー」とは出ないと思います。
 
 

回答
投稿日時: 19/12/03 23:45:12
投稿者: simple

構文エラーのことは念頭にありませんでした。既に指摘済みだったので。
 
Workbooks.Open Filename:= "\\部門\部\"& shiten &支店".xls"

Workbooks.Open Filename:= "\\部門\部\"& (shiten) & "支店.xlsx"
としたのではないか、
成功したのは、カッコの所為ではないでしょう、という指摘でした。
今後、変数を連結するとき、カッコが必要と誤認してはいけないと思いまして。
おかしかったかな。
ご指摘ありがとうございました。

トピックに返信