A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>更新日は検索をしてフォームを閉じた日付を転記です。
要するに、日付のところに「当日」を設定すればよいのですね?
であれば、MsgBoxのところを次のように修正してください。
MsgBox c.Offset(i, -1).Value
↓
c.Offset(i, -1).Value = Date
交換履歴については、当初のご質問から逸脱していませんか?やりたい内容を整理して、別途、質問を挙げた方が、より良い回答が得られると思います。
ちなみに、交換履歴を別シートで管理するのであれば、画像のシートに入力するのではなく、交換履歴シートに入力した方が簡単ではないでしょうか。画像のシートは交換履歴シートを元に表示するイメージです。
ママチャリさんの教えてくださったメゾットで交換履歴シートに転記してデータを記録して、そのデータを元に各号機、ユニット等の最新履歴だけを抜き出すといった形ですかね汗 そこまで頭が回ってませんでした、すみませんm(__)m
頑張って作って見ます
No.1
- 回答日時:
こんな感じでどうでしょう。
まず、Findメソッドで号機を検索し、見つかったら、その右隣のセル値がユニット名と同じか調べます。ユニット名も同じなら、さらに右隣のセルから下方向にローラー名名?を検索し、見つかったらその日付をメッセージボックスで表示してフォームを閉じます(どこに転記するかわからなかったので、表示するようにしました)。
見つからなかった場合は、次の号機を検索して、同じことを繰り返します。
Private Sub CmdOK_Click()
Dim c As Range
Dim firstAddress As String
Dim i As Long
If cmb号機.Value = "" Then
MsgBox "号機が選択されていません!!"
Exit Sub
End If
With ActiveSheet.Cells
Set c = .Find(cmb号機.Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
firstAddress = c.Address
Do
If c.Offset(0, 1) = cmbユニット名.Value Then
For i = 0 To .SpecialCells(xlCellTypeLastCell).Row
If c.Offset(i, 2) = cmbローラー名名.Value Then
MsgBox c.Offset(i, -1).Value
Unload Me
Exit Sub
End If
If c.Offset(i + 1, 1) <> "" Then Exit For
Next i
End If
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
MsgBox "見つかりません!!"
End Sub
表にある日付の所を更新したいです。
更新日は検索をしてフォームを閉じた日付を転記です。
この表は各号機の各ユニットのどのローラーを最も最近でいつ交換したかを記録するものです。
可能であれば過去の交換履歴も別シートなどに蓄積していきたいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessでセレクタをダブルクリックで別フォームで詳細表示 3 2022/12/20 10:36
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- その他(ブラウザ) Mycrosoft Edge フォームの履歴を完全に削除したい 3 2022/08/11 09:59
- X(旧Twitter) カギをかけているツイッターの検索について教えてください。 2 2022/11/07 17:22
- Access(アクセス) Access 複数条件検索の設定が上手く行きません 1 2022/07/22 20:37
- Excel(エクセル) 【vba】日付の形式が勝手に変わってしまう。 1 2022/09/29 10:54
- Access(アクセス) Accessに関する質問です。 クエリーQ出勤 からフォームF出勤を作成 フォームは分割フォームで作 1 2023/05/26 08:57
- Access(アクセス) MSaccessのレポートを開く 2 2022/09/01 13:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「24日の0時」って・・・
-
日付の大小の表現
-
差し込み印刷に当日の日付が入...
-
「時間」、「期日」、「日付」...
-
ACCESSで日付ごとに自動連番(...
-
パソコンで購入したデーターが...
-
日付以外のデータを抽出したい...
-
ACCESS フォームで入力した日付...
-
履歴書の日付間違いで落ちますか。
-
フォームの値をクエリーに反映...
-
EXCELで日付を****年上期、****...
-
エクセル マクロ 名前を付けて...
-
Excelでヘッダに前日の日付を表...
-
ACCESSで1月1日~12月31日まで...
-
2つの日付の中間の日付 エク...
-
回覧板の日付について質問です...
-
ACCESS 今日の日付のデータ抽出...
-
エクセルVBAでFINDで年...
-
Access DTPickerの初期表示月を...
-
エクセルで日付別にシートを分...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「24日の0時」って・・・
-
パソコンで購入したデーターが...
-
「時間」、「期日」、「日付」...
-
日付の大小の表現
-
差し込み印刷に当日の日付が入...
-
回覧板の日付について質問です...
-
エクセル マクロ 名前を付けて...
-
TODAY関数から次の火曜もしくは...
-
エクセルで日付別にシートを分...
-
Excelについて
-
スプレッドシートで使う数式を...
-
エクセルで日付け表示で、明治...
-
履歴書の日付間違いで落ちますか。
-
Excelでヘッダに前日の日付を表...
-
ACCESSで1月1日~12月31日まで...
-
ACCESSで日付ごとに自動連番(...
-
エクセルで6ヵ月後を自動入力で...
-
2つの日付の中間の日付 エク...
-
差込印刷 縦書きで和暦(漢数...
-
EXCELで日付を****年上期、****...
おすすめ情報
ユーザーフォームの内容です。
Option Explicit
Private Sub btnCansel_Click()
Unload Me
End Sub
Private Sub cmb号機_Change()
End Sub
Private Sub UserForm_Initialize()
Me.cmb号機.AddItem "3号"
Me.cmb号機.AddItem "4号"
Me.cmbユニット名.AddItem "上Y"
Me.cmbユニット名.AddItem "上M"
Me.cmbローラー名名.AddItem "水着"
Me.cmbローラー名名.AddItem "呼出"
End Sub
コンボボックスのリストは一部省略しています。