Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1676to1680
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
Datumsformat in 06#03#2019
06.03.2019 10:46:54
Lukossek
Schönen guten Tag zusammen!
Ich hätte da ein kleines Problem, welches ich einfach nicht lösen kann. Vielleicht hat jemand einen
Lösungsvorschlag.
Folgendes versuche ich zu realisieren:
Es gibt eine Anzahl von n Exceldateien, welche immer gleich aufgebaut sind. Dort gibt es einen _
Bereich, welcher den Namen DATA hat. Ist immer eine Zeile, wo die Zellen die Formatierung _
Standard, Text und Datum haben. Diesen Bereich kopiere ich mit folgenden Code in eine _
Mastertabelle:

Function GetConnXLS(ByVal cFileName As String, _
Optional ByVal InformErrMSG As Boolean = False) As ADODB.Connection
On Error GoTo LOI:
'Open ADO connection to excel workbook
Dim oConn As ADODB.Connection
Dim Ext As String, ConnStr As String
Set oConn = New ADODB.Connection
ConnStr = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & cFileName & ";" & _
"Extended Properties=""Excel 12.0;HDR=Yes;"";"
oConn.Open ConnStr
Set GetConnXLS = oConn
LOI:
If Err.Number  0 Then
Set oConn = Nothing
If InformErrMSG Then
MsgBox "GetConnXLS" & ": " & Err.Number & " " & Err.Description, vbCritical
End If
End If
End Function

Sub merge_all()
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sh As Worksheet
Dim I As Long, k As Long, CountFiles As Long, J As Long
Dim files As Variant
files = Application.GetOpenFilename(, , , , True) 'hier wird der Dateiauswahldialog _
geöffnet; Multiselect ok'
If VarType(files) = vbBoolean Then Exit Sub
Set sh = Sheets("Planung") 'Tabellenblatt Planung in Variable; ist Ausgabeblatt'
For k = LBound(files) To UBound(files) 'hier Beginn Schleife für ausgewählte Dateien; _
müsste Array sein'
Set cnn = GetConnXLS(files(k)) 'variable cnn; Wert aus Array
If cnn Is Nothing Then
MsgBox "Textbox aus Sub merge: " & files(k)
Exit Sub
End If
Set rst = cnn.Execute("SELECT *,""" & files(k) & """ as [From File] FROM DATA") _
'ein recordset'
CountFiles = CountFiles + 1 'Anzahl der markierten Dateien'
For J = 0 To rst.Fields.Count - 1 'hier werden die notwendigen Spalten ermittelt
sh.Cells(CountFiles + 1, J + 1).Value = rst.Fields(J).Name
'cells(Zahl, Buchstabe; Beginn B2); das schreibt die Werte aus DATA in Planung
Next J
rst.Close
Set rst = Nothing
cnn.Close
Set cnn = Nothing
Next k 'Schleife K für nächste Datei
MsgBox "Done"
End Sub

Sind noch ein paar Kommentierungen dabei, damit ich verstehe, was da passiert. Hoffe ich zu mindestens...
Das funktioniert auch so.
Aber das Datum wird aus dem Namensbereich DATA, dort ist es mit dem Format 06.03.2019 eingetragen, in die
Mastertabelle als 06#03#2019 eingetragen.
Ich verstehe nicht, warum das passiert und wie könnte ich das Problem lösen?
Vielen Dank für die Hilfe!
Gruß
Günter

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datumsformat in 06#03#2019
06.03.2019 11:08:34
mmat
Hallo Günter,
was ist das ding an der Quelle (06.03.2019)? Ist das ein Datum oder eine Zeichenfolge, die aussieht wie ein Datum?
Was kommt am Ziel an?
An Quelle und Ziel kann man leicht prüfen, ob wirklich ein Datum drinsteht, indem man die Zelle mal als Zahl formatiert. Ein Datum ist eigentlich "nur" eine 5 stellige, ganze Zahl.
AW: Datumsformat in 06#03#2019
06.03.2019 13:31:10
Lukossek
Hallo,
irgendwie kurios.
In der Quelle ist es als Datum formatiert. Ist die Quelldatei geöffnet wird in der Zieldatei auch ein Datum eingetragen.
Ist die Quelle geschlossen, dann erfolgt der Eintrag in der Zieldatei als 06#03#2019. Wenn ich die Formatierung in der Quelldatei auf Standard oder Zahl setze (und Datei schließe), dann wird in der Zieldatei wieder ein Datum eingetragen. Interessant ist hier, dass dieses Problem nur beim Format Datum kurz auftritt, nicht aber beim Format Datum lang, da funktioniert es immer....
Gruß
Günter
Anzeige
AW: Datumsformat in 06#03#2019
06.03.2019 17:34:39
mmat
Hallo Günter,
sowas hab ich auch noch nicht gehört, aber es deutet darauf hin das eine Datenverknüpfung zwischen Quelle und Ziel besteht (ob das gewollt ist?). Oder es benutzerdefinierte Formate spielen hier eine Rolle.
Per Ferndiagnose krieg ich das nicht hin. Sorry. Vielleicht kannst du eine Datei mit einer Zeile Musterdaten mal hier reinstellen.
vg, MM
AW: Datumsformat in 06#03#2019
12.03.2019 15:22:50
Lukossek
Hallo,
Sorry für die späte Rückmeldung, aber andere Sachen sind dazwischen gekommen, so dass ich erst heute eine Antwort geben kann. Habe mal die entsprechende Quelldatei beigefügt.
Die Datei habe ich auf das wesentlichste zusammen gekürzt. Hier werden später die Daten durch Kollegen gepflegt. Ein Teil der Daten soll dann mittels einer Datei Mastertabelle zusammengefasst werden. Den Code habe ich oben gepostet, oder soll ich diese Datei auch uploaden?
Ich bekomme aber in der Mastertabelle kein Datumsformat kurz hin, nur wenn entweder die Quelldatei geöffnet ist, oder in der Quelldatei das Format Standard oder Zahl lautet.
Kann ich auch eine .xlsm hochladen?
Danke und Gruß
Günter
https://www.herber.de/bbs/user/128328.xlsx
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige