Ich versuche gerade, einen Genehmigungsprozess zu erstellen, und um dies zu tun, habe ich ein Übersichtsblatt, das aktuelle die Details der Angebote und dann ein Detailblatt zeigt, wo ich Ich protokolliere, was genehmigt ist. Zurzeit geben Sie die Informationen des Angebots in das zweite Blatt ein (Angebotsdetails), und dann kann der Genehmiger ein Dropdown-Feld anzeigen, um zu sehen, was geöffnet ist und genehmigt werden muss. Ich habe alles funktioniert, außer, ich brauche den Genehmiger, um auf eine Schaltfläche zu klicken, und es wird den Benutzernamen des Genehmigers und das Datum an die entsprechende Zelle auf der Registerkarte Angebotsdetails senden. Ich habe einen Schlüssel in H1 erstellt, der es dem Code ermöglicht, die richtige Zeile zu finden. Die Spalte B auf der Angebotsdetailseite stimmt mit der Zusammenfassung in H1 überein.Befehlsschaltfläche für Genehmigungen auf verschiedenen Blatt
Ich habe diesen Code, den ich unten geschrieben habe, aber es funktioniert nicht. Die Zellen, bei denen der Benutzername in Spalte M des Angebotsdetailblattes gehen muss (sobald die richtige Zeile basierend auf dem Schlüssel in der Zusammenfassung gefunden wurde). Es muss fest codiert sein, damit ich es für Prüfungszwecke aufbewahren kann.
Wenn das keinen Sinn macht lass es mich wissen und ich werde versuchen zu klären.
Vielen Dank!
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
'Cell' in Spalte 'B' sein wird. Wenn Sie das um 12 Spalten versetzen, wäre das nicht die Spalte "N"? Da Sie 'With Sheets (" Offer Details ")' verwenden, müssen Sie diese Anweisung nicht mit "With" wiederholen. Sie können einfach ein vorangestelltes '.' Verwenden, d. H. 'Set rng = .Range (" B1: B1000 ")'. – BruceWayne