アプリ版:「スタンプのみでお礼する」機能のリリースについて

ユーザーフォームについて質問させていただきます



ユーザーフォームにて3個の条件で検索し一致した項目の左端の日付に入力した日付を転記させたいと思っています。
どなたかよろしくお願いします。

「ユーザーフォームについて質問させていただ」の質問画像

質問者からの補足コメント

  • ユーザーフォームの内容です。
    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
    コンボボックスのリストは一部省略しています。

      補足日時:2016/10/09 06:55

A 回答 (2件)

>更新日は検索をしてフォームを閉じた日付を転記です。


要するに、日付のところに「当日」を設定すればよいのですね?
であれば、MsgBoxのところを次のように修正してください。

MsgBox c.Offset(i, -1).Value
 ↓
c.Offset(i, -1).Value = Date


交換履歴については、当初のご質問から逸脱していませんか?やりたい内容を整理して、別途、質問を挙げた方が、より良い回答が得られると思います。

ちなみに、交換履歴を別シートで管理するのであれば、画像のシートに入力するのではなく、交換履歴シートに入力した方が簡単ではないでしょうか。画像のシートは交換履歴シートを元に表示するイメージです。
    • good
    • 1
この回答へのお礼

ママチャリさんの教えてくださったメゾットで交換履歴シートに転記してデータを記録して、そのデータを元に各号機、ユニット等の最新履歴だけを抜き出すといった形ですかね汗 そこまで頭が回ってませんでした、すみませんm(__)m
頑張って作って見ます

お礼日時:2016/10/10 07:54

こんな感じでどうでしょう。


まず、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
    • good
    • 1
この回答へのお礼

表にある日付の所を更新したいです。
更新日は検索をしてフォームを閉じた日付を転記です。

この表は各号機の各ユニットのどのローラーを最も最近でいつ交換したかを記録するものです。
可能であれば過去の交換履歴も別シートなどに蓄積していきたいです。

お礼日時:2016/10/09 22:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!