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

VBA Ergebnis ungleich Manuel nach value=value

VBA Ergebnis ungleich Manuel nach value=value
20.11.2015 11:51:26
Thorben
Moin moin alle zusammen,
ich habe hier eine Musterdatei in der eine einfache Abfrage + Berechnung stattfindet.
https://www.herber.de/bbs/user/101668.xlsm
1 Formel
1 x manuell
1 x mit dem Recorder aufgenommen und dann per VBA
Die manuelle Excel Formel gibt alles richtig wieder.
Schreibe ich die Formel nun per VBA in die Zellen dann gibt diese bei einigen
statt des gewünschtem Ergebnis ein binäres Datum zurück?
Fehler gefunden, hier:
  • With Range("D2:D" & Cells(Rows.Count, "A").End(xlUp).Row)
    arr = .Value2
    .Value2 = arr
    End With ' Range

  • Wenn ich diese Prozedur nun weglasse ist alles i.O.
    Meine Frage nun: Warum?
    Bitte schauts euch mal an und freue mich auf euer Feedback!
    Vielen Dank und Gruß
    Thorben

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

    Betreff
    Datum
    Anwender
    Anzeige
    AW: VBA Ergebnis ungleich Manuel nach value=value
    20.11.2015 12:09:13
    Rudi
    Hallo,
    das liegt an den automatischen Umwandlungsfunktionen.
    Formatiere die Zellen vor der Umwandlung als Text.
        With Range("D2:D" & Cells(Rows.Count, "A").End(xlUp).Row)
        .NumberFormat = "@"
    arr = .Value2
    .Value2 = arr
    End With ' Range
    
    Gruß
    Rudi

    AW: VBA Ergebnis ungleich Manuel nach value=value
    20.11.2015 12:17:13
    Daniel
    Hi
    wenn du auf diese Weise per Makro Werte in eine Zelle oder einen Zellbereich schreibst, dann prüft Excel nochmal nach, ob es sich bei der Eingabe um eine Zahl, ein Datum oder eine Formel handeln könnte und wandelt die Eingabe entsprechend um.
    Nur wenn die Eingabe weder als Zahl, Datum oder Formel erkannt wird, wird sie als Text interpretiert und unverändert in der Zelle angezeigt.
    Desweiteren ist es so, dass Excel für diese Prüfung immer die internationalen Schreibweisen zu Grunde legt, wenn die Eingabe durch ein Makro erfolgt.
    Da international auch der "/" als Trennzeichen im Datum verwendet wird, erkennt Excel das "5/10" und andere eben als Datum in Kurzschreibweise und wandelt die Eingabe in ein Datum um.
    Da du das Zahlenformat der Zellen nicht änderst und dieses weiterhin auf Standard steht, wird der dem Datum entsprechende Ganzzahlwert angezeigt (in Excel ist ein Datum eine normale Zahl, ein Tag entspricht dem Wert 1. Die Zählung beginng am 1.1.1900 und wird jeden Tag um 1 hochgezählt.
    Gruß Daniel

    Anzeige
    gemerkt/gespeichert Vielen Dank ihr beiden! owT
    20.11.2015 12:44:54
    Thorben
    .

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige