Help!

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

Hulp bij posten

Recente topics

Auteur Topic: Excelblad kopieren met naam en teller  (gelezen 63435 keer)

0 leden en 1 gast bekijken dit topic.

Offline JeanPierre

  • Oplosser
  • ****
  • Berichten: 826
  • Geslacht: Man
  • Je bent nooit te oud om te leren!
Excelblad kopieren met naam en teller
« Gepost op: 27 februari 2025, 11:01:12 »
Beste mensen,

Ik heb een bescheiden macro kunnen opnemen om een bepaald blad te kopiëren en dat lukt  ::),
alleen had ik graag dat de naam telkens zou aangepast worden met een teller, 01, 02, 03....
En dat krijg ik niet klaar....  :-[

Sub KOPIE1()
' KOPIE Macro
    Sheets("Eigen").Select
    Sheets("Eigen").Copy
    ChDir "D:\0001_Map_Eigen\Beheer\"
    ActiveWorkbook.SaveAs Filename:= _
    "D:\0001_Map_Eigen\Beheer\Eigen_25.xlsm", FileFormat:= _
    xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
    ActiveWindow.Close
End Sub

Met dank bij voorbaat.
Jean-Pierre.
Windows 10 Pro   NLD 64bit
Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 800
PRIME Z270-P
NVIDIA GeForce GTX 1050 Ti 4095MB 1920 x 1080
NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
Nr: 1 Model: Samsung SSD 850 EVO 250GB
Nr: 2 Model: WDC WD2003FZEX-00SRLA0
Nr: 3 Model: Canon TS8100 series USB Device
AV: Avast free
FW: Windows Firewal Enabled: True

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.450
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Excelblad kopieren met naam en teller
« Reactie #1 Gepost op: 27 februari 2025, 16:28:44 »
Hallo JeanPierre,


Omdat je over de naam van een werkboek gaat, zal je in het betreffende werkboek een teller moeten plaatsen, en in de macro gebruiken om naar die cel te verwijzen.
Veronderstel dat we cel X1 gebruiken voor de teller:  0

Dan wordt de macro:

Sub Kopie1()

    a = Sheets("Eigen").Range("X1").Value + 1   ' a wordt hier telkens je de macro uitvoert met 1 verhoogd.
    ActiveWorkbook.SaveAs Filename:="D:\0001_Map_Eigen\Beheer\Eigen" & a & ".xlsm"
    Range("X1") = a                         'De cel X1 aanpassen
    ActiveWorkbook.Close
End Sub

Kijk eens of dit is wat je wenst.

Theo

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline JeanPierre

  • Oplosser
  • ****
  • Berichten: 826
  • Geslacht: Man
  • Je bent nooit te oud om te leren!
Re: Excelblad kopieren met naam en teller
« Reactie #2 Gepost op: 27 februari 2025, 16:50:46 »
Hoi Theo, al reeds bedankt voor uw reactie.

Maar het is wel degelijk een blad uit een Workbook met de naam "Eigen" dat gekopieerd moet worden en dan opgeslagen worden met naam "Eigen_25" maar omdat later meerdere sheets komen wil ik die laten nummeren.

De code die ik heb is gewoon opgenomen, en ik kan dat blad kopieren maar de volgende keer wil hij dit overschrijven, en dat mag niet.

Jean-Pierre
Windows 10 Pro   NLD 64bit
Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 800
PRIME Z270-P
NVIDIA GeForce GTX 1050 Ti 4095MB 1920 x 1080
NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
Nr: 1 Model: Samsung SSD 850 EVO 250GB
Nr: 2 Model: WDC WD2003FZEX-00SRLA0
Nr: 3 Model: Canon TS8100 series USB Device
AV: Avast free
FW: Windows Firewal Enabled: True

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.450
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Excelblad kopieren met naam en teller
« Reactie #3 Gepost op: 27 februari 2025, 17:20:43 »
JeanPierre,

Je wilt dat werkblad kopieren en plakken in hetzelfde werkboek met oplopende namen, klopt dit?

dus blad1, Blad2, enzovoorts.


:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline JeanPierre

  • Oplosser
  • ****
  • Berichten: 826
  • Geslacht: Man
  • Je bent nooit te oud om te leren!
Re: Excelblad kopieren met naam en teller
« Reactie #4 Gepost op: 27 februari 2025, 17:28:19 »
Sorry Theo, kan er vandaag niet mee doorgaan, toch al bedankt en nog een prettige avond gewenst.

JP
Windows 10 Pro   NLD 64bit
Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 800
PRIME Z270-P
NVIDIA GeForce GTX 1050 Ti 4095MB 1920 x 1080
NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
Nr: 1 Model: Samsung SSD 850 EVO 250GB
Nr: 2 Model: WDC WD2003FZEX-00SRLA0
Nr: 3 Model: Canon TS8100 series USB Device
AV: Avast free
FW: Windows Firewal Enabled: True

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.450
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Excelblad kopieren met naam en teller
« Reactie #5 Gepost op: 27 februari 2025, 17:56:39 »
Hallo JeanPierre,

geen probleem. Bekijk het morgen of zo maar op je gemak. Of je (in je eerste post) gemaakte code werkt betwijfel ik toch. Ze maakt wel nieuwe werkboeken aan, dat wel.


Vergeet niet te beginnen met een 0 in cel "X1" van je eerste werkblad te zetten.
Als je een nieuw (copy) van het laatste werkblad wil aanmaken, selecteer dan je laatste werkblad, anders krijg je foutmeldingen)
Met onderstaande code (in een module te plaatsen *) zou het wel moeten lukken.
Zet de volgende macro in de Module en activeer de Macro:

