Registriert seit: 25.10.2021
Version(en): Office 365
Hallo,ich würde gerne ein Diagramm(Punkt(XY)) automatisch mit Anfang und Enddatum skalieren.
Anfangsdatum steht in Berechnungen B2 mit Format Datum Typ *14.03.2012 und ist 01.08.2021
Enddatum steht in Berechnungen B3 mit Format Datum Typ *14.03.2012 und ist 20.08.2021
Die x-Achse des Diagrammes ist auch mit Datum Typ *14.03.2012
Folgender VBA Code:
Sheets("Diagramm1").Select
ActiveChart.Axes(xlCategory).MinimumScale = Sheets("Berechnungen").Range("B2")
Sheets("Umwälzpumpe").Select
ActiveChart.Axes(xlCategory).MaximumScale = Sheets("Berechnungen").Range("B3")
Im Diagramm erhalte ich aber 20.06.4862 bis 20.06.4862.
Jemand eine Idee?
Registriert seit: 26.11.2020
Version(en): 2013
Hallo
Bei mir - Excel 2013 - klappt Dein Makro bestens.
Lade doch mal Deine Datei hoch.
Niclaus
Registriert seit: 25.10.2021
Version(en): Office 365
Ich konnte das Problem ein wenig eingrenzen.
Ich lese mehrere Dateien mit folgendem Script ein und das Diagramm startet mit 00.01.1900 obwohl das richtige Datum der 01.09.2021 wäre.
Irgendwas stimmt mit dem Format nicht, wenn ich nämlich das Datum per Hand in die Spalte eintrage, wird das Diagramm korrekt erstellt.
Das Format scheint aber identisch zu sein.
Code:
Public Sub Daten_mehrerer_Dateien_zusammenfuehren()
'Code für ein allgemeines Modul
'********************************
'Autor: Jürgen Hennekes
'********************************
On Error GoTo errExit
Dim WBQ As Workbook
Dim WBZ As Workbook
Dim varDateien As Variant
Dim lngAnzahl As Long
Dim lngLastQ As Long
Set WBZ = ActiveWorkbook
'Altdaten auf Zielblatt löschen
WBZ.Worksheets(1).Range("A2:IV65536").ClearContents
varDateien = _
Application.GetOpenFilename("Datei (*.*),*.*", False, "Bitte gewünschte Datei(en) markieren", False, True)
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
For lngAnzahl = LBound(varDateien) To UBound(varDateien)
Set WBQ = Workbooks.Open(Filename:=varDateien(lngAnzahl))
lngLastQ = WBQ.Worksheets(1).Range("A65536").End(xlUp).Row
WBQ.Worksheets(1).Range("A2:Z" & lngLastQ).Copy _
Destination:=WBZ.Worksheets(1).Range("A" & WBZ.Worksheets(1).Range("A65536").End(xlUp).Row + 1)
WBQ.Close
Next
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
MsgBox "Es wurden " & UBound(varDateien) & " Dateien zusammengefügt.", 64
Exit Sub
errExit:
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
If Err.Number = 13 Then
MsgBox "Es wurde keine Datei ausgewählt"
Else
MsgBox "Es ist ein Fehler aufgetreten!" & vbCr _
& "Fehlernummer: " & Err.Number & vbCr _
& "Fehlerbeschreibung: " & Err.Description
End If
End Sub
Registriert seit: 02.12.2017
Version(en): Microsoft365
27.10.2021, 16:44
(Dieser Beitrag wurde zuletzt bearbeitet: 27.10.2021, 16:48 von EA1950.)
Hallo,
Zitat:Ich lese mehrere Dateien mit folgendem Script ein und das Diagramm startet mit 00.01.1900 obwohl das richtige Datum der 01.09.2021 wäre.
ein Datum 00.01.1900 (formatiert als "Datum, kurz") entspricht, als Standardzahl formatiert, der Zahl 0 (=fortlaufende Zahl für das Datum eines Tages),
während das Datum 01.09.2021, als Standardzahl formatiert, die Zahl 44440 ergibt (somit 44440 Tage nach dem Tag 0).
Es dürfte somit kein Datum in die betreffende Zelle eingefügt werden, sodass die ursprünglich leere Zelle immer noch vorliegt.
Aus deinen Makros kann man nur entnehmen, dass mehrere Quelldateien in eine Zieldatei eingelesen werden können und dann die Daten hintereinander angefügt werden.
Mit lieben Grüßen
Anton.
Windows 10 64bit
Office365 32bit