|
またまたお願いします。前回の質問に関係するのですが…
シート"DataSet"のA列に時間データがあります。セルのフォーマットは"m/d/yyyy h:mm"で例えば"2/14/2005 11:04:23 AM”です。このようなデータが1000行まで20秒ごとにあります。このデータから処理の開始行と終了行をユーザーに指定させようとしています。そこで、以下のコードを使い、100行ごとの時間をコンボボックスにリストアップし、ユーザーが選択できるようにしました。
その後に選択された時間のセル番号を取得するために、Findメソッドを用いているのですが、どうしても見つかりません。
以下のコードの変数XXXを使わず、実際の日付・時間データを使うと見つけることができます。(ただし、LookIn:=xlFormulasを使った場合。LookIn:=xlValuesではだめ。)
どなたか、原因を教えてください…。
わかりにくい説明で申し訳ございません。
Private Sub UserForm_Initialize()
Dim i As Integer
Dim DateTime(10) As String
For i = 0 To 1000 Step 100
DateTime(i / 100) = Worksheets("DataSet").Range("A" & i).Value
Next i
ComboBox1.List = DateTime
ComboBox1.ColumnHeads = True
ComboBox2.ColumnHeads = True
End Sub
Private Sub CommandButton1_Click()
Dim XXX As String
XXX = UserForm.ComboBox1
Sheets("DataSet").Select
Set R = Columns("A:A").Find(XXX, SearchOrder:=xlByRows,_ LookIn:=xlFormulas, LookAt:=xlPart)
If R Is Nothing Then
MsgBox "Unable to Find"
Exit Sub
End If
MsgBox "Cell No " & R.Address(0, 0) & Chr(13) & _
"Cell Value " & R.Value & Chr(13) & _
"Column No " & R.Column & Chr(13) & _
"2nd Column " & R.Offset(0, 1).Value & Chr(10) & _
"Row Name " & Split(R.Address, "$")(2)
End Sub
|
|