Sub KopieerWerkblad()
   
    a = Range("X1").Value + 1
   
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim nieuwWs As Worksheet

    Set wb = ThisWorkbook
    Set ws = wb.Sheets("Eigen")

    ws.Copy After:=wb.Sheets(wb.Sheets.Count)

    Set nieuwWs = wb.Sheets(wb.Sheets.Count)
    nieuwWs.Name = "Eigen_" & a
    Range("X1") = a
    ThisWorkbook.Save

End Sub

Dat werkt hier.

* Module aanmaken:
   Open Excel en druk op ALT + F11 om de Visual Basic for Applications (VBA) editor te openen.
   Klik op Invoegen in de menubalk en selecteer Module om een nieuwe module toe te voegen.

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline JeanPierre

  • Oplosser
  • ****
  • Berichten: 826
  • Geslacht: Man
  • Je bent nooit te oud om te leren!
Re: Excelblad kopieren met naam en teller
« Reactie #6 Gepost op: 28 februari 2025, 08:06:32 »
Goede morgen Theo,

Ik heb een eenvoudig voorbeeldje gemaakt.
In "Verrekening" staat de macroknop die het blad "Eigen" moet kopieren en opslaan als "Eigen_25", en dit liefst met een teller, dus iets als "Eigen_25.01, Eigen_25.02...",
of misschien beter en gemakkelijker, inplaats van een teller de dagdatum.

Hopelijk heb ik me nu iets duidelijker uithgedrukt.  ::)
Windows 10 Pro   NLD 64bit
Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 800
PRIME Z270-P
NVIDIA GeForce GTX 1050 Ti 4095MB 1920 x 1080
NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
Nr: 1 Model: Samsung SSD 850 EVO 250GB
Nr: 2 Model: WDC WD2003FZEX-00SRLA0
Nr: 3 Model: Canon TS8100 series USB Device
AV: Avast free
FW: Windows Firewal Enabled: True

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.450
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Excelblad kopieren met naam en teller
« Reactie #7 Gepost op: 28 februari 2025, 10:23:43 »
JeanPierre,

Je schreef dat je wil dat de macro het tabblad copieert en plakt, maar dat doet hij niet. Je kopieert de hele werkmap.
Mijn laatste macro niet bekeken? Deze kopieert je laatste werkblad naar achteren en geeft het een unieke naam (als je het laatste werkblad selecteert vooralleer de macro uit te voeren, maar dat kan aangepast worden).

Een datum als Teller kan ook, maar hou er dan rekening mee dat je verschillende tabbladen kan aanmaken met dezelfde datum (omdat de tijdwaarde niet getoont wordt, maar er wel in zit, en dus verschillend is en aangemaakt wordt.

Wat zal het wezen...  ;D ;D ;D

:) SoftAid :)             


Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline JeanPierre

  • Oplosser
  • ****
  • Berichten: 826
  • Geslacht: Man
  • Je bent nooit te oud om te leren!
