Autofill
01.07.2020 09:20:38
Doc
und hier direkt mein erster Beitrag. (Danke für das tolle Forum und die zahlreichen Funktionen).
Ich möchte aus einer Exceldatei A ein Makro in einer Datei B ausführen. Problem, Datei B sowie deren Blätter heißen immer anders. Soweit so gut.
Nun kämpfe ich damit, die Autofill-Funktion in Datei B aufzurufen:
Private Sub CommandButton2_Click()
Dim format As Range
Dim lngLast As Range
'**Dateifilter**
strFilter = "Excel-Dateien(*.csv*), *.csv*"
'**Vorbelgung Pfad**
ChDrive "D"
ChDir "D:xxx\"
'**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("Tabelle 1").Range("A1:B95").Copy
ActiveSheet.Cells(1, 12).Select
Selection.PasteSpecial Paste:=xlPasteAll
Workbooks("Datei A.xlsx").Worksheets("Tabelle 1").Range("D2").Copy
ActiveSheet.Cells(2, 5).Select
Selection.PasteSpecial Paste:=xlValue
For Each format In Selection
format.FormulaLocal = format.Text
Next
'an dieser Stelle komme ich nicht weiter:
lngLast = Cells(Rows.Count, 1).End(xlUp).Row
Range("E2").AutoFill Destination:=Range("E2:E" & lngLast)
'Spaltenbreite anpassen
wb.Columns("A:M").EntireColumn.AutoFit
'Dialog speichern unter
Application.Dialogs(xlDialogSaveAs).Show (strFilename)
End Sub