アプリ版:「スタンプのみでお礼する」機能のリリースについて

EXCEL関係で教えて下さい m(_ _)m

VBAを使用して作成した入力画面内で、VLOOKUP関数と
同様の機能は使えないものでしょうか?

具体的に言えば・・・商品出荷の手配書を作成したいと
思っています。入力画面で入力した商品マスターを
基にして、商品名等を入力画面内にも自動表示させ
たいと考えています。

通常のEXCELであれば、LOOKUP関数で簡単に出来る
内容ですが、VBAの入力画面内での処理の方法が
分かりません。。恐れ入りますが、御教示下さい。。

A 回答 (2件)

ワークシートの式が


=VLOOKUP(2,A1:B3,2,0)
の場合、
=Application.VLookup(2, Range("A1:B3"), 2, 0)
のような形で使えます。
    • good
    • 0
この回答へのお礼

早速のご返答ありがとうございます。
これで試してみます。

お礼日時:2005/11/08 10:22

こんばんは。



私自身は、VBAは、Vlookupのような、2次元で使う関数は、めったに用いませんね。理由は特にないのですが。ちょっとサンプル・プロシージャを作ってみました。

Sub VlookupFunctionTest()
Dim Ret As Variant
Dim myRange As Range
Dim strSearchWord As String
Dim myCol As Integer
Set myRange = ActiveSheet.Range("A1").CurrentRegion
strSearchWord = "A" '検索語

myCol = 3 '列
  On Error Resume Next
  Ret = WorksheetFunction.VLookup(strSearchWord, myRange, myCol, 0)
  On Error GoTo 0
  If Ret > 0 Then
    MsgBox Ret
    Ret = Empty
  Else
    MsgBox strSearchWord & "は、見つかりません。", vbInformation
  End If

End Sub

'======================================================
'こちらは、私が良く使う方法です。
'------------------------------------------------------
Sub MatchFunctionTest()
Dim Ret As Long
Dim myRange As Range
Dim strSearchWord As String
Dim myCol As Integer
Set myRange = ActiveSheet.Range("A1").CurrentRegion
strSearchWord = "A" '検索語
myCol = 3 '列
  On Error Resume Next
  Ret = WorksheetFunction.Match(strSearchWord, myRange.Columns(1), 0)
  On Error GoTo 0
  If Ret > 0 Then
    MsgBox myRange.Cells(Ret, myCol).Value
    Ret = 0
  Else
    MsgBox strSearchWord & "は、見つかりません。", vbInformation
  End If
End Sub
    • good
    • 0
この回答へのお礼

具体的なサンプルまで作成して頂き、
ありがとうございます。ただ、正直なところ、
小生には難し過ぎるかも・・・。

VBAはこれから勉強を進めるところなので、
今後の課題として取り組んでみます。

お礼日時:2005/11/08 10:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!