Excel VBA質問箱 IV

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

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


17784 / 76738 ←次へ | 前へ→

【64402】「印刷」する前に「登録・更新」ボタンを押させたい
質問  初心者です  - 10/2/2(火) 17:48 -

引用なし
パスワード
   エクセルで納品書を作成する本を見て、納品書を作成している、VBA初心者です。
いつもお世話になっております。
早速つまづいております。
やっと納品書の「印刷」ボタンを作成するところまで来ましたが、テンプレートでは、「印刷」ボタンを押すと「納品日」を新たに記入させてから印刷する、というコードなのですが、納品日の入力確認ではなく(納品日はすでに記入欄があります)、記入した納品書データを「登録・更新」ボタンを押させて、登録してから印刷するようにしたいです。

元のコードは、下記の通りです。

'
'「印刷」ボタンの処理
'
Private Sub cmd印刷_Click()
  Dim myDate As Variant  '納品日
  
  '納品日を指定する
  Do
    '入力ダイアログボックスを表示する
    myDate = InputBox("納品日を入力してください。")
    
    '[キャンセル]ボタンがクリックされた場合は終了する
    If myDate = "" Then
      Exit Sub
    End If
    
  '日付データが入力されるまで繰り返す
  Loop Until IsDate(myDate)
  
  '納品日をセルF3に入力する
  Worksheets("伝票印刷").Range("F3").Value = myDate
  
  'フォーカスをボタンからセルに移動する
  Range("D3").Select
  
  '印刷プレビュー画面を表示する
  Worksheets("伝票印刷").PrintPreview
End Sub


今まで学んできた知恵を総動員して私が考えたコードは、以下の通りです。
「印刷」ボタンが押されると、まず、登録されると伝票の情報が転記される「TB_受注」シートの中から、該当の伝票番号があるか無いか探し、あれば印刷し、無ければ「登録・更新」ボタンを押してください、というメッセージボックスを表示して、プロシージャを抜ける、ということがやりたいです。


Private Sub cmd印刷_Click()

'「TB_受注」シートから「伝票番号」を検索
  Dim tbSRange As Range  '検索範囲のセル
  Dim tbFRange As Range  '見つかったセル

  '検索範囲のセル(表の1列目)を変数に代入する
  Set tbSRange = Worksheets("TB_受注").Range("A4").CurrentRegion.Columns(1)
  
  '伝票番号を先頭から検索する(L7は伝票番号)
  Set tbFRange = tbSRange.Find(What:=Range("L7"), _
    LookIn:=xlFormulas, Lookat:=xlWhole, SearchDirection:=xlNext)
    
  '戻り値を代入する
  If tbFRange Is Nothing Then
    '見つからなかった場合、「登録・更新」ボタンを押してください、というメッセージを表示する
  MsgBox "「登録・更新」ボタンを押してください"
  'フォーカスをボタン「登録・更新」ボタンに移動する
  Range("cmd登録・更新").Select   ←ここがよく分かりません
  'プロシージャから抜ける
  Exit Sub

  Else
    '見つかった場合、印刷プレビュー画面を表示する
  Worksheets("伝票印刷").PrintPreview

  End If
  
  'オブジェクト変数を解放する
  Set tbSRange = Nothing
  Set tbFRange = Nothing

End Sub


全体的に合っていますでしょうか?
すみません、恐ろしくて、まだ、試していません。
変数tbSRangeと、tbFRangeは、前回も使ったんですが、また、今回も使ってもだいじょうぶでしょうか?
何卒、よろしくお願いいたします。

0 hits

【64402】「印刷」する前に「登録・更新」ボタンを押させたい 初心者です 10/2/2(火) 17:48 質問
【64404】Re:「印刷」する前に「登録・更新」ボタン... Jaka 10/2/3(水) 13:06 発言
【64410】Re:「印刷」する前に「登録・更新」ボタン... 初心者です 10/2/3(水) 17:58 お礼

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