Help!

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

Hulp bij posten

Recente topics

Auteur Topic: Kolomnaam in plaats van kolomnummer in celeigenschap  (gelezen 77939 keer)

0 leden en 1 gast bekijken dit topic.

Offline Streuby

  • Lid
  • *
  • Berichten: 18
  • Geslacht: Man
  • Hey, ik ben nieuw hier !
Kolomnaam in plaats van kolomnummer in celeigenschap
« Gepost op: 03 augustus 2024, 20:51:59 »
Beste,

In volgende procedure zou ik graag bij "Label1 = .Cells(Rij, 2).Value" het cijfer 2, dat naar de kolom verwijst, willen vervangen door de kolomnaam.
In mijn werkblad heb ik een kolom met bv een voornaam, naam, geboortedatum en geslacht, maar stel dat ik een kolom wil tussenvoegen, dan moet ik steeds heel mijn procedure aanpassen en overal de kolomnummers aanpassen. Momenteel is de tabel beperkt en zijn er bv maar 4 kolommen, maar deze tabel wordt nog verder aangevuld en of aangepast. Ik zou daarom graag verwijzen naar de kolomnaam zodat ik onbeperkt kolommen kan toevoegen of verwijderen en mijn label - in dit geval - steeds de juiste waarden behoudt. bv als bij Label3 de geboortedatum staat dat dit, ook al zet ik er 3 kolommen tussen, ook steeds de geboortedatum voor Label3 blijft.

A verwijst naar de naam van het blad en van de tabel en C verwijst naar de naam die ik tabel "Namen" ga zoeken. C is een waarde die ik uit een tekstvenster haal.


Private Sub Invoer_Click()

 
  Rij = ActiveWorkbook.Sheets(A).Range(A).Find(What:=C, LookIn:=xlValues).Row
 

With ActiveWorkbook.Sheets(A)

    Label1 = .Cells(Rij, 2).Value
    Label2 = .Cells(Rij, 3).Value
    Label3 = .Cells(Rij, 4).Value
    Label4 = .Cells(Rij, 5).Value

End With

End Sub

Dank bij voorbaat.

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.334
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Kolomnaam in plaats van kolomnummer in cel eigenschap
« Reactie #1 Gepost op: 03 augustus 2024, 21:02:42 »
Hallo Sreuby,

voeg toch maar een voorbeeldbestandje bij, dan verstaan we elkaar beter  ;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 Streuby

  • Lid
  • *
  • Berichten: 18
  • Geslacht: Man
  • Hey, ik ben nieuw hier !
Re: Kolomnaam in plaats van kolomnummer in cel eigenschap
« Reactie #2 Gepost op: 03 augustus 2024, 22:49:58 »
Ik heb een klein voorbeeldje gemaakt.

Stel dat ik nu in mijn tabel tussen de kolom "geboortedatum" en "geslacht" nog kolom "Geboorteplaats" wil toevoegen, dan moet ik mijn procedure aanpassen en dan wordt kolom 4 kolom 5. In deze kleine tabel en in dit klein voorbeeld is dit nu geen groot probleem, maar stel dat ik 13 kolommen heb dan moet ik voor al de kolommen na de 'nieuwe' kolom "Geboorteplaats" de procedure aanpassen. Als ik nu zou kunnen verwijzen naar de kolomnaam en de rij, dan kan ik zoveel kolommen bijvoegen of verwijderen als ik wil en dan blijft de data voor de desbetreffende labels correct.

met vriendelijke groet

Streuby

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.334
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Kolomnaam in plaats van kolomnummer in cel eigenschap
« Reactie #3 Gepost op: 04 augustus 2024, 10:02:59 »
Hallo Streuby,

.....dan kan ik zoveel kolommen bijvoegen of verwijderen als ik wil en dan blijft de data voor de desbetreffende labels correct.
Je bedoeld in de Userform? Ik zie niet dadelijk in wat je kan vereenvoudigen bij nieuwe kolommen in je werkblad.

