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

Tabbladen aanmaken en bladnaam met variabele celverwijzing

Status
Niet open voor verdere reacties.

Rovo1968

Gebruiker
Lid geworden
15 sep 2018
Berichten
8
Goedemiddag,
ik ben al een tijdje aan het stoeien om de namen van een tabblad te vullen met een variabele celverwijzing.
De situatie is de volgende: ik heb een lijst met stamnummers van studenten of gebruikersnamen van het personeel, deze staan in kolom A.
Mijn doel is om blad1 de naam te geven a.d.h.v. de waarde in cel A2 (rij 1 bevat de veldnamen), blad2 zou de waarde uit A3 moeten krijgen enz.

Ik heb ook al een stuk van de macro klaar, maar ik krijg het niet voor elkaar om de celverwijzing variabel te maken.

Code:
Sub SheetName()
' SheetName Macro
Dim i As Integer
Dim intAantal As Integer
Dim wsName As String
'wsName = Sheets(Range("A" & i)).Value
intAantal = Application.WorksheetFunction.CountA(Range("A:A")) 'wordt tijdelijk niet gebruikt

For i = 2 To 5 + 1
    If SheetExists(wsName) = True Then
        Sheets(Range("A" & i)).Select
        Debug.Print ActiveSheet.Name
        Stop
        If Sheets(2).Name <> "Uitleen" Or Sheets(2).Name <> "Basislayout" Then
            Sheets("Basislayout").Select
            Sheet.Add
            ActiveSheet.Name = Range("A" & i).Value
        End If
    End If
Next i
End Sub

Voor zover ik het kan overzien, wordt er gestruikeld over dit deel 'Range("A" & i).value'
Hoe kan ik op een andere manier oplossen dat de waarde uit een cel als bladnaam kan gebruiken?

Ik hoop dat ik duidelijk genoeg mijn probleem heb uitgelegd.
Mochten er nog vragen zijn, probeer ik ze te beantwoorden.

Bij voorbaat dank,
Rovo1968
 
Laatst bewerkt:
Plaats een bestand.
Er een code voor schrijven is niet moeilijk, maar jouw bestand is klaar en ik weet niet in welk blad de namen staan.
Om er een aantal keer een code voor schrijven is vervelend omdat het weer net iets anders is dan jouw bestand.
 
Hallo HSV,
Ik heb het bestand geplaatst. Er staan nu 2 tabbladen in: Uitleen en Basislayout. Het tabblad "Basislayout" dient als template voor nieuwe werkbladen. Na het aanmaken van het nieuwe werkblad moet dat nieuwe werkblad het stamnummer of de gebruikersnaam krijgen als naam.
In het werkblad/tabblad "Uitleen" staan alle namen en de bijbehorende uitleengegevens. Sommige namen staan er dubbel in omdat deze studenten verschillende keren zijn langs gekomen op verschillende dagen en er werd voor iedere klant een nieuwe regel aangemaakt, ook als het stamnummer/gebruikersnaam al voorkwam in de lijst.

Mijn doen is een soort "Debiteurenkaart" te maken per klant met daarop alle uitgeleende artikelen aan die klant.

Ik heb al te privacy-gevoelige informatie zoals telefoonnummer en e-mailadres uit de lijst verwijderd.

Ik hoop dat je hier verder mee komt. Alvast bedankt dat je mee denkt.

Groetjes,
Rovo1968
 
Laatst bewerkt door een moderator:
Alle telefoonnummers en enkele mailadressen staan er nog in. Verwijder aub het bestand.
 
en ik vrees dat je uw voorbeeld eens moet bekijken vooral naar de tabbladen.
 
Bestand weg gehaald, TS mag een nieuw bestand zonder namen en telefoonnummers plaatsen.
 
Ik heb een nieuw bestand toegevoegd met fictieve namen. Daar staan 2 tabbladen in: "Uitleen" en "Basislayout".
Basislayout is de template voor nieuwe "Debiteurenkaarten".

Ik hoop dat je mij kan helpen.

Bij voorbaat dank voor het meedenken.

Groetjes,
Rovo1968.
 
Het splitsen van gegevens naar afzonderlijke werkbladen is nooit een goed idee.

Maak 1 werkblad met alle gegevens
Maak 1 werkblad waarin je die gegevens voor een bepaalde selektie (1 of meer) in een speciale lay-out kunt weergeven.
 
Nogmaals een poging om een voorbeeldbestand te plaatsen
 
Laatst bewerkt door een moderator:
@Rovo1968,
Verwijder het direct!!!!!!!!!!!!, alle tel. nummers en sommige mailadressen staan er nog in.
 
zou dit geen betere oplossing zijn?
 
Laatst bewerkt door een moderator:
Probeer dit maar eens.
 
Laatst bewerkt door een moderator:
Alle bestanden verwijderd.
 
Om aan dit nutteloze draadje maar een eind te maken

Code:
Sub VenA()
  ar = Sheets("Uitleen").Cells(1).CurrentRegion
  For j = 2 To UBound(ar)
    If ar(j, 1) <> "" And IsError(Evaluate("'" & ar(j, 1) & "'!A1")) Then
      Sheets("Basislayout").Copy , Sheets(Sheets.Count)
      With ActiveSheet
        .Range("B2:B5") = Application.Transpose(Array(ar(j, 1), ar(j, 2), ar(j, 5), ar(j, 6)))
        .Name = ar(j, 1)
      End With
    End If
  Next j
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan