X in gefundene Zelle schreiben

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: X in gefundene Zelle schreiben
von: Shawn
Geschrieben am: 04.09.2015 10:47:19

Hallo Leute
Ich brauche Hilfe
Ich suche mit TextBox eine Nummer in den Daten und würde gerne ein X in die gefundene
Zeile,Spalte schreiben
Bei Spalte G funktioniert alles bestens aber sobald ich bei Spalte H den auftrag fertig melde löscht er mir das x in spalte G (Soll aber stehenbleiben)
Ich kriegs einfach nicht hin
Der Code:

Private Sub CommandButton1_Click()
    Dim C As Range
    Dim rngBereich As Range
    Dim i As Integer
    With Worksheets("Erfassung")
        Set rngBereich = .Range("B10:B9999")
        Set C = rngBereich.Find(TextBox1.Value, LookIn:=xlValues, lookat:=xlWhole)
        If Not C Is Nothing Then
            If .Cells(C.Row, "G").Value = "" Then          'Hier hätt ich gern wenn in "G" ein  _
X dann "Packauftrag wurde schon rückgemeldet
???? 'Hier hätt ich gern wenn in "H" ein X dann "Packauftrag wurde schon rückgemeldet
                .Cells(C.Row, "G").Value = TextBox2.Value  'Ankreuzen mit X 
                .Cells(C.Row, "H").Value = TextBox3.Value  'Ankreuzen mit X
                
                MsgBox "Packauftrag wurde Ausgebucht"
                For i = 1 To 2
                    Controls("Textbox" & i).Value = ""
                Next
            Else
                MsgBox "Packauftrag wurde schon Rückgemeldet"
            End If
        Else
            MsgBox "Packauftrag nicht gefunden"
        End If
    End With
    Unload Me
End Sub

Vielen Dank

Bild

Betrifft: AW: X in gefundene Zelle schreiben
von: Sebastel
Geschrieben am: 04.09.2015 14:07:07
Hallo Shawn,
ohne jetzt der VBA-Profi zu sein, irritiert mich an Deinem Code die Verwendung con cells(c.row, "G"). Dass c.row für einen numerischen Wert steht, ist klar. Mich stört die Kombination mit dem nachfolgenden String "G".
Ich habe eben mal die Adressierung einer Zelle mit dieser Mischung ausprobiert - ohne Erfolg. Mit rein numerischen Werten klappt's problemlos. Vielleicht liegt's da daran?
Viel Spaß!
Sebastel

Bild

Betrifft: AW: X in gefundene Zelle schreiben
von: Beverly
Geschrieben am: 04.09.2015 14:35:19
@Sebastel,
diese Schreibweise ist so schon korrekt - man kann bei Cells auch die Spalte mit ihrem Buchstaben angeben, ist aber nicht ganz so sinnvol, weil Excel intern die Zellangaben in der Weise Zeilennumer/Spaltennummer speichert. Bei Angabe Zeilennummer/Spaltenbuchstabe muss der Spaltenbuchstabe intern erst in die Spaltennummer umgerechnet werden.
@Shawn,
also so richtig klar ist mir nicht, was bei dir wann in welche Zellen eingetragen werden soll. Soll "Packauftrag wurde schon rückgemeldet" als MsgBox ausgegeben werden, wenn in Spalte G ein X steht?




Bild

Betrifft: AW: X in gefundene Zelle schreiben
von: Shawn
Geschrieben am: 04.09.2015 14:44:10
Hallo Karin
Wenn in Spalte G ein X schon vorhanden dann MsgBox "Packauftrag wurde schon rückgemeldet"
und das gleiche in Spalte H
Viele Grüsse

Bild

Betrifft: AW: X in gefundene Zelle schreiben
von: Beverly
Geschrieben am: 04.09.2015 17:37:51
Hi Shwan,
meinst du vielleicht so:

Private Sub CommandButton1_Click()
    Dim C As Range
    Dim rngBereich As Range
    Dim i As Integer
    With Worksheets("Erfassung")
        Set rngBereich = .Range("B10:B9999")
        Set C = rngBereich.Find(TextBox1.Value, LookIn:=xlValues, lookat:=xlWhole)
        If Not C Is Nothing Then
            If .Cells(C.Row, 7).Value = "" Then
                .Cells(C.Row, 7).Value = TextBox2.Value  'Ankreuzen mit X
                .Cells(C.Row, 8).Value = TextBox3.Value  'Ankreuzen mit X
                MsgBox "Packauftrag wurde Ausgebucht"
                For i = 1 To 2
                    Controls("Textbox" & i).Value = ""
                Next
            ElseIf .Cells(C.Row, 7).Value = "X" Or .Cells(C.Row, 8) = "X" Then
                MsgBox "Packauftrag wurde schon Rückgemeldet"
            End If
        Else
            MsgBox "Packauftrag nicht gefunden"
        End If
    End With
    Unload Me
End Sub



Bild

Betrifft: AW: X in gefundene Zelle schreiben
von: Shawn
Geschrieben am: 04.09.2015 18:31:11
Hallo Karin
Also wenn in C.Row, 7 ein x vorhanden dann MsgBox "Packauftrag wurde schon Rückgemeldet" aber nur wenn ich nochmals in 7 schreiben will aus versehen
und in C.Row, 8 ein x vorhanden dann MsgBox "Packauftrag wurde schon Rückgemeldet"
und auch hier nur wenn ich nochmals eine x schreiben will
weil so kann ich nicht beide spalten (7 und 8 rückmelden) geschiet zu anderen Datums
wenn in 7 ein wert steht muss ich auch in 8 rückmelden können
das gleiche in 8
aber nicht 2 mal bei 7 oder 8
ich hoffe ich habe mich klar ausgedrückt
Vielen Dank

