Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1864to1868
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
Inhaltsverzeichnis

springt nicht aus A1 zurück

springt nicht aus A1 zurück
10.01.2022 10:30:13
Ralf
Frohes Neues Jahr an alle und schönen guten morgen,
Ich habe dieses Programm aus meinen anderen Programm umgemodelt und stehe da vor einen Problem was mir nicht logisch ist.
wenn ich in der Maske C4 die Kd.-Nr. ändere und danach Datum und Uhrzeit eingebe und bestätige geht im andren Programm C4 wieder auf A1 zurück aber hier passiert es nicht und ich weis nicht warum.
Die individuelle Kundenabfrage nach Kd.-Nr. ist unanhängig ob ich mit Neukunden resp. mit der Wiedervorlage arbeite.
Weis einer vielleicht wodran das liegt und kann mir dabei helfen
Gruß
Ralf
https://www.herber.de/bbs/user/150303.xlsm

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: springt nicht aus A1 zurück
10.01.2022 14:28:18
ralf_b
das liegt wohl an dem Code, der in der anderen Mappe ist. Hast du die mal miteinander verglichen? Es gibt dafür nützliche Tools, die Textdateien vergleichen und die Unterschiede bunt machen.
AW: springt nicht aus A1 zurück
10.01.2022 14:55:22
Ralf
Hallo Ralf
Problem ist das es erhebliche unterschiede zwischen den beiden Code gibt auf Grund unterschiedlicher Anforderungen.
z.B. steht hier noch im Code die Möglichkeit das ich via Match einen Kunden finden kann, was noch aus dem anderen Programm ist aber hier auch nicht benötigt wird. ich weis bloß nicht ob ich den hier so einfach löschen kann.
Gruß
Ralf
AW: springt nicht aus A1 zurück
10.01.2022 15:51:03
ralf_b
naja , was soll man dazu sagen? So ist das halt wenn man sich fremder Arbeit bedient und den Überblick verliert.
Du sagst der Codeteil wird nicht benötigt. Dann nimm ihn raus. Auskommentieren reicht ja erstmal. Funktioniert dann alles wie es soll, bist du fertig.
Das Testen von komplexen Programmen ist sehr zeitaufwendig. Das Einlesen in fremden Code auch. Selbst wenn man den schon mal vor Wochen gesehen hat.
Irgendwann haben alle Helfer verstanden das du nicht programmieren lernen willst und/oder dir einfach zu viel vorgenommen hast.
Bzgl. deiner Frage: Wenn beim Eintragen der Uhrzeit etwas nicht passiert, wo sucht man dann im Code?

'KD Nr. Matchcode eintragen
Range("D4").FormulaR1C1 = "=R1C1" 'als Formel
Range("D4").FormulaR1C1 = "=R1C2"
Erkläre was dieser Code bedeutet. Wieso wird in die selbe Zelle mehrfach etwas eingetragen?
Wenn du das change Event benutzt und in diesem auch noch Zellinhalte veränderst, wird das change Event erneut aufgerufen. Die Eventbehandlung sollte dafür zeitweise ausgeschaltet werden. So wie hier

'reset
Application.EnableEvents = False
RNG1 = "": RNG2 = "": RNG3 = ""
Application.EnableEvents = True
RNG3 ist nur eine Zelle. Wieso gibt es eine Schleifenkonstuktion, die alle Zellen in RNG3 abfragt?
Anzeige
AW: springt nicht aus A1 zurück
10.01.2022 17:25:31
Ralf
Hallo Ralf,
wie schon anfangs erwähnt ihabe ich den Code aus einen anderen Programm übernommen und etwas angepasst, unter anderem wurde von euch die Funktion für Maske!C11 neu erstellt.
Wie ich das verstehe ist RNG1, RNG2 und RNG3 dafür gedacht, um in der maske die Zellen C11 - C 14 zu leeren.
Weiter habe ich auch keine Ahnung davon. wie schon erwähnt in dem anderen Programm springt autom. Die Zelle C4 aus A1 zurück nach dem ich den Kunden mit Ok erledigt habe.
Als ich habe mittlerweile die Funktion Zelle D4 rausgenommen ohne das ich eine negative Auswirkung ersehen konnte. Weil in diesen Programm wird ja auch nicht nach einen Matchcode gefragt.
Die gesammte Kiste hier funktioniert ja auch soweit. nur eben das C4 nicht zurück spriingt.
Gruß
Ralf
Anzeige
AW: springt nicht aus A1 zurück
10.01.2022 18:22:33
ralf_b
RNG1-3 wird vorher aber verwendet um deren Inhalte zu prüfen. Unter Anderem ist RNG 3 das Datum und in dieser Prüfung wird auch D4 mit der Formel für A1 und B1 belegt. Wobei D4 nur ein Teil eines Zellverbundes von C4 und D4 ist, indem deine KundenNr steht.
zeige mal deinen Originalcode. Den suche ich mir hier nicht aus Tonnen an Dateien in meinem Downloadsordner raus.
vielleicht kommentierst du erstmal einfach die zweite Zeile mit dem Range ("D4")= "=R1C2" aus.
AW: springt nicht aus A1 zurück
10.01.2022 15:50:36
onur
Einfach hinter