Als je een kolom bijmaakt in je werkblad, dan moet je een Label en een txt-vak bij plaatsen in je Userform.
Je label zal automatisch één hoger (Label11) zijn dan het vorige hoogste label (Label10). Idem je txt-vak.
Code voor de weergave en werking van de Userform moet je toch aanpassen, maar enkel voor die nieuwe invoer.

Werk je Userform en de vba-code voor de invoer eens af en post dit dan nog eens.

:) 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 Streuby

  • Lid
  • *
  • Berichten: 18
  • Geslacht: Man
  • Hey, ik ben nieuw hier !
Re: Kolomnaam in plaats van kolomnummer in cel eigenschap
« Reactie #4 Gepost op: 04 augustus 2024, 11:36:13 »
Hoi SoftAid

In de huidige vorm haalt Label4 haar gegevens uit kolom5 van mijn werkblad "Namen", maar als ik nu tussen de kolom "Geboortedatum" (kolom4) en de kolom "Geslacht"(kolom5) een nieuwe kolom voeg met hoofding "Geboorteplaats", dan komt de waarde op mijn UserForm niet meer overeen want de data uit kolom5 is niet langer het geslacht maar wel de geboorteplaats. Op mijn UserForm klopt de waarde voor het geslacht niet meer. En voor dit kleine voorbeeld is dit niet veel aanpassing, maar wanneer je een uitgebreide tabel hebt waarin je nog kolommen wenst toe te voegen omdat je daar niet tijdig aan gedacht hebt, moet je de verwijzingen constant aan passen.

Dit is slechts een puzzelstukje voor een database die ik zelf probeer te maken. Die database is voor eigen gebruik, maar de gegevens die ik aan die database wens toe te voegen, nemen regelmatig toe. Ik heb een UserForm waarmee ik data aan mijn database toevoeg en een UserForm waarmee ik die data weergeef. Voor de invoer van die data kan ik perfect nieuwe kolommen maken en de data in de juiste kolommen zetten, maar voor de weergave zit ik vast bij dit probleem. Als ik een kolom toevoeg, dan zijn de waarden in mijn "weergeef" UserForm niet meer correct want de labels of tekstvakken halen hun gegevens uit de kolommen die ik vooraf bepaald heb, maar die nu niet meer correct zijn kolom 4 wordt 5, enz...

Met vriendelijke groet

Streuby

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.334
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Kolomnaam in plaats van kolomnummer in cel eigenschap
« Reactie #5 Gepost op: 04 augustus 2024, 15:14:25 »
Hallo Streuby,

Sorry, maar ik heb dit bekeken vanuit jou standpunt, maar kom er niet uit.

Als je jou werkblad wil uitbreiden met een kolom (willekeurige plaats in de rij) dan moet je:

1 - kolom bijplaatsen en een hoofding maken
2 - een Label bijmaken in je Userform en deze de naam geven van de kolom hoofding die je bijgevoegd hebt
3 - een Txt-box bij aanmaken in je Userform voor dat label, het is een invoerformulier....
4 - het Label laten overeen komen met de kolom die je bij aangemaakt hebt (zonder dat die andere labels veranderen)

Waarom het volgens mij niet (zo) eenvoudig te programmeren valt is omdat je op een Willekeurige plaats een kolom gaat toevoegen.
Met heel complexe code zal het wel te programmeren zijn, maar dan weegt het handmatig aanpassen van enkele regeltjes code niets tov het schrijven van dergelijke code.

Misschien dat er hier een specialist zit die zijn schouders daaronder wil zetten, maar ik vrees er voor....

Ik zoek toch nog wat verder, intussen...

Groeten,

:) 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 Streuby

  • Lid
  • *
  • Berichten: 18
  • Geslacht: Man
  • Hey, ik ben nieuw hier !
