Zapisywanie arkuszy na podstawie ich nazw

0

To makro prawie robi dokładnie to, czego potrzebuję, ale chciałbym, aby umieściło „_sspl.xlsx” na końcu każdej nazwy arkusza i umieściło pliki w folderze o tej samej nazwie, co oryginalna ścieżka do pliku.

Nie mogę tego zrobić poprawnie.

Sub CreateNewFolder()
Dim wbThis As Workbook
Dim wbNew As Workbook
Dim ws As Worksheet
Dim strFilename As String

    Set wbThis = ThisWorkbook.Name
    For Each ws In wbThis.Worksheets
        strFilename = wbThis.Path & "/" & ws.Name
        ws.Copy
        Set wbNew = ActiveWorkbook
        wbNew.SaveAs strFilename
        wbNew.Close
    Next ws
End Sub
Andrea
źródło

Odpowiedzi:

0

„Nie mogę tego naprawić” nie jest najdokładniejszym opisem problemu :)

Poniższy kod nie został przetestowany (nie mam programu Excel na tym komputerze), ale myślę, że zrobi to, co chcesz.

Sub CreateNewFolder()
Dim wbThis As Workbook
Dim wbNew As Workbook
Dim ws As Worksheet 
Dim strFilename As String

Set wbThis = ActiveWorkbook
For Each ws In wbThis.Worksheets
    strFilename = wbThis.Path & "/" & ws.Name & "_sspl.xlsx"
    ws.Copy
    Set wbNew = ActiveWorkbook
    wbNew.SaveAs Filename:=strFilename
    wbNew.Close
Next ws

End Sub
cybernetic.nomad
źródło
To miało dla mnie sens lol Przepraszam.
Andrea
Potrzebuję makra, aby oddzielić wszystkie arkusze w skoroszycie i zapisać je jako nazwę strony plus „_sspl.xlsx i do folderu o nazwie takiej samej jak arkusz kalkulacyjny. Jeśli to ma sens. Kod, który napisałem, robi to wszystko, ale nie zawiera potrzebnego sufiksu i nie umieszcza ich w folderze. Ten, który utworzyłeś, mówi mi, że istnieje „niedopasowanie typu”, gdy próbuję go uruchomić. Mam nadzieję, że to ma większy sens.
Andrea
Zobacz edycję w moim kodzie, zmieniłem się wbThis = ThisWorkbook.Namena wbThis = ThisWorkbooktak, jak wbThisDimmed jako skoroszyt, a nie ciąg znaków (powinieneś otrzymywać ten sam błąd niedopasowania typu w kodzie BTW), od tego czasu przetestowałem mój kod i działa
cybernetic.nomad
Zrobił wszystko, czego potrzebowałem, ale poszedł do własnego folderu, ale mogę go utworzyć, przeciągnij i upuść. Dziękuję bardzo. Naprawdę wdzięczny.
Andrea