2017-02-10 5 views
0

私は今、承認プロセスを作成しようとしていますし、そうするためには、私は現在のオファーの詳細と、その後の詳細シートを示したサマリーシートを、持っています、承認されたもののログを保持しています。現在、あなたは、オファーの情報は、第2のシート(特典の詳細)に入力し、[承認者が開いており、承認される必要があるかを確認するためにドロップダウンボックスを表示することができます。私は、私はボタンをクリックして承認を必要とし、それはオファーの詳細]タブに対応するセルに承認者のユーザ名と日付をお送りします除き、すべてが動作しています。私はコードがH1での概要]タブにあるものと一致するプランの詳細ページに列Bを何であるか、正しいラインを見つけることができるようになりますH1でキーを作成しました。コマンドボタン

私は以下の書いたこのコードを持っているが、それは動作しません。オファーの詳細シートでユーザー名がM列に移動する必要があるセル(要約のキーに基づいて正しい行が見つかると)。それはハードコードされているので、私は監査目的のためにそれを保持することができます。

これは感覚は私が知っていると私は明確にしようとすることはありません場合。

ありがとうございました!

Private Sub CommandButton1_Click() 
Dim rng As Range 
Dim cell As Object 
With Sheets("Offer Details") 
    Set rng = Sheets("Offer Details").Range("B1:B1000") 
    For Each cell In rng 
     If cell.Value = Sheets("Offer Details").Cells(1, 8) Then 
      cell.Offset(0, 12).Value = Environ("USERNAME") 
      Exit For 
     End If 
    Next 
End With 
End Sub 
+0

は 'Cell'が列 'B'になります。それを12列分オフセットすると、それはN列にはなりませんか?また、With Sheets( "Offer Details") 'を使用しているので、' With'ステートメントでそれを繰り返す必要はありません。先行する '.'を使うことができます。つまり' Set rng = .Range( "B1:B1000") 'です。 – BruceWayne

答えて

0

あなたはcolum "M"はあなたのコードのたびに、ベースとなる必要がある場合は、この操作を行うことができます。

Private Sub CommandButton1_Click() 
Dim rng As Range 
Dim cell As Object 
Dim inc as Integer 
With Sheets("Offer Details") 
    Set rng = .Range("B1:B1000") 
    For Each cell In rng 
     inc = inc + 1 
     If cell.Value = .Cells(1, 8) Then 
      .Range("M" & inc) = Environ("USERNAME") 
      Exit For 
     End If 
    Next 
End With 
End Sub 
+0

何らかの理由でまだ動作していません。ボタンを押すと何も起こりません。助言がありますか? – Lisa

+0

気にしない、私はシートを指定しただけでそれは機能した。そんなにありがとう! – Lisa

+0

ようこそ。問題が解決し、回答が良かった場合は、回答に印を付けることができますか? –

関連する問題