Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1836to1840
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
Vergleichen und kopieren (VBA-Code)
05.07.2021 11:47:18
FloST
Hallo zusammen,
ich möchte in meiner Excel Tabelle über ein Eingabefeld diverse Zellen (nach Datum ausgewählt) überschreiben.
Die Datei (.xlsm) liegt hier:
https://www.herber.de/bbs/user/146951.xlsm
Wie im Code ersichtlich ist, habe ich eine Userform erstellt, im ersten Combo Feld kann ich die Zielzeile auswählen, mit den beiden Datums-Feldern die Spalte und mit dem unteren Combofeld die zu kopierenden Zellwerte.
Beim klick auf "Ausführen" sollen die Zellen in der vorgewählten Zeile zwischen den vorgewählten Daten mit dem Inhalt der Vorlagezeile ersetzt werden (die farbliche Markierung ist nur fürs leichtere Verständnis hier im Forum und soll nicht ausgeführt werden).
Ich möchte mich schonmal vorab für eure Vorschläge bedanken.
SG Flo!

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vergleichen und kopieren (VBA-Code)
05.07.2021 17:34:52
Daniel
HI
probiers mal damit:

Private Sub CommandButton1_Click()
Dim S1 As Long
Dim S2 As Long
If ComboBox1.ListIndex = -1 Then Exit Sub
If ComboBox2.ListIndex = -1 Then Exit Sub
If DTPicker1.Value > WorksheetFunction.Max(Rows(2)) Then Exit Sub
If DTPicker2.Value > WorksheetFunction.Max(Rows(2)) Then Exit Sub
If DTPicker1.Value 
Gruß Daniel
AW: Vergleichen und kopieren (VBA-Code)
06.07.2021 07:19:42
FloST
Hallo Daniel,
danke. Das klappt wunderbar, auch wenn ich die Funktion noch nicht ganz verstehe, aber mit ein bisschen Google-Recherche werde ich dann schon schlau draus.
Ich war da gestern auch noch eine Weile dran und habe es probiert mit den Funktionen find, copy paste.
hat auch funktioniert, aber nur bedingt: sobald ich (um Anzeigeplatz zu sparen) die Datumszellen im Format TT. angezeigt habe, hat es nicht mehr geklappt.
Aber wie gesagt, mit deinem Code läuft es einwandfrei.
Danke für die unglaublich schnelle und saubere Lösung!
SG Flo!
Anzeige
AW: Vergleichen und kopieren (VBA-Code)
06.07.2021 14:42:26
Daniel
HI
.Find mit Datumswerten ist schiwerig.
.Find sucht normalerweise in den formatierten Werten, so wie sie angezeigt werden, dh du musst dann das Datum nach dem du suchst, genauso formatieren wie es in den Zellen formatiert ist.
Allerdings braucht .FIND dann manchmal trotz deutschem Format in den Zellen die amerikanische Formatierung.
Ist also kompliziert und ich habe noch nicht herausgefunden, wie man am besten nach Datumswerten sucht.
aber das braucht man in der Regel ja auch nicht.
normalerweise stehen die Datumswerte in einer Zeile oder Spalte, sind aufsteigend sortiert und lückenlos.
dann kann man die gesuchte Spalte einfach berechnen, da ein Datum auch nur eine fortlaufende Zahl ist, die jeden Tag um 1 erhöht wird.
also kann man die Zielspalte nach dem Schema berechnen:

Zielspalte = Datum - erstes_Datum + erste_Spalte_des_Kalenders
.Find zum Suchen eines Datums braucht man nur, wenn die Datumswerte über mehrere Zeilen und Spalte verteilt sind.
liegen sie in einer Zeile oder Spalte, haben aber Lücken oder sind nicht sortiert, dann verwendet man Application.Match und such nach dem Ganzzahlwert des Datum.
Gruß Daniel
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige