Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1444to1448
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
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

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

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


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

Anzeige
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

326 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige