Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Tabbladen automatisch opslaan als andere werkmap  (gelezen 3694 keer)

0 leden en 1 gast bekijken dit topic.

Offline Trigz

  • Nieuw lid
  • Berichten: 2
  • Oplossing.be
Tabbladen automatisch opslaan als andere werkmap
« Gepost op: 08 augustus 2017, 10:33:37 »
Goedemorgen!

Ik ben momenteel bezig met het bouwen van het een macro welke mij in staat stelt om alle afzonderlijke werkbladen (stuk of 15) op te slaan als losse bestanden. In de macro is het van belang om onderscheid te kunnen maken tussen de klantnaam en datum (de bestanden komen in een daarvoor bestemde map). Het is mij inmiddels gelukt om de macro zo te vormen dat deze het huidige tabblad opslaat, echter lukt het me niet deze zo te maken dat de macro dit bij alle tabbladen in één keer doet. De macro is nu als volgt:

Sub Test()
Dim sBestandsnaam As String
Dim sPadnaam As String

sBestandsnaam = Range("H2").Value & "-" & Format(Date, "dd-mm-yyyy") & ".xls"
sPadnaam = "\\cli-sd\sd0357\037032\New folder\ROTS data gegevens\Dealerbestanden\"

    ActiveSheet.Copy
    ActiveSheet.SaveAs Filename:=sPadnaam & sBestandsnaam
    ActiveWorkbook.Close

End Sub


Ik dacht zelf aan het volgende:

Sub Test()
Dim sBestandsnaam As String
Dim sPadnaam As String

sBestandsnaam = Range("H2").Value & "-" & Format(Date, "dd-mm-yyyy") & ".xls"
sPadnaam = "\\cli-sd\sd0357\037032\New folder\ROTS data gegevens\Dealerbestanden\"

Sheets("Blue").Select
ActiveSheet.Copy
ActiveSheet.SaveAs Filename:=sPadnaam & sBestandsnaam
ActiveWorkbook.Close

Sheets("Doo").Select
ActiveSheet.Copy
ActiveSheet.SaveAs Filename:=sPadnaam & sBestandsnaam
ActiveWorkbook.Close

etc. etc.

Echter wordt nu alleen het tabblad "Blue" opgeslagen en krijg ik daarna de melding dat het bestand al bestaat en of ik deze wil vervangen. Ik denk dat dit probleem zich voordoet door het gebruik van ActiveSheet. Ik kom er alleen niet uit.

Is er iemand die mij kan helpen?

Trigz


Offline lommer

  • Excel-Expert
  • Volledig lid
  • *****
  • Berichten: 134
  • Geslacht: Man
Re: Tabbladen automatisch opslaan als andere werkmap
« Reactie #1 Gepost op: 08 augustus 2017, 11:43:05 »
Hier kan ASAP Utilities mogelijk een oplossing bieden.
Dit is een add-in die heel veel bewerkingen kan vereenvoudigen.

https://www.asap-utilities.com/asap-utilities-excel-tools-tip.php?tip=233&utilities=20&lang=nl_nl
Standaard emailprogramma: Outlook Express
Standaard Operating System: Windows XP SP2
Standaard Browser:Internet Explorer 6

Offline Trigz

  • Nieuw lid
  • Berichten: 2
  • Oplossing.be
Re: Tabbladen automatisch opslaan als andere werkmap
« Reactie #2 Gepost op: 08 augustus 2017, 11:56:45 »
Hier kan ASAP Utilities mogelijk een oplossing bieden.
Dit is een add-in die heel veel bewerkingen kan vereenvoudigen.

https://www.asap-utilities.com/asap-utilities-excel-tools-tip.php?tip=233&utilities=20&lang=nl_nl

Dank voor deze opmerking, alleen zijn wij hier niet gemachtigd zomaar dingen te installeren. Ik hoop dat er een formule-technische oplossing voor is :-[ 

Offline Haije

  • Excel-Expert
  • Volledig lid
  • *****
  • Berichten: 201
  • Geslacht: Man
  • Oplossing.be
Re: Tabbladen automatisch opslaan als andere werkmap
« Reactie #3 Gepost op: 09 augustus 2017, 11:27:03 »
zet

sBestandsnaam = Range("H2").Value & "-" & Format(Date, "dd-mm-yyyy") & ".xls"
sPadnaam = "\\cli-sd\sd0357\037032\New folder\ROTS data gegevens\Dealerbestanden\"
steeds nadat je een sheet gekozen hebt....

Of maak er dit van:
Sub Test()
Dim sBestandsnaam As String
Dim sPadnaam As String
for t = 2 to 15
sBestandsnaam = Range("H2").Value & "-" & Format(Date, "dd-mm-yyyy") & ".xls"
sPadnaam = "\\cli-sd\sd0357\037032\New folder\ROTS data gegevens\Dealerbestanden\"

    ActiveSheet.Copy
    ActiveSheet.SaveAs Filename:=sPadnaam & sBestandsnaam
    ActiveWorkbook.Close
next t
End Sub[/codce]

om de bladen 2 t/m 15 op t slaan
|-|aije

ik gebruik Office 2016 Professional Plus

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: Tabbladen automatisch opslaan als andere werkmap
« Reactie #4 Gepost op: 09 augustus 2017, 18:16:57 »
@ Haije,
Het goede spoor is alvast gevonden, maar binnen de lus (hier dus 14 keer) gebeurt telkens hetzelfde waardoor nog steeds slecht 1 tabblad zal gekopieerd worden.

@Trigz,
Ik neem maar even aan dat ELK tabblad uit je bestand moet gekopieerd worden (als dat niet zo is valt dat met wat aanpassen ook wel op te lossen), en dat de naam OVERAL in H2 staat (?).
In dat geval zou je met onderstaande code een variabel aantal tabbladen moeten verwerkt krijgen :
Sub Test()
Application.ScreenUpdating = False
Dim sBestandsnaam As String
Dim sPadnaam As String
sPadnaam = "\\cli-sd\sd0357\037032\New folder\ROTS data gegevens\Dealerbestanden\"
For t = 1 To Sheets.Count
    With Sheets(t)
        .Select
        .Copy
        sBestandsnaam = .Range("H2").Value & "-" & Format(Date, "dd-mm-yyyy") & ".xlsx"
        ActiveSheet.SaveAs Filename:=sPadnaam & sBestandsnaam
        ActiveWorkbook.Close
    End With
Next t
End Sub

"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline Haije

  • Excel-Expert
  • Volledig lid
  • *****
  • Berichten: 201
  • Geslacht: Man
  • Oplossing.be
Re: Tabbladen automatisch opslaan als andere werkmap
« Reactie #5 Gepost op: 10 augustus 2017, 08:07:34 »
@pitufo, je hebt gelijk, te snel willen reageren en daardoor over het hoofd gezien. ;-)
|-|aije

ik gebruik Office 2016 Professional Plus

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: Tabbladen automatisch opslaan als andere werkmap
« Reactie #6 Gepost op: 17 augustus 2017, 18:05:57 »
Trigz,

Een dankwoordje is heus niet nodig, maar het zou wel fijn zijn als we mochten vernemen of je hier afdoend geholpen bent...
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

 


www.combell.com