Excel VBA質問箱 IV

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

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


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

【65779】別ブックで開いている選択範囲の取得 麦茶 10/6/27(日) 18:10 質問[未読]
【65783】Re:別ブックで開いている選択範囲の取得 よろずや 10/6/27(日) 20:18 発言[未読]
【65785】Re:別ブックで開いている選択範囲の取得 麦茶 10/6/27(日) 21:15 回答[未読]
【65786】Re:別ブックで開いている選択範囲の取得 中二 10/6/27(日) 21:36 発言[未読]
【65787】Re:別ブックで開いている選択範囲の取得 麦茶 10/6/27(日) 22:31 回答[未読]
【65791】Re:別ブックで開いている選択範囲の取得 麦茶 10/6/28(月) 12:01 回答[未読]
【65803】Re:別ブックで開いている選択範囲の取得 りん 10/6/28(月) 20:19 発言[未読]

【65779】別ブックで開いている選択範囲の取得
質問  麦茶 E-MAIL  - 10/6/27(日) 18:10 -

引用なし
パスワード
   はじめまして、麦茶といいます。

カレントのワークブックで選択範囲の取得では
「Selection.Rows.Count」や「ActiveCell.Row」で取得できます。

ただ、別のエクセル(ワークブック)で開いている選択範囲を
「Selection.Rows.Count」や「ActiveCell.Row」のような形で
取得する方法が見つからなくて困っています。

Excelは2003です。

もし、分かる方がいましたら、どうぞご教授お願いします。

【65783】Re:別ブックで開いている選択範囲の取得
発言  よろずや  - 10/6/27(日) 20:18 -

引用なし
パスワード
   ▼麦茶 さん:
>ただ、別のエクセル(ワークブック)で開いている選択範囲を
>「Selection.Rows.Count」や「ActiveCell.Row」のような形で
>取得する方法が見つからなくて困っています。

どうやって開いてるのかによって回答が変わります。

開いているコードを提示してください。

【65785】Re:別ブックで開いている選択範囲の取得
回答  麦茶 E-MAIL  - 10/6/27(日) 21:15 -

引用なし
パスワード
   ▼よろずや さん:
>▼麦茶 さん:
>>ただ、別のエクセル(ワークブック)で開いている選択範囲を
>>「Selection.Rows.Count」や「ActiveCell.Row」のような形で
>>取得する方法が見つからなくて困っています。
>
>どうやって開いてるのかによって回答が変わります。
>
>開いているコードを提示してください。
はじめまして、よろずや さん
麦茶です。
返答、ありがとう御座います。

新しく、ワークブックを開くコードは以下です。
==ここから==
' 「NOリスト.xls」を開く
LWNoList = thisWorkbook.Path + "\" + LW_NO_LIST 'ファイル名パス組み立て
If Dir(LWNoList) = "" Then
MsgBox LWNoList & "が見つかりません。"
  End
End If
Workbooks.Open Filename:=LWNoList, ReadOnly:=True
==ここまで==

今回で行いたい事は以下の通りです。
データが記述している、Excelファイルにマクロを設定すると。
新しい年度やExcelファイルが変わったときに、また、マクロを設定しなければ
なりませんし、ファイルを開く度に、セキュリティの警告ダイアログが表示
されるのが、問題あるので、
マクロだけを記述した、Excelで処理を行いたいのです。
例えば、別Excelで選択した範囲や行、列で印刷や処理を行いたいのです。
(もちろん、別Excelでは選択したシートは前面になっています。)
ただ、私がアンポンタンのため、別Excelで選択した範囲とその情報を
取得できる処理ができなくて困っているのです。

以上、よろしく、お願い致します。

【65786】Re:別ブックで開いている選択範囲の取得
発言  中二  - 10/6/27(日) 21:36 -

引用なし
パスワード
   ん?マクロで開いて手動で選択するってことかい?

【65787】Re:別ブックで開いている選択範囲の取得
回答  麦茶 E-MAIL  - 10/6/27(日) 22:31 -

引用なし
パスワード
   ▼中二 さん:
>ん?マクロで開いて手動で選択するってことかい?
はじめまして、麦茶です。

データのExcelファイルが開いていない場合は、マクロ(自動)で
開きますが、担当者が、データのExcelファイルを手動で開いた場合は
それでまでです。あとは、印刷や処理したい部分のセルを選択して、
マクロが設定しているExcelで、ボタンなどを押して、処理を行います。
もちろん、マクロが設定しているExcelでは、データのExcelファイル名は
分かりますし、同じフォルダーに置いています。

以上、よろしく、お願いします。

【65791】Re:別ブックで開いている選択範囲の取得
回答  麦茶 E-MAIL  - 10/6/28(月) 12:01 -

引用なし
パスワード
   解決しましたのでお知らせいたします。
ただ、問題としては、ActiveなWorkBookを切り替えないといけませんが、できました。^.^

  Private Const DATA_FILE = "data.xls"
  Set koekiWorkbook = Workbooks(DATA_FILE)
  Windows(DATA_FILE).Activate

  Range("H1").Value = Selection.Rows.Count
  Range("H2").Value = ActiveCell.Row

data.xlsの選択範囲が無事取得できました、ありがとうございました。

【65803】Re:別ブックで開いている選択範囲の取得
発言  りん E-MAIL  - 10/6/28(月) 20:19 -

引用なし
パスワード
   麦茶 さん、こんばんわ。

>ただ、問題としては、ActiveなWorkBookを切り替えないといけませんが、できました。^.^
切り替え先のブックをアクティブにした時に表示されるシートが確実に対象のものとわかっているならば、あえてアクティブにする必要はありません。

Sub test()
  Dim wn As Window '複数ウィンドウに対応
  For Each wn In Workbooks("data.xls").Windows
   With wn
     If TypeName(.Selection) = "Range" Then
      MsgBox .Selection.Address(external:=True), vbInformation, wn.Caption
     Else
      MsgBox TypeName(.Selection) & "を選択中", vbExclamation, wn.Caption
     End If
   End With
  Next
End Sub

お試しください。

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