Anzeige
Archiv - Navigation
1760to1764
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

Neuer Termin ablegen und speichern

Neuer Termin ablegen und speichern
25.05.2020 15:33:18
Ralf
Hallo nochmals ich,
Noch eine Sache. besteht die Möglichkeit, wenn ich Im Tabellenblatt (Maske)
D27 = neuer Termin Eingabe
F27 = neue Uhrzeit Eingabe
das die Daten dann autom. im Tabellenblatt (Datenbank) in der dem Kunden zugehörigen KD.-Nr. unter
N3:N6103 der Tag
O3:O6103 die Zeit
eingetargen und abgespeichert wird.
Die KD.-Nr. stammt aus der Datenbank D3:D6103
Und wenn es dafür eine Möglichkeit gibt, wär es nett wir Ihr mir dabei behöflich sein könntet.
Gruß Ralf

30
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Neuer Termin ablegen und speichern
25.05.2020 16:02:52
UweD
Noch einige Fragen
Wo im Blatt Maske steht denn die Kundennummer?
Wo sollen die Daten angefügt werden? Am Ende der Liste nach links fortschreibend?
In 2 Feldern?
Lad doch mal eine Musterdatei hoch.
LG UweD
AW: Neuer Termin ablegen und speichern
25.05.2020 18:01:44
Ralf
ja,
der Kunde kann mittels Kd.-Nr oder mittels Matchcode ( Name) aufgerufen werden
AW: Neuer Termin ablegen und speichern
25.05.2020 18:20:51
Ralf
Holla,
also den Kunde kann mittels Kd.-NR im Tabellenblatt (Maske B3 ) oder per (Matchcode C3 ) aufgerufen.
Alle Daten sind im Tabellenblatt ( Datenbank) abgelegt. dort habe ich bis jetzt jedesmal bei dem Kunden das neue im Tabellenblatt (Datenbank ) Datum ( Spalte "N") und Uhrzeit ( Spalte "O" )manuell
in der jeweiligen Zeile wo der Kunde steht eingetragen.
ich Dachte, das ich wenn ich den neuen Termin in der Maske eingeben, der Termin dann im Tabellenblatt Spalte N + O überschrieben wird.
Anzeige
AW: Neuer Termin ablegen und speichern
25.05.2020 18:23:20
Ralf
ich kann dir das Programm schicken aber wie lade ich das Programm bei dir hoch ?
AW: Neuer Termin ablegen und speichern
25.05.2020 18:31:31
UweD
Hier über den Button „Zum Fileupload“ hochladen und den Link dann in die Nachricht eintragen.
AW: Neuer Termin ablegen und speichern
25.05.2020 20:01:26
Ralf
Meine Datei ist zu groß 2,35MB , du hast meine Mail adresse,dann schreibe mich kurz an und dann sende ich dir die Datei über diesen wege zu
AW: Neuer Termin ablegen und speichern
26.05.2020 08:42:51
UweD
Hallo nochmal
Es reicht eine abgespeckte (anonymisierte) Datei mit wenigen Datensätzen.
E-mail Adresse sehe ich keine.
LG UweD
AW: Neuer Termin ablegen und speichern
26.05.2020 10:00:46
UweD
Hallo
aufgrund deiner Beschreibung könnte es so ablaufen:
- Rechtsclick auf den Tabellenblattreiter von "Maske"
- Code anzeigen
- Diesen Code reinkopieren

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim TB As Worksheet, Kunu, Datum, Zeit, Zeile As Long
Dim SpK As Integer, SpD As Integer
On Error GoTo Fehler
Const APPNAME = "Worksheet_Change"
Set TB = Sheets("Datenbank")
SpK = 4 'Spalte der Kundennummer =D
SpD = 14 'Spalte mit Datum =N
If Not Intersect(Range("D27,F27"), Target) Is Nothing Then 'nur bei Änderungen in diesen  _
Zellen auslösen
Kunu = Range("B3")
Datum = Range("D27")
Zeit = Range("F27")
If Kunu  "" Then
If IsDate(Datum) And IsNumeric(Zeit) And Zeit  0 Then 'Beides muss eingetragen  _
sein
If WorksheetFunction.CountIf(TB.Columns(SpK), Kunu) > 0 Then
'Kunde bereits vorhanden?
Zeile = WorksheetFunction.Match(Kunu, TB.Columns(SpK), 0)
Else
'Kunde nicht vorhanden?
Zeile = TB.Cells(TB.Rows.Count, SpK).End(xlUp).Row + 1 'erste Freie Zeile
TB.Cells(Zeile, SpK) = Kunu
End If
'Zeit und Datum eintragen
TB.Cells(Zeile, SpD) = Datum
TB.Cells(Zeile, SpD + 1) = Format(Zeit, "hh:mm")
'reset
Application.EnableEvents = False
Range("B3,D27,F27").ClearContents
Application.EnableEvents = True
End If
Else
MsgBox "Bitte erst Kundendummer angeben"
Exit Sub
End If
End If
'*** Fehlerbehandlung
Err.Clear
Fehler:
Application.EnableEvents = True
If Err.Number  0 Then MsgBox "Fehler in Sub """ & APPNAME & """" & vbCrLf _
& "Fehlernummer: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub
Dadurch läuft das Makro automatisch, wenn alle 3 Felder gefüllt sind.
LG UweD
Anzeige
AW: Neuer Termin ablegen und speichern
26.05.2020 11:49:37
Ralf
also ich habe den Code eingetragen, fnktioniert leider nicht ( es gibt eine Änderung
MASKE E27 ist jetz für die Uhrzeit, habe das in deinen Code auch berücksichtigt, das neue Datum wird nicht im Tabellenblatt (Spalte N + Spalte O bei den Kunden eingetragen
Die Bedingung KEIN KUNDE VOERHANDEN gibt es nicht ,
Gruß Ralf
abgespeckte MusterDatei?
26.05.2020 12:46:34
UweD
AW: abgespeckte MusterDatei?
26.05.2020 13:38:51
Ralf
ich habe eine abgespeckte Datei auf euern server gesendet
AW: abgespeckte MusterDatei?
26.05.2020 14:14:45
UweD
Du musst aber auch den Link dazu veröffentlichen
AW: abgespeckte MusterDatei?
26.05.2020 14:47:55
UweD
Hi
dann nimm es so..

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim TB As Worksheet, Kunu, Datum, Zeit, Zeile As Long
Dim SpK As Integer, SpD As Integer
On Error GoTo Fehler
Const APPNAME = "Worksheet_Change"
Set TB = Sheets("Datenbank")
SpK = 4 'Spalte der Kundennummer =D
SpD = 14 'Spalte mit Datum =N
If Not Intersect(Range("C27,E27"), Target) Is Nothing Then 'nur bei Änderungen in diesen  _
Zellen auslösen
Kunu = Range("B3")
Datum = Range("C27")
Zeit = Range("E27")
If IsDate(Datum) And IsNumeric(Zeit) And Zeit  0 Then 'Beides muss eingetragen  _
sein
If WorksheetFunction.CountIf(TB.Columns(SpK), Kunu) > 0 Then
'Kunde bereits vorhanden?
Zeile = WorksheetFunction.Match(Kunu, TB.Columns(SpK), 0)
'Zeit und Datum eintragen
TB.Cells(Zeile, SpD) = Datum
TB.Cells(Zeile, SpD + 1) = Format(Zeit, "hh:mm")
'reset
Application.EnableEvents = False
Range("C27,E27") = ""
Application.EnableEvents = True
MsgBox "Erledigt"
Else
'Kunde nicht vorhanden?
MsgBox "Kundennummer nicht gefunden"
Exit Sub
End If
End If
End If
'*** Fehlerbehandlung
Err.Clear
Fehler:
Application.EnableEvents = True
If Err.Number  0 Then MsgBox "Fehler in Sub """ & APPNAME & """" & vbCrLf _
& "Fehlernummer: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub

LG UweD
Anzeige
AW: abgespeckte MusterDatei?
26.05.2020 15:30:14
Ralf
Vielen vielen dank, klappt genau so wie ich es mir vorgestellt habe, danke noch vielmals
Gruß Ralf
Danke für die Rückmeldung (owT)
26.05.2020 15:36:37
UweD
AW: Danke für die Rückmeldung (owT)
26.05.2020 16:42:25
Ralf
Halo Uwe
Ich stehe vor einem richtigen Problem was ich einfach nicht lösen kann.
Ich beziehe im Tabellenblatt (Maske) mittels SVERWEIS Daten aus dem Tabellenblatt (Datenbank) wie folgt:
AC3:AC= Datum&Zeit --- AC3:AC59 wird Tag&Zeit zusammen ausgewiesen im Tabellenblatt(Maske) AF&AG
AD3:AD59 = Kundennummer erhalte ich durch SVERWEIS aus der Datenbank
AE3:AE59 = Kundenname erhalte ich durch SVERWEIS aus der Datenbank
AF3:AF59 = Tag erhalte ich durch SVERWEIS aus der Datenbank
AG3:AG59 = Uhrzeit erhalte ich durch SVERWEIS aus der Datenbank
Für mich ist es nunmehr wichtig, das die Zeilen (AC3:AG59) automatisch sortiert werden und zwar der 1. Termin oben
nachfolgend der 2. Termin etc.
Die sortierten Termine werden dann in der sichtbaren MASKE oben angezeigt.
Da du schon meine Datei hast und mir glücklicherweise schoin einmal sehr geholfen hast, kannst du mir dabei vielleicht auch behilflich sein?
Gruß Ralf
P.S. von Rudi habe ich leider keine Rückmeldung erhalten
Anzeige
AW: Neuer Termin ablegen und speichern
26.05.2020 23:55:10
UweD
Hier über den Button „Zum Fileupload“ hochladen und den Link dann in die Nachricht eintragen.
AW: Neuer Termin ablegen und speichern
27.05.2020 08:32:22
Ralf
https://www.herber.de/bbs/user/137780.xlsm
Guten Morgen,
ich war gestern noch ein bisschen fleißig gewesen, im Prinzip könnte ich ja auch gleich
Aus der MASKE "B25" nach Datenbank "H"
"C25" nach Datenbank "i"
"D25" nach Datenbank "J"
"E25" nach Datenbank "K"
"F25" nach Datenbank "L"
"E25" nach Datenbank "M"
wie du es bereits bei dem "NEUEN TERMIN" gemacht hast, jedoch nur mit einfachen OK jeweils einzeln übertragen
Gruß Ralf
Anzeige
AW: Neuer Termin ablegen und speichern
27.05.2020 16:39:07
UweD
&GT&GT jedoch nur mit einfachen OK jeweils einzeln übertragen
versteh nicht, was du meinst
LG UweD
AW: Neuer Termin ablegen und speichern
27.05.2020 17:06:23
Ralf
Hallo Uwe,
B25 ( Text-Format ) wenn ich z.B. eingebe "VIP" reicht ok zum ablegen
C25 ( Datum - Format ) wenn ich z.B. eingebe "12.01." reicht ok zum ablegen
D25 ( Datum - Format ) wenn ich z.B. eingebe "22.02." reicht ok zum ablegen
E25 ( Datum - Format ) wenn ich z.B. eingebe "17.03." reicht ok zum ablegen
G25 ( Datum - Format ) wenn ich z.B. eingebe "11.04." reicht ok zum ablegen
F25 ( Datum - Format ) wenn ich z.B. eingebe "27.05." reicht ok zum ablegen
Anders ist es ja bei Datum (D27) und Uhrzeit (G27) da ist ja erst ok wenn beide Daten angegeben wurden.
Gruß Ralf
P.S.
Warum ich gestern noch auf die Idee kam, ist dann kann ich die Datenbank komplett ausblenden und brauch die nur noch 2 oder 3 mal im Jahr einblenden um neune Kundendatei einzulesen.
Anzeige
AW: Neuer Termin ablegen und speichern
28.05.2020 08:55:50
UweD
Guten Morgen
ich hab es mal umgebaut...

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim TB As Worksheet, Kunu, Datum, Zeit, Zeile As Long
Dim SpK As Integer, SpD As Integer, SpR As Integer
Dim RNG1 As Range, RNG2 As Range
On Error GoTo Fehler
Const APPNAME = "Worksheet_Change"
Set TB = Sheets("Datenbank")
SpK = 4 'Spalte der Kundennummer =D
SpD = 14 'Spalte mit Datum =N
SpR = 8 'Spalte mit Restdaten =H
Set RNG1 = Range("B25:G25")
Set RNG2 = Range("D27,G27")
'nur bei Änderungen in diesen Zellen auslösen
If Not Intersect(Union(RNG1, RNG2), Target) Is Nothing Then
Kunu = Range("B3")
If WorksheetFunction.CountIf(TB.Columns(SpK), Kunu) > 0 Then
'Kunde bereits vorhanden?
Zeile = WorksheetFunction.Match(Kunu, TB.Columns(SpK), 0)
Else
'Kunde nicht vorhanden?
MsgBox "Kundennummer nicht gefunden"
Exit Sub
End If
If Not Intersect(RNG1, Target) Is Nothing Then
'Restdaten eintragen
TB.Cells(Zeile, SpR).Offset(0, Target.Column - 2) = Target
End If
If Not Intersect(RNG2, Target) Is Nothing Then
Datum = Range("D27")
Zeit = Range("G27")
'Datum / Zeit; Beides muss eingetragen sein
If IsDate(Datum) And IsNumeric(Zeit) And Zeit  0 Then
'Zeit und Datum eintragen
TB.Cells(Zeile, SpD) = Datum
TB.Cells(Zeile, SpD + 1) = Format(Zeit, "hh:mm")
'reset
Application.EnableEvents = False
RNG1 = "": RNG2 = ""
Application.EnableEvents = True
MsgBox "Erledigt"
End If
End If
End If
'*** Fehlerbehandlung
Err.Clear
Fehler:
Application.EnableEvents = True
If Err.Number  0 Then MsgBox "Fehler in Sub """ & APPNAME & """" & vbCrLf _
& "Fehlernummer: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub
LG UweD
Anzeige
AW: Neuer Termin ablegen und speichern
28.05.2020 09:54:48
Ralf
Ist nur ein Problem dabei,
nach Eingabe in B25 oder C25, D25, E25, F25, G25 leert er hinterher nicht die Zellen ( clear )
die Daten bleiben in der Maske also bei dem nächsten Kunden drin stehen
Gruß Ralf
AW: Neuer Termin ablegen und speichern
28.05.2020 10:06:35
Ralf
Es müsste also wenn ich was in B25 bis G25 eintrage = erledigt = kommen und dann clear
weil wenn du mal ausprobierst Kunde 1 z.B. "B25" aktiv
und du wechselst dann zu Kunde 2 steht immer noch in "B25" aktiv , wird zwar nicht in die Datenbank übertragen ist aber sehr verwirren, weil man annimmt das der Kunde bereits aktiv ist, obwohl er es nicht ist
AW: Neuer Termin ablegen und speichern
28.05.2020 11:49:07
UweD
Hi
Ok. Ich dachte, es müssten immer alle 8 Felder gefüllt sein.
Jetzt wird B25:G25 gelöscht, wenn alle diese 6 gefüllt sind
und D27; G27 ,wenn Datum und Zeit eingetragen sind.

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim TB As Worksheet, Kunu, Datum, Zeit, Zeile As Long
Dim SpK As Integer, SpD As Integer, SpR As Integer
Dim RNG1 As Range, RNG2 As Range
On Error GoTo Fehler
Const APPNAME = "Worksheet_Change"
Set TB = Sheets("Datenbank")
SpK = 4 'Spalte der Kundennummer =D
SpD = 14 'Spalte mit Datum =N
SpR = 8 'Spalte mit Restdaten =H
Set RNG1 = Range("B25:G25")
Set RNG2 = Range("D27,G27")
'nur bei Änderungen in diesen Zellen auslösen
If Not Intersect(Union(RNG1, RNG2), Target) Is Nothing Then
Kunu = Range("B3")
If WorksheetFunction.CountIf(TB.Columns(SpK), Kunu) > 0 Then
'Kunde bereits vorhanden?
Zeile = WorksheetFunction.Match(Kunu, TB.Columns(SpK), 0)
Else
'Kunde nicht vorhanden?
MsgBox "Kundennummer nicht gefunden"
Exit Sub
End If
If Not Intersect(RNG1, Target) Is Nothing Then
'Restdaten eintragen
TB.Cells(Zeile, SpR).Offset(0, Target.Column - 2) = Target
'reset, wenn alle Zellen gefüllt
If WorksheetFunction.CountA(RNG1) = RNG1.Count Then
Application.EnableEvents = False
RNG1 = ClearContents
Application.EnableEvents = True
MsgBox "Erledigt"
End If
End If
If Not Intersect(RNG2, Target) Is Nothing Then
Datum = Range("D27")
Zeit = Range("G27")
'Datum / Zeit; Beides muss eingetragen sein
If IsDate(Datum) And IsNumeric(Zeit) And Zeit  0 Then
'Zeit und Datum eintragen
TB.Cells(Zeile, SpD) = Datum
TB.Cells(Zeile, SpD + 1) = Format(Zeit, "hh:mm")
'reset
Application.EnableEvents = False
RNG2 = ClearContents
Application.EnableEvents = True
MsgBox "Erledigt"
End If
End If
End If
'*** Fehlerbehandlung
Err.Clear
Fehler:
Application.EnableEvents = True
If Err.Number  0 Then MsgBox "Fehler in Sub """ & APPNAME & """" & vbCrLf _
& "Fehlernummer: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub
LG UweD
Anzeige
AW: Neuer Termin ablegen und speichern
28.05.2020 12:40:38
Ralf
Zeigt mir Fehler `ClearContens
If WorksheetFunction.CountA(RNG1) = RNG1.Count Then
Application.EnableEvents = False
RNG1 = ClearContents
Application.EnableEvents = True
es wird immer in B25 bis G25 nur 1 oder 2 Daten eingegen
AW: Neuer Termin ablegen und speichern
28.05.2020 14:31:56
UweD
Hi
Ok Fehler von mir.
Hatte RNG1 = "" in RNG1 = ClearContents geändert
Richtig ist RNG1.ClearContents und an der anderen Stelle RNG2.ClearContents
zu "es wird immer in B25 bis G25 nur 1 oder 2 Daten eingegen"
Woher soll das Makro dann wissen, wenn ALLE Daten vollständig sind und der Reset durchgeführt werden soll?
Das muss dann händisch oder über eine Andere Möglichkeit ausgelöst werden.
Zählen, ob alle 6 NICHT LEER klappt dann nicht mehr.
If WorksheetFunction.CountA(RNG1) = RNG1.Count Then
LG UweD
Anzeige
AW: Neuer Termin ablegen und speichern
28.05.2020 16:06:06
Ralf
Zeigt mir Fehler `ClearContens
If WorksheetFunction.CountA(RNG1) = RNG1.Count Then
Application.EnableEvents = False
RNG1 = ClearContents
Application.EnableEvents = True
kam bei mir fehler raus, wahrscheinlich meine Unkenntnis, bitte trage du die Änderung ein.
gehe aus MASKE "B3" gebe dort 2 ein und enter
trage dann z.B. MASKE "G27" 28.5. ein und enter
(im DATENBLATT ist nunmehr unter Kunde 2 ("M4" 28.5. richtig!!!!
nund gebe in MASKE "B3" eine 5 eine und enter
Nun muss B27 bis G27 alles blanko sein
schicke mir dann bitte den neunen code zu
Gruß Ralf
AW: Neuer Termin ablegen und speichern
29.05.2020 10:21:10
Ralf
guten Morgen,
Du brauchst nicht an der Sache ändern!!
nach Eingabe MASKE B25 oder C25 oder etc. muss ich nur das neue Datum und Zeit zur Wiedervolage ( D27 + G27 eintragen, dann funktioniert alles SUPER
eigentlich auch logisch, wenn ich dem kunden was zusende, dass ich ihn nochmals ansrufen muss.
Andere Sache hast du eine Idee wie man das sortieren meine Wiedervorlage MASKE "AF3:AJ59" regeln kann
ich habe gestern noch alles mögliche ausprobiert kam einfach nur SCHROTT raus
Gruß Ralf
AW: Neuer Termin ablegen und speichern
30.05.2020 10:15:37
Ralf
Hallo Uwe,
also wie schon gesagt, funktioniert alles Super, nur noch eine Sache vielleicht bitte.
Wenn ich in der MASKE "B3" die Kd.-Nr. oder "D3" den Namen ändere und ich den Kunden abgearbeitet habe
z.B. Zeile "B25" bis "H25" und den Kunden neu in der Wiedervorlage terminiert habe "ERLEDIGT", dass dann autom. "B3" wieder auf "A1" und/oder "D3" wieder aus "B1" zurück geht.
Die Sache mit dem sortieren in der Wiedervorlage habe ich erstmals weiter nach hinten verschoben
muss erstmal damit so weiter machen.
Die neue Version des Programm ist als Anhang anbei.
Ich wünsche Dir noch schöne Pfingstfeiertage
Gruß Ralf
https://www.herber.de/bbs/user/137883.xlsm

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige