Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7018 / 13644 ツリー ←次へ | 前へ→

【41713】変数の取込かた 質問(煮詰まった) 06/8/21(月) 9:51 質問[未読]
【41714】Re:変数の取込かた Blue 06/8/21(月) 10:01 発言[未読]
【41716】Re:変数の取込かた 質問(煮詰まった) 06/8/21(月) 11:22 質問[未読]
【41717】Re:変数の取込かた Blue 06/8/21(月) 12:06 回答[未読]
【41718】Re:変数の取込かた 質問(煮詰まった) 06/8/21(月) 13:17 お礼[未読]
【41715】Re:変数の取込かた Jaka 06/8/21(月) 10:34 発言[未読]

【41713】変数の取込かた
質問  質問(煮詰まった)  - 06/8/21(月) 9:51 -

引用なし
パスワード
   変数の取り方を教えて下さい。

画面からファイルを選択させて、そのopenしたファイルの
セルA1にカーソルを移したいのですが、変数を記述すると
公文エラーになります。
物理ファイルのパスを指定すると正しく読み込みます。

変数は正しく取得できているようですが、記述の仕方を教えて下さい。
お願いします。
エラーの箇所は★の()の中の記述です。


'●ファイルオープン処理

OpenFileName = Application.GetOpenFilename("xlsファイル,*.xls" _
, , "ファイルを選択してください")

'●キャンセルボタンが押された場合

If OpenFileName = False Then
  MsgBox "処理がキャンセルされました"
  Exit Sub
Else
  ' MsgBox "ファイル名 : " & Dir(OpenFileName)
  Workbooks.Open Filename:=OpenFileName
End If

MsgBox OpenFileName
★Windows("OpenFileName").Activate
Range("A1").Select

【41714】Re:変数の取込かた
発言  Blue  - 06/8/21(月) 10:01 -

引用なし
パスワード
   >  Workbooks.Open Filename:=OpenFileName
ここで、戻り値を保持しておきましょう。

Dim wb As WorkBook

Set wb = Workboos.Open(Filename:=OpenFileName)

で、

> ★Windows("OpenFileName").Activate


wb.Active

にすれば簡単です。

【41715】Re:変数の取込かた
発言  Jaka  - 06/8/21(月) 10:34 -

引用なし
パスワード
   わざわざ変数に入れなくても、ブックの起動直後なら単に
Workbooks.Open Filename:=OpenFileName
のすぐ後に
Range("A1").Select を入れればいいんじゃないですか。

こういうのでもいいけど、
Application.Goto reference:=Range("A1"), scroll:=True
Application.Goto reference:=ThisWorkBook.Sheets(2).Range("A1"), scroll:=True

【41716】Re:変数の取込かた
質問  質問(煮詰まった)  - 06/8/21(月) 11:22 -

引用なし
パスワード
   以下のように修正しましたが、エラーが出ます。
実行時エラー438
wbの記載方法でしょうか?


Sub read_SATL()
Dim i As Integer        ' FreeFile値
Dim j As Integer        ' FreeFile値
Dim OpenFileName As Variant
Dim wb As Workbook


Application.ScreenUpdating = False
 
'●ファイルオープン処理

OpenFileName = Application.GetOpenFilename("xlsファイル,*.xls" _
, , "ファイルを選択してください")

'●キャンセルボタンが押された場合

If OpenFileName = False Then
  MsgBox "処理がキャンセルされました"
  Exit Sub
Else
  ' MsgBox "ファイル名 : " & Dir(OpenFileName)
  Workbooks.Open Filename:=OpenFileName
  Set wb = Workbooks.Open(Filename:=OpenFileName)
End If

'●シートのクリアー
Windows("受注変換.xls").Activate
Sheets("作業").Select
Cells.Select
Selection.Delete Shift:=xlUp

Sheets("作業2").Select
Cells.Select
Selection.Delete Shift:=xlUp

'MsgBox wb
wb.Active
Range("A1").Select

【41717】Re:変数の取込かた
回答  Blue  - 06/8/21(月) 12:06 -

引用なし
パスワード
   >  ' MsgBox "ファイル名 : " & Dir(OpenFileName)
>  Workbooks.Open Filename:=OpenFileName
>  Set wb = Workbooks.Open(Filename:=OpenFileName)


>  Workbooks.Open Filename:=OpenFileName
は削除してください。2度同じファイルを開こうとして、おこられています。

【41718】Re:変数の取込かた
お礼  質問(煮詰まった)  - 06/8/21(月) 13:17 -

引用なし
パスワード
   'Windows("SATL.XLS").Activate
'MsgBox wb
1.'wb.Active
2. wb.Activate
Range("A1").Select

1.を2.にしたらうまく行きました。
助かりました。

7018 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free