Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1052to1056
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

Datumsformat

Datumsformat
03.03.2009 07:25:19
oscar
Ich wünsche allen Forumusern einen schönen guten Morgen, und hoffe dass mir jemand weiter helfen kann. Ich habe eine Exceltabelle die aus einer Datenbank befüllt wird. Das Problem – das Datum hat das Format Standard, von Hand bekomme ich das Datumsformat indem ich mit 1 multipliziere, da das ganze aber automatisch ablaufen muss habe ich die Schritte mit den Makrorekorder aufgezeichnet:

Sub Datumsformat()
Range("K2").Select 'Wert ist die 1
Selection.Copy
Range("G2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False
End Sub


Lasse ich das Makro ablaufen wird aber kein Datumsformat erstellt. Mit Hand ja, die gleichen Schritte mit Makro nein, ich bin am verzweifeln.
In hoffnungsvoller Erwartung Oscar

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

Betreff
Datum
Anwender
Anzeige
AW: Datumsformat
03.03.2009 08:20:20
Hajo_Zi
Hallo Oscar,
auf select kann in VBA zu 99,9% verzichtet werden.
Excel ist ein vielseitiges Programm und man kann viele Probleme damit lösen. Jede positive Seite hat aber auch negative Aspekte - einer davon ist im Makrorecorder enthalten.
Die Bücher, die es zu Excel VBA gibt, erklären viele Funktionen, aber ich habe bisher nur in einem gelesen, dass der vom Makrorecorder aufgezeichnete Code bereinigt werden sollte.
Der Makrorecorder zeichnet alle Aktionen auf, u. a. auch das Auswählen einer Zelle oder eines eingebetteten Objektes (Bild, Diagramm, Zeichnungsobjekt usw.) dabei wird generell Select und Activate aufgezeichnet. Diese Befehle sind in VBA zu 99,9% nicht notwendig. Sie lassen den Bildschirm flackern und senken die Geschwindigkeit bei der Ausführung des Codes. Man sollte also schon von Beginn an bei der Programmierung darauf achten, solche Befehle zu vermeiden. Meine Erfahrung mit dem Vorsatz: Das mache ich später ist, man schreibt das Programm später meist komplett neu. Also kostest es nicht nur Rechnerzeit sondern auch Deine Zeit und ist Dir Deine Zeit so wenig Wert?
Zum Vergleich mit und ohne Select schau Dir auch mal diese Beispielarbeitsmappe an: mit und ohne select Auf meiner Homepage sind alle meine Beispiele ohne Select. Da kann man sich also einige Lösungsansätze zu diesem Thema ansehen.
Mit dem Code wandelst Du Text in Zahlen um aber Du weist kein Datumsformat zu.

Anzeige
DB Tabelle mit angrenzende Formeln
03.03.2009 08:36:24
Renee
Hi Oscar,
Wenn du die Tabelle via ein DB-Query befüllst, kommst du auch ohne VBA aus.
Rechtsklick auf den Datenbereich - Datenbereich Eigenschaften
Option: Zellen für neue Daten einfügen, nicht verwendete Zellen löschen
CheckBox: Formeln in angenzenden Zellen auffüllen - anhaken!
Wenn du jetzt in die erste freie Spalte und die Zelle der ersten Zeile, rechts von deinem Datenbereich die Formel =G2*1 einfügst, werden diese Formeln automatisch für den gesamten Datenbereich aufgefüllt. Die Spalte noch als Datum formatieren und fertig.
GreetZ Renée
AW: Datumsformat
03.03.2009 09:59:44
oscar
Erstmal besten Dank für eure Mühe und den Tipps.
Da ich auf die Datenbank kein Einfluss habe – es wird eine fertig befüllte Exceltabelle geliefert die ich so verwenden muss. Warum das „zu Fuߓ geht aber mit Makrorekorder nicht weiß ich noch immer nicht.
Aber mit der Formel =DATUM(TEIL(A7;7;4);TEIL(A7;4;2);TEIL(A7;1;2)) und folgenden Makro geht’s, „zu Fuߓ und mit Makrorekorder.
Application.ScreenUpdating = False
Do Until ActiveCell.Offset(0, -4).Value = ""
ActiveCell.FormulaR1C1 = _
"=DATE(MID(RC[-2],7,4),MID(RC[-2],4,2),MID(RC[-2],1,2))"
ActiveCell.Value = ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Loop
Application.ScreenUpdating = True
Nochmals besten Dank und ein kreativen Excel-Tag wünscht oscar
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige