Excel VBA質問箱 IV

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

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


29311 / 76738 ←次へ | 前へ→

【52709】Re:Rangeの使用方法
回答  ハチ  - 07/11/27(火) 11:14 -

引用なし
パスワード
   ▼美貴 さん:

>ブックAのシートaが参照元、ブックBのシートbが参照先
>としますと、
>
>=INDEX('C:\[B.xls]b'!$D$311:$AH$612,MATCH($A4,'C:\[B.xls]b'!$B$311:$B$612,0),MATCH(E$2,'C:\[B.xls]b'!$D$7:$AH$7,0))
>のようにしたいです。

前レスに
>私がやりたいことですが、ブックを2つ開いておいて
とありますので、パス名は要らないような気もします。

>>ウィザードとして使用するなら、
>>UserFormで作ったほうが良いのでは?
>そうですね。
>うなくいったら、バージョンアップしてみます ^^;

これは「後から見直せる」という意味だけではなくて、
Application.InputBoxだと
他のBookの参照がうまくいかないからです。
(記憶違いならスイマセン)

UserFormにTextBox1,CommandButton1を配置
下記のコードを試してみてください。
モードレスにしたいのでSub Mainで呼び出してください。
エラー処理はテキトーですので、適時追加してください。

'標準モジュール
Sub Main()
  UserForm1.Show False
End Sub

'UserForm1モジュール
Option Explicit

Private Sub CommandButton1_Click()
  
  If TypeName(Selection) <> "Range" Then
    MsgBox "セルの範囲を選択してください"
    Exit Sub
  End If
  
  Me.TextBox1.Value = func_To_Adr(Selection)
End Sub

Private Function func_To_Adr(Rng As Range) As String
  Dim Str As String
  
  Str = "'" & Rng.Parent.Parent.Path 'Path
  Str = Str & "\[" & Rng.Parent.Parent.Name & "]"  'Book名
  Str = Str & Rng.Parent.Name & "'!"  'WorkSheet名
  Str = Str & Rng.Address(0, 0)  'セルのアドレス
  
  func_To_Adr = Str
End Function

0 hits

【52615】Rangeの使用方法 美貴 07/11/21(水) 17:51 質問
【52616】Re:Rangeの使用方法 かみちゃん 07/11/21(水) 18:17 発言
【52634】Re:Rangeの使用方法 美貴 07/11/22(木) 13:11 質問
【52636】Re:Rangeの使用方法 かみちゃん 07/11/22(木) 21:34 発言
【52679】Re:Rangeの使用方法 美貴 07/11/26(月) 10:05 発言
【52707】Re:Rangeの使用方法 ハチ 07/11/27(火) 9:08 発言
【52708】Re:Rangeの使用方法 美貴 07/11/27(火) 10:35 発言
【52709】Re:Rangeの使用方法 ハチ 07/11/27(火) 11:14 回答
【52711】Re:Rangeの使用方法 美貴 07/11/27(火) 12:02 お礼

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