• 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.

VBA: code 'With Workbooks' maar met veranderlijke naam

Status
Niet open voor verdere reacties.

tomswaelen

Gebruiker
Lid geworden
8 dec 2004
Berichten
349
Dit is mijn huidige code om een afbeelding zichtbaar te maken aan de hand van de waarde van een bepaalde cel:

Code:
Private Sub Worksheet_Calculate()
With Workbooks("Sjabloon verdeling - versie 2.xlsm")

If Range("AK42").Value = True Then
  ActiveSheet.Shapes("Afbeelding 2").Visible = True
  Else
  ActiveSheet.Shapes("Afbeelding 2").Visible = False
End If
End With
End Sub

Die With heb ik er in gezet omdat het anders fouten gaf wanneer ik een ander bestand open deed, omdat dat dan het actieve workbook werd. So far so good.

Alleen kom ik tot de vaststelling bij gebruik van het bestand dat ik de bestandsnaam moet aanpassen. Het bestand begint altijd als "Sjabloon verdeling - versie 2.xlsm", maar via een Save As wordt de bestandsnaam veranderd. Bovenstaande code werkt dan natuurlijk niet meer.

Is er een manier waarop ik de huidige bestandsnaam, ongeacht wat die is, in de code kan steken, zodat de code voor elke huidige bestandsnaam zal werken? Ik vermoed dat dit zal moeten gebeuren met ThisWorkBook, maar dan zit ik een beetje vast.
 
En onder welke naam sla je dit op met 'Save As' ???
En als je dat gegeven nou 'ns gebruikt voor 'with workbooks'?

Greetz/Excelbat
 
En die naam kan je niet ergens opslaan in een cel? Zodat je met VBA de cel kan uitlezen, en dus ook de naam van het bestand?

Greetz/Excelbat
 
Dit zou toch gewoon moeten werken lijkt me.
Code:
Private Sub Worksheet_Calculate()
  me.Shapes("Afbeelding 2").Visible = Range("AK42").Value = True 
End Sub
Ps. Als er alleen maar true of false of -1 of 0 in ak42 staat kan ' = True' aan het eind weg.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan