私はここで働いている2枚のシートがあります。ユーザーがこのボタンを押すsheet1には、「Cabinet date」という列があり、これは各レポートに関連する日付のリストです。 Sheet2(デッドライン)には、この日付より前に(同じ行で)満たされる一連の期限と一致するキャビネット日付列も含まれます。 //たとえば、1月の草稿の期限は同じ行になります。評価エラー
ボタンを押すと、アクティブなシートと一致するシート2のキャビネットの日付が検索されます。 cell(on sheet1)を検索し、その下にある見出し(searchCol)をピックアップし、正しいキャビネット日付のそのイベントの正確なデッドライン値をsheet2から返します。
私は現在、このボタンを実行するとsheet2からキャビネットの日付の値を取得せず、注釈付き行を何も/ trueに評価せずに、コードのブロックをスキップして締切日。
私がこれを押すと、「デッドラインが見つかりません」というメッセージが表示されます。実際に価値があるときでさえ、それは拾うべきです。
Option Explicit
Private Sub CommandButton1_Click()
Dim cabDate As String, findme As Range
Dim searchCol As Integer
searchCol = ActiveCell.Column
cabDate = WorksheetFunction.Index(Range("A1:O9999"), ActiveCell.Row, 2)
If Not IsEmpty(cabDate) Then
With Worksheets("Deadlines").Range("B:B")
Set findme = Application.WorksheetFunction.VLookup(cabDate, Sheets("Deadlines").Range("A1:O9999"), 1, False)
If Not findme Is Nothing Then
Dim findmeAddr As String
findmeAddr = findme.Address(True, True)
Dim printable As String
printable = findme.Offset(0, searchCol).Value
MsgBox (printable)
Else
MsgBox ("Deadline not found")
End If
End With
Else
MsgBox ("invalid or non existent cabinet date")
End If
End Sub
全然
編集いただければ幸いですので、任意の助けコーディングの経験がそのすべて:
こんにちは、私は変更を加えました:)しかし、私はまだ同じ場所でそのコードブロックをスキップしています。私はそれが私のデータ構造や、 'With'と私は、シート2を検索するために.Findメソッドを使用すると、空のセルは、一致するデータを含むセルではなく参照されています。 – Dingge
私は上記のように@Dinggeを共有して、ワークシートのデータ構造がどのように見えるかを共有してください。 –
あなたはそこに行きます、人々はそのボタンを使用して、アクティブなセルで期限を取得してシート2から期限を取得する – Dingge