Re: Excelblad kopieren met naam en teller
« Reactie #8 Gepost op: 28 februari 2025, 10:49:05 »
Blijkbaar zat er een foutje in  :-[.... het zou nu moeten werken zoals ik voor had,
dus geen tabbladen bijmaken maar telkens het tablad "Eigen" afzonderlijk opslaan, daarom de telling.

Jean-Pierre
Windows 10 Pro   NLD 64bit
Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 800
PRIME Z270-P
NVIDIA GeForce GTX 1050 Ti 4095MB 1920 x 1080
NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
Nr: 1 Model: Samsung SSD 850 EVO 250GB
Nr: 2 Model: WDC WD2003FZEX-00SRLA0
Nr: 3 Model: Canon TS8100 series USB Device
AV: Avast free
FW: Windows Firewal Enabled: True

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.450
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Excelblad kopieren met naam en teller
« Reactie #9 Gepost op: 28 februari 2025, 10:52:56 »
Hallo JeanPierre, je maakt nog steeds nieuwe werkMAPPEN aan, geen werkBLADEN.

Probeer deze macro eens:

Sub KopieerWerkblad_SA()
         
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim nieuwWs As Worksheet

    Set wb = ThisWorkbook
    Set ws = wb.Sheets("Eigen")

    ws.Copy After:=wb.Sheets(wb.Sheets.Count)

    Set nieuwWs = wb.Sheets(wb.Sheets.Count)
    nieuwWs.Name = "Eigen_" & Format(Now(), "dd-ww-yy")
   
    ThisWorkbook.Save

End Sub

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline JeanPierre

  • Oplosser
  • ****
  • Berichten: 826
  • Geslacht: Man
  • Je bent nooit te oud om te leren!
Re: Excelblad kopieren met naam en teller
« Reactie #10 Gepost op: 28 februari 2025, 11:13:06 »
Theo, dit is mooi maar toch echt mijn bedoeling niet, en als ik met de curser over de gekopieerde file ga of naar eigenschappen dan lees ik "Microsoft Excel-werkblad met macro's (.xlsm)", dus dat moet toch kunnen, misschien denk ik verkeerd maar ja... :glare:

Jean-Pierre
Windows 10 Pro   NLD 64bit
Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 800
PRIME Z270-P
NVIDIA GeForce GTX 1050 Ti 4095MB 1920 x 1080
NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
Nr: 1 Model: Samsung SSD 850 EVO 250GB
Nr: 2 Model: WDC WD2003FZEX-00SRLA0
Nr: 3 Model: Canon TS8100 series USB Device
AV: Avast free
FW: Windows Firewal Enabled: True

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.450
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Excelblad kopieren met naam en teller
« Reactie #11 Gepost op: 28 februari 2025, 11:23:05 »
dus geen tabbladen bijmaken maar telkens het tablad "Eigen" afzonderlijk opslaan, daarom de telling.
Sorry, had hier overweg gelezen.

Nu, je kan geen werkbladen "apart" opslaan. Een werkblad zit in een map, en dus maak jij steeds een werkMAP aan.

Als dat de bedoeling is (waar ik het nut niet van inzie) dan moet alles anders, natuurlijk.
Maar waarom zou je niet alles in één Werkboek samen houden, in plaats van allemaal verschillende Werkboeken te maken met telkens 1 ander werkblad?

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline JeanPierre

  • Oplosser
  • ****
  • Berichten: 826
  • Geslacht: Man
  • Je bent nooit te oud om te leren!
Re: Excelblad kopieren met naam en teller
« Reactie #12 Gepost op: 28 februari 2025, 12:00:50 »
Theo, ik wil nu echt  niet moeilijk doen maar in bijlage een voorbeeld van wat mijn macro opgeslagen heeft vanuit het basis Werkboek.
Of het nut heeft of niet, ik heb hier al vaker gezien dat iedereen zo een beetje z'n eigen idee heeft om iets te doen.....

JP
Windows 10 Pro   NLD 64bit
Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 800
PRIME Z270-P
NVIDIA GeForce GTX 1050 Ti 4095MB 1920 x 1080
NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
Nr: 1 Model: Samsung SSD 850 EVO 250GB
Nr: 2 Model: WDC WD2003FZEX-00SRLA0
Nr: 3 Model: Canon TS8100 series USB Device
AV: Avast free
FW: Windows Firewal Enabled: True

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.294
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Excelblad kopieren met naam en teller
« Reactie #13 Gepost op: 28 februari 2025, 12:25:34 »
Ongetest omdat ik het pad niet heb. Maar plak deze 'ns in je workbook en laat 'm lopen...

Sub KopieerSheetNaarNieuwWorkbook()

    Sheets("Eigen").Copy
    With ActiveWorkbook
        .SaveAs "D\:0001_Map_Eigen\Beheer\Eigen_" & Format(Date, "yymmdd"), 52
        .Close
    End With

End Sub
______________________________

Groet, Leo

Offline JeanPierre

  • Oplosser
  • ****
  • Berichten: 826
  • Geslacht: Man
  • Je bent nooit te oud om te leren!
Re: Excelblad kopieren met naam en teller
« Reactie #14 Gepost op: 28 februari 2025, 12:33:08 »
Hoi Leo, bedankt ook maar ik krijg een foutmelding...

Jean-Pierre
Windows 10 Pro   NLD 64bit
Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 800
PRIME Z270-P
NVIDIA GeForce GTX 1050 Ti 4095MB 1920 x 1080
NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
Nr: 1 Model: Samsung SSD 850 EVO 250GB
Nr: 2 Model: WDC WD2003FZEX-00SRLA0
Nr: 3 Model: Canon TS8100 series USB Device
AV: Avast free
FW: Windows Firewal Enabled: True

 


www.combell.com