Excel VBA質問箱 IV

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

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


29380 / 76732 ←次へ | 前へ→

【52634】Re:Rangeの使用方法
質問  美貴  - 07/11/22(木) 13:11 -

引用なし
パスワード
   かみちゃん さん
ありがとうございます。

色々やって無理やりできるようにはなったのですが、
検索行、検索列をアクティブでないブックのセル番地を
指定したときに、その絶対参照がNGです。
下記では、無理やりブック名、シート名を置換しています。
多分もっとスマートな方法があると思いますが
お時間ございましたら、ご教示お願い致します。^^;


'
Sub lookupウイザード()
'
'
  Dim 数式, 置換後
  Dim 検索列, 検索行, 検索対象, 対象行ベクトル, 対象列ベクトル
  Dim 原価センタ開始位置, 勘定コード開始位置, ブック, シート


原価センタ開始位置 = "E$2"
勘定コード開始位置 = "$A4"
ブック = ActiveWorkbook.Name
シート = ActiveSheet.Name


  検索行 = ""
  検索行 = Application.InputBox("検索行の先頭セルを入力して下さい。", _
      , , _
      offset値x, offset値y, , , 8) _
      .Address(True, True, xlA1, True)
  If 検索行 = "" Then
    Exit Sub
  End If
  

  検索列 = ""
  検索列 = Application.InputBox("検索列の先頭セルを入力して下さい。", , _
      , offset値x, offset値y, , , 8) _
      .Address(True, True, xlA1, True)
  If 検索列 = "" Then
    Exit Sub
  End If

置換後 = Left(Range(検索行).Address(True, True, xlA1, True), InStr(Range(検索行).Address(True, True, xlA1, True), "!") - 1)

Set 検索対象 = Range(Cells(Range(検索行).Row, Range(検索列).Column), Cells(Range(検索行).Row + 1000, Range(検索列).Column + 200))
Set 対象行ベクトル = Range(Cells(Range(検索行).Row, Range(検索行).Column), Cells(Range(検索行).Row + 1000, Range(検索行).Column))
Set 対象列ベクトル = Range(Cells(Range(検索列).Row, Range(検索列).Column), Cells(Range(検索列).Row, Range(検索列).Column + 200))


 数式 = "=INDEX(" & 検索対象.Address(True, True, xlA1, True) & ",MATCH(" & 勘定コード開始位置 & "," _
        & 対象行ベクトル.Address(True, True, xlA1, True) & ",0),MATCH(" & 原価センタ開始位置 & "," _
        & 対象列ベクトル.Address(True, True, xlA1, True) & ",0))"
        
 数式 = Replace(数式, "[" & ブック & "]" & シート, 置換後)
        
  ActiveCell.Formula = 数式


'
End Sub
1 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 お礼

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