| すぐマク YNxv9821 | Home | Search | Contents | Gallery | Introduction | Service | Support | What's New! |
| 日付を元に見出し行を検索し対応する列の所定のセルをアクティブにするには? |
|
|
|||
|
お祝いのお言葉、ありがとうございます。 ボタンをクリックするだけで、家計簿シートの当日のセルを選択するマクロを組みたいのですね。 家計簿シート
左図のとおり、ご質問文からワークシートを再現してみました。赤いセルが 「9/26なら E7セルを選択する」 というセルです。なぜ、E7セルになるのか、E列が 26日ということは理解できますが、7行目になる根拠がわかりません。 もう一つ、質問文の青字の部分は、どのシートのことなのか、E7セルの選択とどんな関連があるのかが、はっきりしません。 それらのために回答は、ボタンをクリックすると家計簿シートの当日日付の金額の列を検索し、その列の 7行目のセルをアクティブにする部分に限らせていただきます。(なお、当日日付が1〜24日ならば25日と同様としました)
'=========================================================================================
Option Explicit
Dim 右端, 見出し範囲, 日, 検索する文字列, セル, 列
'-----------------------------------------------------------------------------------------
Sub 当日日付を元に見出し行を検索し対応する列の所定のセルをアクティブにする()
Worksheets("9月家計簿").Activate
家計簿シートの見出し行の範囲を取得する
今日の日付から検索する文字列を編集する
当日日付の金額の列を検索して所定のセルをアクティブにする
End Sub
'-----------------------------------------------------------------------------------------
Private Sub 家計簿シートの見出し行の範囲を取得する()
Range("A1").End(xlToRight).Select '1行目の右端セルを選択する
右端 = Replace(ActiveCell.Address, "$", "") 'アクティブセルアドレスを取得して$記号を削除
見出し範囲 = "A1:" & 右端 & "1" '見出し行の範囲を取得する
End Sub
'-----------------------------------------------------------------------------------------
Private Sub 今日の日付から検索する文字列を編集する()
日 = Day(Now) '今日の日付から日を取り出す
If 日 < 25 Then 日 = 25 '1〜24日ならば25とする
検索する文字列 = 日 & "日金額" '検索する文字列を編集する
End Sub
'-----------------------------------------------------------------------------------------
Private Sub 当日日付の金額の列を検索して所定のセルをアクティブにする()
With Range(見出し範囲) '見出し範囲を対象にする
Set セル = .Find(検索する文字列, LookIn:=xlValues) '検索して見つかった最初のセルを取得
If Not セル Is Nothing Then '見つかった場合は
列 = セル.Column 'セルの列番号を取得する
Cells(7, 列).Activate '取得した列の7行目のセルをアクティブにする
End If
End With
End Sub
'=========================================================================================
このマクロを「表紙」シートに作成したボタンに登録します。ボタンは[フォーム]ツールバーで作成することをお勧めします。また、今日の日付から月を取り出して、対応する月の家計簿シートをアクティブにするコードも必要ですが、上例と下記のページを参考にしながら、ご自分で工夫してみてください。力が付きますから。 参考ページ: 指定ブックの指定シートをアクティブにする |
| http://www.geocities.jp/happy_ngi/ | Home | Contents | Gallery | Introduction | Service | Support | What's New! |