Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zeiterfassungsdaten auswerten
#31
Code:
usedrange.Columns(1).numberformat= "TT.MM.JJJJ"
Verzichte auf:
- select in VBA
- activate in VBA
- verbundene Zellen in VBA
- format(date,"xx.xx.xxxx")
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • Rabe
Antworten Top
#32
Hallo,

hier nochmal die Datei, bei der ich einige der Anmerkungen von snb verarbeitet habe.

vor der Wandlung stehen die Daten so in der Spalte A:
   

nach der Datumswandlung:
   

Wie erkennbar ist, werden die ersten 12 Tages-Daten als Monat gewandelt.

Nun meine Fragen:
Wie formatiere ich diese Daten (Datümer) in das bei uns übliche richtige Datum?

Wie kann ich den Text, der in A6 steht per VBA in ein richtiges Datum mit dem Monatsersten umwandeln, bzw. das Jahr und den Monat auslesen, um diese in der Zeile
PHP-Code:
            .Cells(i1) = VBA.DateSerial(Year(Monat), Month(Monat), Val(.Cells(i2))) 
verwenden zu können.

Hier nun die Datei mit Makro:
.xlsb   Monatsjournal - Datum wandeln.xlsb (Größe: 37,59 KB / Downloads: 12)
Antworten Top
#33
Hallo

ich habe gerade was ganz einfaches probiert, bei mir hat es geklappt. Ich habe eine neue Spalte eingefügt, auf unser Datum formatiert, das Datum als Text kopiert, und mit Suchen/Tauschen das "/" Zeichen gegen einen Punkt getauscht. Bei mir stimmt das Datum.  Hift dir das weiter??

mfg Gast 123
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • Rabe
Antworten Top
#34
setze diese Zeile davor .Cells(i, 1).NumberFormat = "dd.mm.yyyy"
[-] Folgende(r) 1 Nutzer sagt Danke an ralf_b für diesen Beitrag:
  • Rabe
Antworten Top
#35
Hallo Ralf,

aaaah, jetzt habe ich auch verstanden, wo die Zeile von snb hin soll!

Danke euch Dreien!

Ich weiß noch nicht, wie die kommenden Monats-Listen genau aussehen und woher Excel dann wissen soll, daß das dann der Februar oder März, ... ist.

Es ist noch interessant zu wissen, wie ich den Text, der in A6 steht per VBA in ein richtiges Datum mit dem Monatsersten umwandeln kann, bzw. das Jahr und den Monat auslesen, um diese in der Zeile
Code:
.Cells(i, 1) = VBA.DateSerial(Year(Monat), Month(Monat), Val(.Cells(i, 2)))
verwenden zu können.
Antworten Top
#36
Hi Ralf,

also, wenn Du aktuelle Daten verwenden willst, dann

DateSerial(Year(Date), Month(Date), 1)

("VBA." ist nicht erforderlich)

Falls Du den Text "Januar 2021" umwandeln willst, dann mit etwas Glück was in der Art (In Deiner Beispieldatei geht's)

Cells(6, 1).Value = Cells(6, 1).Text
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Rabe
Antworten Top
#37
Schneller als mit Arrays geht's nicht:

Code:
Sub M_snb()
  Sheets("Rohwerte").UsedRange.Copy Sheets("Datum").Range("A1")

  c00 = " " & Sheets("Datum").Cells(6, 1)
  With Sheets("Datum").UsedRange.Columns(2)
    .NumberFormat = "DD.MM.YYYY"
    sn = .Value
 
    For j = 1 To UBound(sn)
      If Not IsEmpty(sn(j, 1)) Then sn(j, 1) = CDate(sn(j, 1) & c00)
    Next
       
    .Value = sn
  End With
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • Rabe
Antworten Top
#38
Hi,

@André: so hat es geklappt.
@Dolph: das funktioniert auch, Geschwindigkeit muß ich noch vergleichen mit dem anderen Code.

Datenzeilen: 6121 Zeilen
Makro ohne Array-Code: 1,531 Sek., 1,515 Sek.
Makro mit Array-Code: 0,235 Sek., 0,203 Sek.

Gruß Ralf
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste