Hallo Mase,
bin ehr noch Anfänger, daher vielleicht die ein oder andere dumme Frage. Ich poste mal das gesamte Coding, da die Excel-Zieldatei sowie das Arbeitsballt bereits geöffnet sind. Wie gesagt, das Makro ist in in einer anderen Datei. Zusätzlich muss ich auch eine variable Zielfindung von Workbook und Worksheet nutzen, da die Daten immer anderes heißen.
Private Sub CommandButton2_Click()
Dim wb As Excel.Workbook
Dim format As Range
Dim lngLast As Range
'**Dateifilter**
strFilter = "Excel-Dateien(*.csv*), *.csv*"
'**Vorbelgung Pfad**
ChDrive "D"
ChDir "D:\xxxx\"
'**Den im Dialogfeld gewählten Namen auslesen**
strFilename = Application.GetOpenFilename(strFilter)
'**Prüfen, ob eine gültige Datei ausgewählt wurde**
If strFilename = False Then Exit Sub
'**Gewählte Datei öffnen**
Set wb = Workbooks.Open(strFilename)
'**Textkonvertierung**
Set wb = Workbooks.Open(strFilename).Sheets(1)
wb.Columns(1).TextToColumns Destination:=wb.Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=Fales, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), TrailingMinusNumbers:= _
True
'Spalte 3 (Phrase als Zahl)
wb.Columns(3).NumberFormat = "0"
'Leerzeile oberhalb
wb.Rows("1:1").Select
Selection.Insert Shift:=xlDown
'SDScom Felder kopieren & einfügen
Workbooks("Datei A.xlsx").Worksheets("Blatt2").Range("A1:B95").Copy
ActiveSheet.Cells(1, 12).Select
Selection.PasteSpecial Paste:=xlPasteAll
Workbooks("Datei A.xlsx").Worksheets("Blatt2").Range("D2").Copy
ActiveSheet.Cells(2, 5).Select
Selection.PasteSpecial Paste:=xlValue
For Each format In Selection
format.FormulaLocal = format.Text
Next
With wb
lngLast = Cells(Rows.Count, 1).End(xlUp).Row
Range("E2").AutoFill Destination:=Range("E2:E" & lngLast)
End With
'Spaltenbreite anpassen
wb.Columns("A:M").EntireColumn.AutoFit
'Dialog speichern unter
Application.Dialogs(xlDialogSaveAs).Show (strFilename)
End Sub
|