Bild

Betrifft: AW: X in gefundene Zelle schreiben
von: Beverly
Geschrieben am: 04.09.2015 18:46:45
Hi Shaw,
leider habe ich deine Erklärung nicht verstanden.
Hier mal das was ich daraus interpretiert hätte:

        If Not C Is Nothing Then
            If .Cells(C.Row, 7).Value = "" Then
                .Cells(C.Row, 7).Value = TextBox2.Value  'Ankreuzen mit X
                .Cells(C.Row, 8).Value = TextBox3.Value  'Ankreuzen mit X
                MsgBox "Packauftrag wurde Ausgebucht"
                For i = 1 To 2
                    Controls("Textbox" & i).Value = ""
                Next
            End If
            If .Cells(C.Row, 7).Value = "X" Then MsgBox "Packauftrag wurde in G schon Rü _
ckgemeldet"
            If .Cells(C.Row, 8).Value = "X" Then MsgBox "Packauftrag wurde in H schon Rü _
ckgemeldet"
        Else
            MsgBox "Packauftrag nicht gefunden"
        End If




Bild

Betrifft: AW: X in gefundene Zelle schreiben
von: Shawn
Geschrieben am: 04.09.2015 19:31:02
Hallo
Nein nicht ganz
ich muss beide spalten füllen können mit einem x
MFG

Bild

Betrifft: AW: X in gefundene Zelle schreiben
von: Shawn
Geschrieben am: 04.09.2015 19:35:02
Ps.
also wenn zuerst ein x in 7 habe muss ich auch z.b nächste woche in 8 eine x schreiben können
dann soll ich in 7 und 8 ein x stehen haben

Bild

Betrifft: AW: X in gefundene Zelle schreiben
von: Beverly
Geschrieben am: 04.09.2015 19:49:50
Hi,
sorry, aber ich verstehe nur Bahnhof. Was steht denn in den TextBoxen - ein "X"? Dann lasse doch die entsprechende TextBox leer und prüfe im Code, ob die TextBox leer ist und frage die Zellen nur ab ob ein X drin steht, wenn diese TextBox nicht leer ist. Wie soll Excel denn sonst wissen, wann es in welche Spalte etwas eintragen darf und wann nicht?




Bild

Betrifft: AW: X in gefundene Zelle schreiben
von: Shawn
Geschrieben am: 04.09.2015 20:17:54
Hallo Karin
Ich habe hier eine Beispieldatei:
https://www.herber.de/bbs/user/100021.xls
Im Userform wäre es natürlich schoner mit 2 OptionButton für NL und Fertig
MFG

Bild

Betrifft: AW: X in gefundene Zelle schreiben
von: Sebastel
Geschrieben am: 04.09.2015 22:22:44
Guten Abend allerseits,
sorry für meine späten Kommentare ...
@ Karin
Lieben Dank für den Hinweis zur Syntax von cells. Warum meine Versuche erfolglos blieben, werde ich dann mal ausprobieren. Ich habe mich bei eigenen Makros inzwischen sehr an die cells(n ,n) Version gewöhnt.
@ Benny
Du hast mich mit dem Austausch "G" / "H" ... numerisch gegen 7 / 8 richtig verstanden. Schade, dass es nicht geholfen hat. Zu Deinem Dank für meine Zeit: Gerne!
Schönen Abend noch
Sebastel

Bild

Betrifft: AW: X in gefundene Zelle schreiben
von: Beverly
Geschrieben am: 05.09.2015 09:35:50
Hi Shawn,
benutze 2 CheckBoxen, setze sie auf Enabled False, ebenso den CommandButton1. Sobald du in der TextBox1 etwas einträgst und Enter drückst, wird nach dem TextBox-Inhalt gesucht und geprüft, ob G oder H leer sind. Falls ja, dann wird die entsprechende CheckBox auf Enabled True gesetzt und kann aktiviert werden.
https://www.herber.de/bbs/user/100028.xls




Bild

Betrifft: AW: X in gefundene Zelle schreiben
von: Shawn
Geschrieben am: 05.09.2015 11:35:12
Hallo Karin das ist noch die bessere Lösung hält den Code schmaler
Vielen Lieben Dank
Viele Grüsse

Bild

Betrifft: AW: X in gefundene Zelle schreiben
von: Shawn
Geschrieben am: 04.09.2015 14:39:04
Hallo Sebastel
Also habe die Werte in
.Cells(C.Row, "G").Value = TextBox2.Value 'Ankreuzen mit X
.Cells(C.Row, "H").Value = TextBox3.Value 'Ankreuzen mit X
durch
.Cells(C.Row, 7).Value = TextBox2.Value 'Ankreuzen mit X
.Cells(C.Row, 8).Value = TextBox3.Value 'Ankreuzen mit X
ersetzt leider ohne Erfolg :-(
Mit rein Numerischen Werten hast du schon das gemeint oder ?
Viele Grüsse und Danke dir für deine Zeit

 Bild

Beiträge aus den Excel-Beispielen zum Thema "X in gefundene Zelle schreiben"