Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: X in gefundene Zelle schreiben

X in gefundene Zelle schreiben
04.09.2015 10:47:19
Shawn
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

Anzeige

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: X in gefundene Zelle schreiben
04.09.2015 14:07:07
Sebastel
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

Anzeige
AW: X in gefundene Zelle schreiben
04.09.2015 14:35:19
Beverly
@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?


Anzeige
AW: X in gefundene Zelle schreiben
04.09.2015 14:44:10
Shawn
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

AW: X in gefundene Zelle schreiben
04.09.2015 17:37:51
Beverly
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


Anzeige
AW: X in gefundene Zelle schreiben
04.09.2015 18:31:11
Shawn
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

Anzeige
AW: X in gefundene Zelle schreiben
04.09.2015 18:46:45
Beverly
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



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

AW: X in gefundene Zelle schreiben
04.09.2015 19:35:02
Shawn
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

AW: X in gefundene Zelle schreiben
04.09.2015 19:49:50
Beverly
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?


Anzeige
AW: X in gefundene Zelle schreiben
04.09.2015 20:17:54
Shawn
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

AW: X in gefundene Zelle schreiben
04.09.2015 22:22:44
Sebastel
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

Anzeige
AW: X in gefundene Zelle schreiben
05.09.2015 09:35:50
Beverly
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


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

AW: X in gefundene Zelle schreiben
04.09.2015 14:39:04
Shawn
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
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige