SSブログ

Excel2000 VBA InputBoxでB列の管理番号からC列の氏名を調べる [Excel2000 VBA独習]

Excel2000 VBA InputBoxでB列の管理番号からC列の氏名を調べる

Sub 管理番号から氏名調べる()
'
'B列に管理番号、C列に氏名
'InputBoxに管理番号を入力し氏名をMsgBoxに表示する
'

Dim myR As StringVariant
Dim obj As Object
Dim sinki2 As String
Dim find_row As Integer
Dim find_column As Integer
Dim simei As String

'inputbox を表示して値を取得
myR = Application.InputBox(title:="管理番号から氏名を調べる", prompt:="管理番号を入力してください", Default:="", left:=100, top:=100, Type:=2)
If VarType(myR) = vbBoolean Then Exit Sub  ’キャンセルボタンが押された時の処理 myR変数のデータ型を全てのデータに対応したvariant(バリアント型)にする

'シートに同じ値が有るか調べる
Set obj = Worksheets("sheet1").Cells.Find(myR, lookat:=xlWhole)
If obj Is Nothing Then GoTo sinki2 Else
find_row = Worksheets("sheet1").Cells.Find(myR).Row
find_column = Worksheets("sheet1").Cells.Find(myR).Column
simei = Cells(find_row, find_column + 1).Value

MsgBox "氏名は 「 " & simei & " 」 さんです"
Exit Sub

sinki2:
MsgBox "該当する氏名がありません"

End Sub

キャンセルが押された時の処理方法が課題

--------------------------------------------

InputBox
  •  Type(省略可)省略すると文字列として扱う
  • 値     意味
  • 0            数式
  • 1      数値
  • 2      文字列
  • 4      論理値(TrueまたはFalse)
  • 8             セル参照(Rangeオブジェクト)
  • 16     エラー値
  • 64           数値配列
  • (数値と文字列なら1+2で3を指定)

Prompt 省略不可

  • ダイアログボックスに表示する文字列
  • 改行コードの使用可 vbCrLf   vbTab 

Default 省略可

  • テキストボックスに規定値として表示する文字

Title 省略可

  • ダイアログボックスのタイトルバーに表示する文字

 

excel_vba_inputbox_01.jpg

excel_vba_inputbox_02.jpg


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。