• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Gebruik van * in macro

Status
Niet open voor verdere reacties.

Visus

Gebruiker
Lid geworden
21 sep 2006
Berichten
101
L.s.

In een macro wil ik de naam van het tabblad van een Excel bestand wijzigen in "Blad1".
Het bestand wat ik aangeleverd krijg kent elke dag een andere benaming van dit tabblad.
Vandaag is het "Sturing 2009 03 26" morgen is het "Sturing 2009 03 27" enz. Als ik nu een macro maak om de naam van het tabblad van vandaag "Sturing 2009 03 26" te wijzigen in "Blad1", zoals hieronder, dan werkt deze macro morgen niet meer omdat het tabblad dan een andere naam heeft.

Sheets("Sturing 2009 03 26").Select
Sheets("Sturing 2009 03 26").Name = "Blad1"

Ik heb geprobeerd om in de macro de datum te vervangen door " * " dus "2009*", zodat ik niet meer afhankelijk ben van de datum, maar dat accepteert Excel niet.

Heeft iemand een oplossing. Ik heb dit tabblad nl gekoppeld aan Access en die koppeling werkt alleen als de naam van het tabblad ongewijzig blijft.

Visus:confused:
 
Code:
Sheets("Sturing " & Format(Now(), "yyyy mm dd")).Name = "Blad1"

Met vriendelijke groet,


Roncancio
 
Bedankt voor je reactie.
Het probleempje is echter nog wat groter omdat er ook een tijdstip wordt meegegeven in de naam van het tabblad.
Ik heb een voorbeeld van het "bronbestand" bijgevoegd waarvan dus dagelijks de naam van het tabblad gewijzigd zou moeten worden in "Blad1"
 

Bijlagen

  • Bronbestand.xls
    13 KB · Weergaven: 26
Code:
Sub tst()
    For Each sh In Sheets
        sh.Name = sh.CodeName
    Next
End Sub
 
De macro werkte natuurlijk prima, tot. . . . ik het bestand waar de macro in zat verving door een nieuw bestand, macro weg. Ik probeer nu vanuit het bijgevoegde "Bronbestand" eerst het gevraagde "wisselbestand" te openen en vervolgens daar de macro uit te laten voeren.
Ik krijg het echter niet voor elkaar dat in één macro op te nemen. Dus eerst vanuit het bronbestand met een macro het wisselbestand openen en vervolgens in dezelfde macro de naam van het tabblad te wijzigen om vervolgens het gewijzigde wisselbestand weer te sluiten.

Groeten

Visus
 

Bijlagen

  • Bronbestand.xls
    22 KB · Weergaven: 19
Code:
With workbooks.add("C:\test.xls")
  for each sh in .Sheets
     sh.name=sh.codename
  next
end with
 
Hallo SNB

Zou je de macro in het voorbeeldbestand op kunnen nemen met alle Subs en End subs,
ik krijg het niet werkend, krijg een gele balk over de regel sh.Name = sh.CodeName
 
Vervang je huidige Sub Test door onderstaande
Code:
Sub Test()
Workbooks.Open Filename:="C:\Fred\Wisselbestand.xls"
Set File = Workbooks("Wisselbestand.xls")
    For Each sh In File.Sheets
        sh.Name = sh.CodeName
        Next
File.Close True
End Sub

Mvg

Rudi
 
Bedankt Rudi, dit is voor mij duidelijk.
Sorry SNB maar ik begrijp niet wat je bedoelt met de option explicit.
Ik zal eens een cursus op dit vlak gaan volgen !

Mvg Visus
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan