es wäre nett wenn mir jemand beim "Feintuning" helfen würde:
Habe ein Tabellenblatt mit Autofilter
Code:
Private Sub cmb_Branche_Ordner_Click()
Dim rngBereich As Range
Dim strWBName$, sPath$
Dim NewWB As Workbook
Dim oSH As Worksheet
With ThisWorkbook 'Diese Arbeitsmappe
Set oSH = .Sheets("tbl_Daten") 'Tabelle anpassen
'Pfad
sPath = IIf(Right$(.Path, 1) = "\", .Path, .Path & "\")
'Dateiextention
strWBName = Mid$(.name, InStrRev(.name, "."), Len(.name))
With oSH
'Dateiname
strWBName = .Range("O2").Value & strWBName
'Filterbereich
Set rngBereich = .AutoFilter.Range
End With
'Neue Datei
Set NewWB = Workbooks.Add(xlWBATWorksheet)
'kopieren
rngBereich.Copy
'einfügen
With NewWB.Sheets(1).Cells(1, 1)
.PasteSpecial xlPasteValues 'Werte
.PasteSpecial xlPasteFormats 'Format
End With
'speichern
On Error Resume Next
Application.DisplayAlerts = False
NewWB.SaveAs sPath & strWBName, .FileFormat
Application.DisplayAlerts = True
'Fehler beim speichern
If Err.Number 0 Then
MsgBox "Fehler Nr.: " & Err.Number & vbCr & vbCr & Err.Description
End If
NewWB.Close False
End With
End Sub
der Code funktioniert aber ich hätte gerne folgendes1,unter strWBName = .Range("O2").Value & strWBName soll mir nach der Filterung auch dieser gefilterte Name übergeben werden hier wird mir immer der Wert von Spalte O Zeile 2 übergeben
2,das Format (Spaltenbreite wird mir nicht übernommen)
3,beim speichern von NewWB.SaveAs ...möchte ich gerne ,da der Ordner immer ein anderer ist,diesen auch frei wählen können.
Im voraus vielen Dank für die Mühe
Gruß Richard