Re: Kolomnaam in plaats van kolomnummer in cel eigenschap
« Reactie #6 Gepost op: 04 augustus 2024, 16:04:53 »
Hallo SoftAid

Net omdat ik op een willekeurige plaats een kolom zou willen toevoegen, zou ik de doel cell of -range willen koppelen aan de kolomnaam. Ik weet niet of dit moegelijk is en vandaar mijn vraag. Mocht dit mogelijk zijn, dan maakt het alles vrij makkelijker want dan verwijs ik gewoon naar de rij uit de kolom waaruit ik de data wens te halen en dan maakt het niet uit of er 1...10 of 30 kolommen zijn, want de data wordt altijd uit de juiste kolom gehaald.

Mocht volgende code: Label1 = .cell(Rij, Kolom).value   - waarbij "Kolom" een variabele is die voor de naam van een kolom staat -  zou werken, dan zou mijn probleem opgelost zijn, maar helaas...

Ik wil u in ieder geval al bedanken voor de tijd die u al aan mijn vraag besteed hebt.

Met vriendelijke groet

Streuby

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.334
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Kolomnaam in plaats van kolomnummer in cel eigenschap
« Reactie #7 Gepost op: 04 augustus 2024, 16:57:07 »
hallo  Streuby,

Als je er toch mee door wil gaan dan zou ik eerder een kolom laten bijmaken via een macro, dan heb je al referenties (variabelen) die je kan gebruiken om andere zaken aan te maken of aan te duiden.

Code om een kolom aan te maken:

Sub Kolom_Invoegen_SA()

    Dim kolomNaam As String
    kolomNaam = InputBox("Na welke kolom wil je de nieuwe kolom zetten?", "Nieuwe Kolom Invoegen")
   
    If kolomNaam <> "" Then
        Columns(kolomNaam & ":" & kolomNaam).Offset(0, 1).Insert Shift:=xlToRight
        MsgBox "Nieuwe kolom is ingevoegd na kolom " & kolomNaam, vbInformation
    Else
        MsgBox "Geen kolom geselecteerd.", vbExclamation
    End If
' in deze codeblok weet je dan al [b]welke[/b] kolom een nieuwe kolom is (KolomNaam).
' daar kan je dan op verder werken om andere Labels en Txt-boxen toe te wijzen.

End Sub

Groeten,

:) 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 Streuby

  • Lid
  • *
  • Berichten: 18
  • Geslacht: Man
  • Hey, ik ben nieuw hier !
Re: Kolomnaam in plaats van kolomnummer in cel eigenschap
« Reactie #8 Gepost op: 04 augustus 2024, 17:16:52 »
Beste SoftAid

Dit is helaas niet wat ik zoek en misschien zoek ik het wel te ver.
Toch hartelijk bedankt voor de moeite.

Met vriendelijke groet

Streuby

Offline Streuby

  • Lid
  • *
  • Berichten: 18
  • Geslacht: Man
  • Hey, ik ben nieuw hier !
Re: Kolomnaam in plaats van kolomnummer in cel eigenschap
« Reactie #9 Gepost op: 04 augustus 2024, 19:08:16 »
Beste SoftAid

Ik heb, denk ik, een oplossing gevonden voor mijn probleem. Waarschijnlijk kan het eenvoudiger, maar nu kan ik aan mijn tabel kolommen bijvoegen en de data in mijn weergave UserForm blijft juist.
Ik stuur het voorbeeld in bijlage


Met vriendelijke groet

Streuby

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.334
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Kolomnaam in plaats van kolomnummer in cel eigenschap
« Reactie #10 Gepost op: 04 augustus 2024, 19:21:29 »
Hallo Streuby,

niks te lang, zolang het werkt. Prima van je  :thumbsup:

Nu, je zal toch je macro telkens moeten bijwerken als je een kolom toevoegt.
je code is nu een beetje complexer dan de eerste
 Label1 = .Cells(Rij, 2).Value
 Label2 = .Cells(Rij, 3).Value
 Label3 = .Cells(Rij, 4).Value
 Label4 = .Cells(Rij, 5).Value
