2016-12-13 6 views
0

でワークブックのパスを制御するためにvaribleを使用する方法は、私は別のブックへの特定のパスからデータをコピーするVBAを書きたいときに私は、問題に会ったVBA

Sub Scorecard() 
Dim Target_Workbook As Workbook 
Dim Templete As Workbook 
Dim Path As String 
Dim a As Long 
a = InputBox(Prompt:="Week End Date:", _ 
      Title:="Enter Your Week End Date ", Default:="") 
Path = "C:\Users\Pudge\Desktop\Report\Scorecard\"&a"\Scorecard.xlsx" 
Set Target_Workbook = Workbooks.Open(Path) 
Set Template = ThisWorkbook 
End Sub 

は、私が使用したいです変数aは私が提供したものに基づいて別のフォルダに行くように指示します。

フォルダ「スコアカード」には、名前が1,2,3,4,5などの多数のサブフォルダがあります。そう私は何をしたい私はvaule 1を与えた場合、フォルダ1

でscorecard.xlsxを開くために行ってみましょう。しかし、それはコンパイルエラーを私に与え続けて..です

私申し出ください何か考えがあれば助けてください。

Thxを Pudge

+1

その他の問題がありますが、 'a'の後にアンパサンドがありません。 – SJR

+0

'Path =" C:¥Users¥Pudge¥Desktop¥Report¥Scorecard¥ "&a" \ Scorecard.xlsx " –

+0

getaコンパイルエラー:このパスの構文エラー –

答えて

0

まず、上記解決されているあなたのPath変数の場合には問題があります。私は完全なソリューションを提供するためにそれを述べました。

マクロの先頭にスペルミスがあります。寸法はTempleteですが、後でTemplateと呼ばれます。

あなたの主な問題は、変数aにある可能性が高いと思います。パスの参照が正しくないか無効になっている可能性があります。これは、Longという寸法にする必要はありません。他の文字列と連結するので、Stringを使用する方がより論理的です。私は上記のコードをテストしていない一方で

Sub Scorecard() 
Dim Target_Workbook, Template As Workbook 
Dim Path, a As String 
a = InputBox(Prompt:="Week End Date:", Title:="Enter Your Week End Date") 
Path = "C:\Users\Pudge\Desktop\Report\Scorecard\" & a & "\Scorecard.xlsx" 
Set Target_Workbook = Workbooks.Open(Path) 
Set Template = ThisWorkbook 
End Sub 

、それはべき作品:

は、以下の例のコードを参照してください。代替入力を試してください。シンプルな番号を使って試してみて、パスが正しいことを確認してください。

これが機能しても、選択したアプリケーションはそうでない場合は、ユーザーの入力に問題がある可能性があります。

関連する問題