• 締切済み

ユーザーフォーム 入力値 検索について

VBAを勉強中の初心者です。宜しくお願い致します。 シートの1行に1から31まで書き込んでいます。 ユザーフォームのテキストボックスに数字(1から31)を入力し 決定ボタンをおすと入力した数字を探し、 その一つ下を選択したいのですが、分かりません。 A1 B1 ・・・・・・・AE1  1  2       31 ココ ←を選択したい 上記の場合、ユザーフォームのテキストボックスには"1"と入力してます。 やりたいことは、日報で日にちをテキストボックス入力したら もともとシートに作ってある日にちを探し、その下に入力していきたいのです。 分かり辛くてすみませんが、アドバイスをお願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

月中の日付が同じ行で数字で横に並んでいるなら Sub test03() x = 12 '12日のつもり Range("B1:AF1").Find(x).Select 'A列は見出し等があるとして避けた例 Selection.Offset(1, 0).Select MsgBox Selection.Address c = Selection.Column Cells(35246, c).End(xlUp).Offset(1, 0).Select '今までの入力済みのデータの最終行の次行をとらえる Selection = 55 '値を入れる '<-ーフォームのテキストボックスなどから代入 End Sub Selectionは省いたコードに出来るが、説明のためこうしている。 練習問題としてはお勉強だが、実務では余り意味内と思う(指定日付列など見ればすぐ判る。またフォームにデータを入れさせるのは、セルに直接入れさせるほうが、直接的)

noname#146604
noname#146604
回答No.1

ユーザーフォームじゃないけど Sub macro() Dim num As Integer Do num = Application.InputBox("日付を入力", Type:=1) Loop Until 0 < num And num <= 31 x = Range("a1:ae1").Find(num, lookat:=xlWhole).Offset(1, 0).Select End Sub