Excel VBA質問箱 IV

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

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


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

【23252】別のエクセルファイルでマクロを実行した... かもあも 05/3/17(木) 11:38 質問[未読]
【23264】Re:別のエクセルファイルでマクロを実行し... ichinose 05/3/17(木) 18:36 発言[未読]
【23266】Re:別のエクセルファイルでマクロを実行... かもあも 05/3/17(木) 21:25 質問[未読]
【23270】Re:別のエクセルファイルでマクロを実行... ichinose 05/3/17(木) 23:26 発言[未読]
【23282】Re:別のエクセルファイルでマクロを実行... かもあも 05/3/18(金) 10:24 質問[未読]
【23326】Re:別のエクセルファイルでマクロを実行... ichinose 05/3/18(金) 17:35 発言[未読]
【23369】Re:別のエクセルファイルでマクロを実行... かもあも 05/3/19(土) 20:19 お礼[未読]

【23252】別のエクセルファイルでマクロを実行した...
質問  かもあも  - 05/3/17(木) 11:38 -

引用なし
パスワード
   はじめてから一ヶ月ぐらいです。
シートの中でフォームを作成し、
別のエクセルファイルで画像を貼ったり、文字を付け加えたりしています。
しかし、この場合、毎回エクセル名やシートの名前を指定しなければならず、不便です。
何か、良い方法はないでしょうか?
どなたか、よろしくお願い致します。

【23264】Re:別のエクセルファイルでマクロを実行...
発言  ichinose  - 05/3/17(木) 18:36 -

引用なし
パスワード
   ▼かもあも さん:
こんばんは。

>はじめてから一ヶ月ぐらいです。
>シートの中でフォームを作成し、
>別のエクセルファイルで画像を貼ったり、文字を付け加えたりしています。
>しかし、この場合、毎回エクセル名やシートの名前を指定しなければならず、不便です。

ん?毎回エクセル名やシート名を指定する?
毎回、どんなオペレーティングをしているのですか?
それともコード上で
ブック名やシート名を指定しないといけないということですか?

詳しく説明して下さい!!

【23266】Re:別のエクセルファイルでマクロを実行...
質問  かもあも  - 05/3/17(木) 21:25 -

引用なし
パスワード
   ▼ichinose さん:
いままで、ブック名やシート名の取得がわからず、毎回指定してました。
でも、過去の投稿から、以下のマクロが使えそうなのですが、
ファイルを開いてる状態でのセルの値を取得がわかりません。

Sub Macro1()
 Dim xlname As String

 xlname = Dir(ActiveWorkbook.Path & "\*.xls")
 Cells(1, 1) = xlname
 
 Range("A2").Select
 With Selection
  .Formula = "='" & ActiveWorkbook.Path & "\[" & xlname & "]Sheet1'!A2"
  .Value = .Value
 End With
 
 xlname = Dir

End Sub

どうしたら、開いているフォルダのセルの値を取得することが出来るでしょうか?
よろしくお願いします。

【23270】Re:別のエクセルファイルでマクロを実行...
発言  ichinose  - 05/3/17(木) 23:26 -

引用なし
パスワード
   ▼かもあも さん:
こんばんは。

私もまだ、かもあも さんが何が知りたいのかわかりません。
このコードは
>
>Sub Macro1()
> Dim xlname As String
>
> xlname = Dir(ActiveWorkbook.Path & "\*.xls")
'現在アクティブになっているブックと同じフォルダに保存されているブック名の
'ひとつををxlnameに取得します。この場合は、アクティブになっているブック名かも
'しれませんし、そうでないかもしれません
'xlnameにアクティブなブック以外のブック名が取得できたと仮定して・・・。
> Cells(1, 1) = xlname
> 
> Range("A2").Select
> With Selection
>  .Formula = "='" & ActiveWorkbook.Path & "\[" & xlname & "]Sheet1'!A2"
'同じフォルダ内に存在するブックのSheet1(シート名)のセルA2の値を
'ブックを開かないで取得する方法です。

>  .Value = .Value
> End With
> 
> xlname = Dir
>
>End Sub

>いままで、ブック名やシート名の取得がわからず、毎回指定してました。
>でも、過去の投稿から、以下のマクロが使えそうなのですが、
>ファイルを開いてる状態でのセルの値を取得がわかりません。

アクティブなシートの特定のセルの値を取得したいということですか?

ならば・・・。

'============================================================
sub main()
 msgbox activesheet.range("a2").value
end sub

なのですが・・・。
これではない場合には、具体例を出して下さい。

【23282】Re:別のエクセルファイルでマクロを実行...
質問  かもあも  - 05/3/18(金) 10:24 -

引用なし
パスワード
   ▼ichinose さん
返答ありがとうございます。

セルの値を取得することができました。

xlname = Dir(ActiveWorkbook.Path & "\*.xls")
Windows(xlname).Activate
M = ActiveSheet.Name

助かりました。

もう一つ、お聞きしたいのですが、
これでは、ichinoseさんのご指摘通り
同じフォルダ内のはじめのブックしか選択できません。

Application.Dialogs(xlDialogOpen).Show

のように、ファイルを開く要領でブック名を取得するには、
どうすればよろしいでしょうか?
よろしくお願い致します。

【23326】Re:別のエクセルファイルでマクロを実行...
発言  ichinose  - 05/3/18(金) 17:35 -

引用なし
パスワード
   ▼かもあも さん:
こんにちは。

>もう一つ、お聞きしたいのですが、
>これでは、ichinoseさんのご指摘通り
>同じフォルダ内のはじめのブックしか選択できません。
>
>Application.Dialogs(xlDialogOpen).Show
>
>のように、ファイルを開く要領でブック名を取得するには、
>どうすればよろしいでしょうか?
sub test()
 dim flnm as string
 flnm=dir(thisworkbook.path & "\*.xls")
 do until flnm=""
  cells(idx+1,1).value=flnm
  flnm=dir()
  loop
end sub

なんていうコードでこのマクロが書かれているブックと同じフォルダに
あるExcelブック名がアクティブシートのA列に表示されます。

こういう意味でしょうか?

【23369】Re:別のエクセルファイルでマクロを実行...
お礼  かもあも  - 05/3/19(土) 20:19 -

引用なし
パスワード
   ▼ichinose さん:
こんにちは。

ichinoseさんありがとうございます。

何とか自分の思っていた通りに出来ました。
つたない文章に付き合って頂きありがとうございました。

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