die gemakkelijker aan te passen was, maar dat is jou keuze.

Ik zeg steeds: "Als het voor jou werkt is dat prima"  ;) :)

Groeten, en tot een volgende vraag.

:) 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 Streuby

  • Lid
  • *
  • Berichten: 18
  • Geslacht: Man
  • Hey, ik ben nieuw hier !
Re: Kolomnaam in plaats van kolomnummer in cel eigenschap
« Reactie #11 Gepost op: 04 augustus 2024, 19:59:05 »
De code is zeker complexer, maar doordat ik met verschillende pagina's werk in mijn database en het aantal kolommen relatief groot is, lijkt me dit een goede oplossing om een overzicht te houden. Ik hoopte dat er een eenvoudigere oplossing was... helaas.

Offline mvdvlist

  • Volledig lid
  • **
  • Berichten: 106
  • Geslacht: Man
  • Oplossing.be
Re: Kolomnaam in plaats van kolomnummer in cel eigenschap
« Reactie #12 Gepost op: 05 augustus 2024, 14:13:16 »
Probeer dit eens in de Userform_Initialize...
Je hoeft nu allen het getal 13 maar aan te passen indien nodig. Dit is het aantal kolommen.


For A = 1 to 13  `of een ander aantal kolommen.
 Me.Controls("Label" & A).Caption = Blad1.Cells(, A).Value
Next A

Zie bijlage

Offline Streuby

  • Lid
  • *
  • Berichten: 18
  • Geslacht: Man
  • Hey, ik ben nieuw hier !
Re: Kolomnaam in plaats van kolomnummer in cel eigenschap
« Reactie #13 Gepost op: 05 augustus 2024, 16:28:56 »
Beste mvdvlist

Bedankt voor uw bijdrage, maar helaas is het niet wat ik zoek. Ik zoek het waarschijnlijk veel te ver en ik kan misschien, zoals SoftAid hier als schreef, beter en makkelijker gewoon telkens na het invoegen van een kolom mijn code aanpassen. Ik dacht dat het op één-of-andere manier mogelijk was om in mijn code bij de cell -eigenschap te verwijzen naar de kolomNAAM ipv naar het kolomNUMMER. Ik kan perfect met een variabele opgeven in welke kolomNUMMER ik mijn gegevens moet halen, maar dan komt mijn data niet meer overeen nadat ik een kolom heb toegevoegd of verwijderd. Bv als in de 5e kolom de data voor "geslacht" staat en ik voeg een kolom toe voor de 5e kolom - stel dat ik bepaalde data ben vergeten ben toe te voegen en deze data hoort voor "geslacht" te staan - dan wordt de 5e kolom de 6e kolom en dan gaat de waarde  die wordt weergegeven in mijn UserForm na de tekst "Geslacht:" niet meer juist zijn want in mijn code stond dat dei waarde in kolom 5 stond.
Als ik dan een verwijzing kon maken naar bv kolom met naam "Geslacht" ipv naar kolom 5, dan zou deze data ALTIJD juist zijn. Ik heb een oplossing gevonden (zie mijn laatste bijlage- voorbeeld2.xlsm)

Met vriendelijke groet

Streuby

Offline Haije

  • Excel-Expert
  • Volledig lid
  • *****
  • Berichten: 223
  • Geslacht: Man
  • Oplossing.be
Re: Kolomnaam in plaats van kolomnummer in cel eigenschap
« Reactie #14 Gepost op: 05 augustus 2024, 19:26:55 »
als je de cel waar je kolomnaam in staat een naam geeft, nl de tekst die in die cel staat, en je gebruikt die naam in je formules, werkt het dan zoals je wilt?
|-|aije

ik gebruik Office 2016 Professional Plus

 


www.combell.com