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

Naam definiëren

  • Onderwerp starter Onderwerp starter Horli
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Horli

Gebruiker
Lid geworden
23 apr 2020
Berichten
13
Hallo,

ik heb een lijst met namen welke op alfabetische volgorde staan. Deze lijst wordt iedere keer aangevuld met nieuwe informatie.
Als het overgaat naar een andere beginletter dan staat er een regel tussen met de beginletter. Even een eenvoudig voorbeeld hieronder

1706827112632.png

Nu kan ik cel A2 "naam definiëren", evenals A6 en A9.
Als ik dan op 'Naamvak" klik kan ik de gewenste cel selecteren en ga ik direct naar die cel.

Echter, als ik nieuwe regels toevoeg onderaan en ik zet ze weer op volgorde, dan klopt de celverwijzing niet meer.

Hoe kan ik dit zo maken dat hij altijd naar de A, B of C springt, ongeacht hoeveel regels ik toevoeg.
Ik heb al geprobeerd om het dollartekentje te verwijderen maar daar krijg ik niet het gewenste effect mee.

Kan iemand mij helpen tot een gewenste oplossing. Alvast bedankt.
 
selecteer cel A6 , ga naar het naamvak(boven cel A1 en typ daar B in en druk op enter. nu mag je toevoegen wat je wil de cel met B in zal altijd geseiecteerd worden.

plaats volgende keer een voorbeeld bestandje
 
Zoals je het beschreven hebt, heb ik al geprobeerd maar het probleem begint blijkbaar bij het sorteren van de kolom.

Ik heb nu een voorbeeld toegevoegd.

Het is dus de bedoeling dat er onderaan nieuwe gegevens toegevoegd worden en dat het daarna weer gesorteerd wordt op alfabetische volgorde.
 

Bijlagen

Met een macro?

Dat zou de oplossing wel kunnen zijn mocht ik de macro om kunnen zetten naar mijn bestand. Dat lukt me dus niet. HIj geeft een foutmelding bij het volgende:

1706911416239.png

Wat moet ik aanpassen om het werkend te maken.
Ik zal een verkort bestand waar fictieve waarden instaan toevoegen waar ik mee moet werken. Er zitten toch nog wel anderen elementen in wat invloed kan hebben.
Eerste kolom bevat maar enkele letters, Kolom B bestaat uit een formule en ik weet niet of de macro daar goed op werkt. Op kolom C zou ook gesorteerd kunnen worden.
 

Bijlagen

CSS:
Sub Alfabet()
     With Sheets("Tabelle1 ")
          .UsedRange.Columns("B").Name = "ColB"
          rij = [max(if(colb<>"",row(colb),0))]
          With .Range("A4:Z" & rij)
               .Sort .Range("B1"), Header:=xlNo
          End With

          On Error Resume Next
          For Each nm In ThisWorkbook.Names
               nm.Delete
          Next
          On Error GoTo 0

          .Columns("A:A").Interior.Pattern = xlNone
          For r = 1 To rij
               If Len(.Cells(r, 1)) = 1 Then
                    .Cells(r, 1).Interior.Color = 14083324     'roze
                    ThisWorkbook.Names.Add Cells(r, 1) & "_", Cells(r, 1)
               End If
          Next
     End With
End Sub
 
Macro iets aangepast, verwijdert nu alleen nog named ranges waarvan het tweede karakter een underscore is.
P.S. De naam van werkblad Tabelle1 eindigt op een spatie, dat is niet aan te bevelen.
 

Bijlagen

CSS:
Sub Alfabet()
     With Sheets("Tabelle1 ")
          .UsedRange.Columns("B").Name = "ColB"
          rij = [max(if(colb<>"",row(colb),0))]
          With .Range("A4:Z" & rij)
               .Sort .Range("B1"), Header:=xlNo
          End With

          On Error Resume Next
          For Each nm In ThisWorkbook.Names
               nm.Delete
          Next
          On Error GoTo 0

          .Columns("A:A").Interior.Pattern = xlNone
          For r = 1 To rij
               If Len(.Cells(r, 1)) = 1 Then
                    .Cells(r, 1).Interior.Color = 14083324     'roze
                    ThisWorkbook.Names.Add Cells(r, 1) & "_", Cells(r, 1)
               End If
          Next
     End With
End Sub
@cow18 : Deze code werkt voor mij; Deze houdt er rekening mee dat de sortering onder de titels moet plaatsvinden. Kolom A wilde ik zwart hebben en dat heb ik aangepast.
Echter, bij het toepassen van de macro, waarbij ik alle gegevens in het bestand heb gekopiëerd, geeft hij geen letters in Kolom A vanaf de letter T. Hoe kan dit nog aangepast worden?

1707080994469.png

Hier geeft hij een fout aan.
 
Laatst bewerkt:
Macro iets aangepast, verwijdert nu alleen nog named ranges waarvan het tweede karakter een underscore is.
P.S. De naam van werkblad Tabelle1 eindigt op een spatie, dat is niet aan te bevelen.
Ik krijg hem niet goed aan de gang met mijn gegevens. De sortering verloopt vanaf rij 1 terwijl dit vanaf rij 3 moet plaatsvinden.

Die spatie: was me niet echt opgevallen maar bedankt voor de tip.

(Macro's: Het blijft een moeilijk onderdeel voor mij)
 
Het heeft vooral te maken met een struktuur die niet goed bij Excel past.
Je doet er verstandiger aan de namen in kolom A te zetten en de beginletter in kolom B
In een gewone tabel selecteer je dan gewoon de beginletter in kolom B en klaar is Kees, zonder 1 letter VBA.
Excel bevat heel veel ingebouwde voorzieningen; het is slimmer de struktuur van je data daarop aan te passen, dan Excel aan te passen op een minder voor de handliggende ideosyncratische datastruktuur.
 
Zonder jouw data is het een gokje.
Verwijder rij 2 en wijzig
Code:
        .Header = xlNo
in
Code:
        .Header = xlYes
 
het wordt dan zoiets, maar eigenlijk werd er nog nooit iets gedaan met de inhoud van kolom A
 

Bijlagen

Zou je niet beter eens vertellen wat je waar wil invullen, zo kunnen de helpers een beter overzicht krijgen van wat er feitelijk moet gebeuren. Nu zit je maar wat aan te klooien, precies alsof je zelf niet weet wat er moet gebeuren.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan