0
メインサブルーチンでは、2つのユーザー入力((1)範囲アドレス(A1:C50など)、(2)名前文字列(例えばJames))を呼び出し、関数サブルーチン(引数を引数として渡す)を呼び出し、その名前がその範囲に存在するか存在しないかをメッセージボックスを通して出力する。VBA:次のように関数と呼び出しサブを両方書く必要があります
検索範囲と名前の両方をユーザーから入力する必要があります。関数subRoutineと呼び出し側のサブを書くにはどうしたらいいですか?これはこれまで私が持っていたものです。
Function NameExists(name As String, area As Range) As Boolean
If name = area.Value Then
NameExists = True
Else
NameExists = False
End If
End Function
Sub Main()
Dim NameExists As Boolean
Dim name As String
name = InputBox("Enter a Name")
area = InputBox("Enter a Range")
If NameExists = True Then
MsgBox name & " Has Been Found"
Else
MsgBox name & " Has Not Been Found"
End If
End Sub
ありがとうございます!それを入力するのではなく、範囲を選択させる方法はありますか?私はこのコードが似ていることを知っています: エリア= Application.InputBox(プロンプト:= _ "範囲を選択してください"、_ タイトル:= "InputBoxメソッド"、タイプ:= 8) しかし、関数? – th65
それをしたいのであれば、おそらく2番目のテキストボックスの使用を忘れてしまいます。代わりに、マクロを作成し、InputBoxをポップアップして検索する名前を取得するボタンをツールバーに割り当ててから、選択したRangeを取得し、両方の関数をコード内の関数に渡します。こうすると、ユーザーは範囲をハイライト表示してからボタンをクリックします。それは私が思うようにそれをする良い方法だろう。 –