MsgBox "Erledigt"
DAS hier einfügen:

Cells(1, 1).Select

Anzeige
AW: springt nicht aus A1 zurück
10.01.2022 17:35:47
Ralf
Hallo onur,
ich habe das mal ausprobiert, aber klappte nicht
wenn due in der Zelle Maske C4 die 12 eingibst und datum C13 und Uhrzeit C14 eingibst und mit enter abschließt, bleibt nach wie vor in der Zelle C4 die 12 stehen.
hier müsste allerdings 10 stehen wenn die Zelle E4 aus Wiedervorlage steht.
Gruß
Ralf
AW: springt nicht aus A1 zurück
10.01.2022 20:29:43
Yal
Hallo Ralf,
anbei eine bereinigte Version von deinem Code. Viel weniger Verschachtelung, sprechende Variable, Variable, die keine Änderung bekommen als Konstante.
Einige Fehler sind noch drin, weil -na ja- Saustall eben. Aber so könntest Du mindestens eine bessere/leichtere Übersicht über das gesamt bekommen udn die Logik besser nachvollziehen.
Variabledeklaration "Option Explicit" ist für Anfänger PFLICHT ("Extras", "Optionen", "Variabledekaration erforderlich")

Option Explicit
Const SpKnd = 2  'Spalte der Kundennummer =B
Const SpGsp = 9  'Spalte mit Gespächsnotizen = I
Const SpKom = 13 'Spalte mit Kommentar = l
Const SpDat = 17 'Spalte mit Datum =l
Const SpUhr = 18 'Spalte mit Uhrzeit
Const rgKnd = "C4"
Const rgInf = "C11"
Const rgKom = "C12"
Const rgDat = "C13"
Const rgUhr = "C14"
Private ZielZeile As Long
Private Sub Worksheet_Change(ByVal Target As Range)
Const APPNAME = "Worksheet_Change"
On Error GoTo Fehler
If Target.Cells.Count > 1 Then GoTo Finally 'Alle Behandlung NUR, wenn EINE Zelle (=per Hand) geändert wurde
Application.EnableEvents = False
'verursacht Fehler bei nicht vorhandene Kundennummer und springt daher auf Fehlerbehandlung
ZielZeile = WorksheetFunction.Match(Range(rgKnd).Value, Worksheets("Datenbank").Columns(SpKnd), False)
Select Case Target.Address(False, False)
Case rgKnd 'C4
Terminvorlage_leeren
Case rgInf 'C11
Info_ablegen '  Worksheets("Datenbank").Cells(Zeile, SpKom).Offset(0, Target.Column - 6) = Range(rgInf).Value 'Info eintragen
Notiz_ablegen
Case rgKom 'C12
'Restdaten eintragen
Kommentar_ablegen
Case rgDat 'C13
Datum_ablegen
Case rgUhr 'C14
Terminvorlage_leeren
Uhrzeit_ablegen
Case Else
End Select
GoTo Finally
Fehler:
Select Case Err.Number
Case 1004
MsgBox "Fehler bei der Suche nach Kunden """ & Range(rgKnd).Value & """.", vbExclamation, "Nicht vorhanden"
Case Else
MsgBox "Fehler in Sub """ & APPNAME & """" & vbCr _
& "Fehler: " & Err.Number & vbCr _
& "Descr.: " & Err.Description
End Select
Err.Clear
Finally:
Application.EnableEvents = True
End Sub
Private Sub Terminvorlage_leeren()
Worksheets("Terminvorlage").Range("leeren").ClearContents
End Sub
Private Sub Datum_ablegen()
If IsDate(Range(rgDat).Value) Then
Worksheets("Datenbank").Cells(ZielZeile, SpDat) = Format(Range(rgDat).Value, "DD.MM.YYYY") 'könnte auch in Datum_ablegen ausgelagert werden
End If
End Sub
Private Sub Uhrzeit_ablegen()
If Range(rgUhr).Value  "" And IsDate(Range(rgUhr).Value) Then
Worksheets("Datenbank").Cells(ZielZeile, SpUhr) = Format(Range(rgUhr).Value, "hh:mm")
End If
End Sub
Private Sub Kommentar_ablegen()
Worksheets("Datenbank").Cells(ZielZeile, SpKom).Offset(0, Range(rgKom).colum - 2) = Range(rgKom).Value 'Kommentar eintragen
End Sub
Private Sub Info_ablegen()
Worksheets("Datenbank").Cells(ZielZeile, SpKom).Offset(0, Range(rgInf).Column - 6) = Range(rgInf).Value 'Info eintragen
End Sub
Private Sub Notiz_ablegen()
Dim Machen As Boolean
'Gesprächsnotizen eintragen/löschen
Machen = Range(rgKom) = ""
If Range(rgKom).Offset(0, 1).Text  "" Then
Machen = MsgBox("Soll die vorhandene Notiz in der Zeile " & Zelle.Row & " überschrieben werden?", _
vbQuestion + vbYesNo, "Eintrag überschreiben") = vbYes
End If
If Machen Then Worksheets("Datenbank").Cells(ZielZeile, SpGsp).Offset(0, Range(rgKom).Row - 10) = Zelle.Text
End Sub
VG
Yal
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige