Damian Zubal

Damian Zubal Specjalista ds.
zamówień

Temat: Help . Zmiana katalogu docelowego dal zapisu (InputBox)

Witam:

Utworzyłem makro, które ma utworzyć nowe skoroszyty z arkuszy z skoroszytu bazowego.
Chciałbym dołożyć do niego kod, dzięki któremu mógłbym "zmusić" excela do zapisu w wybranym przeze mnie miejscu, chciałbym to zrobić za pomocą InputBox.
W jaki sposób mogę połączyć wynik z InputBox oraz CHDir. Lub jakieś inne rozwiązanie.

Z góry dzięki za pomoc.
Załączam kod

Sub skoroszyty()
'
' skoroszyty Makro
'

'

ChDir "

If MsgBox("Czy chcesz rozdzielić arkusze?", vbYesNo + vbQuestion) = vbNo Then Exit Sub
Windows("2015-Opóźnienia- Czyste makro.xlsm").Activate
Zapis = Application.InputBox("Podaj ścieżkę zapisu")
ThisWorkbook.Worksheets(1).Range("D3") = Zapis

Sheets("BHP").Select
If ThisWorkbook.Worksheets(6).Range("S2") <> "" Then
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
Range("A2").Select
Dim BHP As String
BHP = ActiveWorkbook.Sheets(6).Range("S2").Value
Workbooks.Add
ActiveSheet.Paste
Columns("E:E").Select
Selection.ColumnWidth = 10.71
Columns("M:M").ColumnWidth = 17.43
Columns("V:V").ColumnWidth = 12.43
Columns("U:U").ColumnWidth = 11.57
Columns("P:P").ColumnWidth = 10.86
Application.WindowState = xlMaximized
Columns("M:M").Select
Selection.ColumnWidth = 15
ActiveWorkbook.SaveAs Filename:=BHP & ".xls"
ActiveWindow.Close
Windows("2015-Opóźnienia- Czyste makro.xlsm").Activate
End If
Sheets("CUK").Select
If ThisWorkbook.Worksheets(7).Range("S2") <> "" Then
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
Range("A2").Select
Dim CUK As String
CUK = ActiveWorkbook.Sheets(7).Range("S2").Value
Workbooks.Add
ActiveSheet.Paste
Application.WindowState = xlNormal
Application.WindowState = xlMaximized
Columns("M:M").Select
Selection.ColumnWidth = 15
Columns("E:E").Select
Selection.ColumnWidth = 10.71
Columns("M:M").ColumnWidth = 17.43
Columns("M:M").ColumnWidth = 17.43
Columns("V:V").ColumnWidth = 12.43
Columns("U:U").ColumnWidth = 11.57
Columns("P:P").ColumnWidth = 10.86
ActiveWorkbook.SaveAs Filename:=CUK & ".xls"
ActiveWindow.Close
Windows("2015-Opóźnienia- Czyste makro.xlsm").Activate
End If
Sheets("Dyrekcja").Select
If ThisWorkbook.Worksheets(8).Range("S2") <> "" Then
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
Range("A2").Select
Dim Dyrekcja As String
Dyrekcja = ActiveWorkbook.Sheets(8).Range("S2").Value
Workbooks.Add
ActiveSheet.Paste
Columns("E:E").Select
Selection.ColumnWidth = 10.71
Columns("M:M").ColumnWidth = 17.43
Columns("V:V").ColumnWidth = 12.43
Columns("U:U").ColumnWidth = 11.57
Columns("P:P").ColumnWidth = 10.86
ActiveWorkbook.SaveAs Filename:=Dyrekcja & ".xls"
ActiveWindow.Close
Windows("2015-Opóźnienia- Czyste makro.xlsm").Activate
End If
collate = True

End Sub
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: Help . Zmiana katalogu docelowego dal zapisu (InputBox)

Czy próbowałeś dodać ścieżkę w parametrze Filename:=

Proponuje też spojrzeć na takie dwa gotowe rozwiazania:
http://vbatools.pl/podzial-arkuszy-na-skoroszyty/
http://vbatools.pl/podziel-dane-na-arkusze-skoroszyty/ w wersji PRO
Damian Zubal

Damian Zubal Specjalista ds.
zamówień

Temat: Help . Zmiana katalogu docelowego dal zapisu (InputBox)

Nie próbowałem tego rozwiązania. Dziękuję za poradę.
Chcę wykorzystać ścieżkę aby zmienić folder docelowy na folder wybrany przez użytkownika. Niestety ChDir nie chce współpracować ze ścieżką z podaną w InputBox.Ten post został edytowany przez Autora dnia 16.10.15 o godzinie 14:06
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: Help . Zmiana katalogu docelowego dal zapisu (InputBox)

Zapis = Application.InputBox("Podaj ścieżkę zapisu")
możesz zamienić to polecenie i przypisać do zmiennej to:


With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = Application.DefaultFilePath & "\"
.Title = "Dowolny tekst"
.Show
If .SelectedItems.Count = 0 Then _
Zapis = "" Else _
Zapis = .SelectedItems(1)
End With
Sławomir Broda

Sławomir Broda VBA, Excel, Access,
SAP i wszystko
związane z
automatyzac...

Temat: Help . Zmiana katalogu docelowego dal zapisu (InputBox)

Oskar S.:
Zapis = Application.InputBox("Podaj ścieżkę zapisu")
możesz zamienić to polecenie i przypisać do zmiennej to:


With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = Application.DefaultFilePath & "\"
.Title = "Dowolny tekst"
.Show
If .SelectedItems.Count = 0 Then _
Zapis = "" Else _
Zapis = .SelectedItems(1)
End With
Można dodać jeszcze
.AllowMultiSelect = False
Damian Zubal

Damian Zubal Specjalista ds.
zamówień

Temat: Help . Zmiana katalogu docelowego dal zapisu (InputBox)

Dziękuję

Następna dyskusja:

help;)




Wyślij zaproszenie do