「延滞PO」ワークシートに含まれるデータと別の組織図「組織図」に含まれるデータを使用してワークブック「Vendor Management Simplified8」を取得しましたワークシート。データシートには、契約者を管理する人のリストがあります。これらの名前(この列には空白はありません)をループして、組織図内で名前を見つけて、General Managerの名前と部署を返し、これらの値を列NとOに戻します。名前は組織図にあります。これまでのところ、私はこれを持ってVBAで行番号を見つけて、値を持つ新しいセルを見つけるためにループを使用
...これまでのところ
Dim Cell As String
Dim loopy As Integer
Dim findrow As range
Dim finddata As Integer
loopy = 2
Do Until Worksheets("Overdue PO").range("E" & loopy).VALUE = "" 'loops through the name of person managing contractor
Cell = Trim(Worksheets("Overdue PO").range("E" & loopy).VALUE) 'value which needs to be looked up
'finds the row number where value is found
Set findrow = Worksheets("Organisation Chart").range("G:L").find(What:=Cell, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False)
If findrow Is Nothing Then
Else: finddata = findrow.Row
End If
Do Until Worksheets("Organisation Chart").range("D" & finddata).VALUE <> "" 'if cell is not empty
If Worksheets("Organisation Chart").range("D" & finddata).VALUE = "" Then
finddata = finddata - 1 'go up the cells
End If
Loop
Worksheets("Overdue PO").range("0" & loopy).VALUE = Worksheets("Organisation Chart").range("D" & finddata).VALUE 'department
Worksheets("Overdue PO").range("N" & loopy).VALUE = Worksheets("Organisation Chart").range("D" & finddata - 1).VALUE 'general manager
loopy = loopy + 1
Loop
- それはそれは価値まで組織図内の行をループし、値を検索し、「findrow」内の行番号を返します。空白でない場合は、延滞POワークシートの列Oに部門を入力しようとすると、Worksheets("Overdue PO").range("0" & loopy).VALUE = Worksheets("Organisation Chart").range("D" & finddata).VALUE
行にエラーが表示されます(ランタイムエラー1004 - アプリケーション定義またはオブジェクト定義エラーが表示されます)。
このエラーを表示するにはどうしたらよいですか?一般管理者と部門を見つけるために列をループする簡単な方法はありますか?事前に
感謝:)
はその 'O'またはあなたがそのラインを持っているゼロですか? – Brian
'with ... end with'ステートメントの使用を検討することもできます。 :-) – Brian
ありがとう@ブライアン - 私はそんなに長い間それを見つめていた...私はそれがそんなに愚かな間違いだったとは信じられない!それは今うまく動作します、ありがとうございます:) – Amy