Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1728to1732
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

Kopieren als Text

Kopieren als Text
18.12.2019 12:16:17
Simone
Hallo zusammen,
ich habe mal wieder ein Problem :-)
Ich ziehe aus der Datei "Datenbank.xlsm" ein Tabellenblatt-Bereich mit dem u.a. Code raus, ohne die Datei zu öffnen.
Das klappt alles hervorragend! Die Felder mit den Kalenderwochen sind in der Ursprungsdatei so abgespeichert: 1 / 2020. Bis zur KW51 (also 51 / 2019) hat das Makro dieses Format auch genauso importiert. Ab der KW1 (also 1 / 2020) wir nur noch "Jan 20" importiert und nicht wie es richtig wäre 1 / 2020.
Wie kann ich dem u.a. Makro sagen, dass er alles als "Text" kopieren soll?
Vielen Dank und viele Grüße
Simone
Sub DatenLaden()
Dim Pfad2 As String
Pfad2 = ThisWorkbook.Worksheets("Zwischenspeicher").Range("m2").Value
Application.ScreenUpdating = False
Worksheets("Daten").Activate
Dim rng As Range, _
sFile As String, sPath As String, _
oldStatusBar As Boolean
Application.ScreenUpdating = False
oldStatusBar = Application.DisplayStatusBar
Application.DisplayStatusBar = True
sFile = "Datenbank.xlsm"
sPath = Pfad2
With Sheets("Daten")
.Range("A1:T7500").Formula = "='" & sPath & "[" & sFile & _
"]Daten'!A1:T7500"
Set rng = .Range("A1:T7500")
End With
Worksheets("Daten").Activate
rng.Cells(1).Copy rng
rng.Value = rng.Value

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopieren als Text
18.12.2019 14:18:05
Nepumuk
Hallo Simone,
das geht nicht per Formel. Warum nicht die Mappe kurz öffnen und die Werte "normal" kopieren?
Es ist übrigens ein Trugschluss dass die Mappe per Formel nicht geöffnet wird. Das geschieht nur "unsichtbar" für den Benutzer denn Excel kann nicht direkt Daten von der Festplatte lesen.
Teste mal damit:
Public Sub DatenLaden()
    Const File_NAME As String = "Datenbank.xlsm"
    Dim strPath As String
    Dim objWorkbook As Workbook
    strPath = ThisWorkbook.Worksheets("Zwischenspeicher").Range("M2").Value
    Set objWorkbook = GetObject(PathName:=strPath & File_NAME)
    Call objWorkbook.Worksheets("Daten").Range("A1:T7500").Copy( _
        Destination:=ThisWorkbook.Worksheets("Daten").Range("A1"))
    Call objWorkbook.Close(SaveChanges:=False)
End Sub

Gruß
Nepumuk
Anzeige
AW: Kopieren als Text
18.12.2019 14:27:08
mmat
Hallo,
ohne die Datenbank im Zugriff zu haben, komme ich zu keinem abschließenden Ergebnis. Irgendwas in 2020 ist anders.
Versuch: Formatiere die Zelle A1 in der Datenbank.xlsm explizit als Text.
vg, MM

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige