Ik heb een werkblad dat een testscript bevat.
Elke rij bevat een testgebeurtenis en in kolom F wordt door de tester een resultaatcode gezet.
Onder deze rijen staat een scheidingsrij met daarin een tekst.
Daaronder staat een overzicht met de totalen van de diverse resultaatcodes.
Het aantal testgebeurtenissen is wisselend, dus zoek ik naar de tekst in de scheidingsrij en zet de gevonden rij in de variabele "beginrij"
Het rijnummer van de totalen is dan beginrij + 1 enz.
Voor elke cel met een totaal wil ik een naam definieren, die ik later weer kan gebruiken bij een totaaloverzicht.
Ik kan dat voor elke naam afzonderlijk doen, maar dan wordt mijn script bij inmiddels 15 namen erg lang.
Daarom wil ik dit doen met een array.
Daarvoor heb ik volgend script.
Ik wil in de verwijzing de waarde van de variabele XXX_rij zien staan, maar ik krijg nu alleen de naam van de variabele die immers in de array staat.
Is er een simpeler manier om dit op te lossen?
Elke rij bevat een testgebeurtenis en in kolom F wordt door de tester een resultaatcode gezet.
Onder deze rijen staat een scheidingsrij met daarin een tekst.
Daaronder staat een overzicht met de totalen van de diverse resultaatcodes.
Het aantal testgebeurtenissen is wisselend, dus zoek ik naar de tekst in de scheidingsrij en zet de gevonden rij in de variabele "beginrij"
Het rijnummer van de totalen is dan beginrij + 1 enz.
Voor elke cel met een totaal wil ik een naam definieren, die ik later weer kan gebruiken bij een totaaloverzicht.
Ik kan dat voor elke naam afzonderlijk doen, maar dan wordt mijn script bij inmiddels 15 namen erg lang.
Daarom wil ik dit doen met een array.
Daarvoor heb ik volgend script.
Sub TEST_ARRAY_MAAKNAMEN()
tabnr = 2
Str_tabnr = CStr(tabnr)
Sheets(Str_tabnr).Select
'zoeken naar tekst in scheidingsrij
With Columns(1)
Set c = .Find("NIET VERWIJDEREN", LookIn:=xlValues)End With
If Not c Is Nothing Then
beginrij = c.Row
End If
'Kolom met resultaatcodes
Dim rckolom As Integer
rckolom = 6
'rijnamen voor totalen
'LET OP: ze hoeven niet direct onder elkaar te staan.
tot_rc0_rij = beginrij + 1
tot_rc1_rij = beginrij + 3
tot_rc2_rij = beginrij + 4
tot_rc3_rij = beginrij + 6
rijX = "_rij"
Dim NamenX
Dim NamenrijX As Variant
NamenX = Array("tot_rc0", "tot_rc1", "tot_rc2", "tot_rc3)
NamenrijX = Array("")
' Array aanmaken met de rijnamen (NamenrijX)
ReDim Preserve NamenrijX(Aantal_NamenX) 'De array net zo groot maken als het aantal namen in NamenX
'array vullen
For y = 0 To Aantal_NamenX
NamenrijX(y) = NamenX(y) & rijXNext
'Namen aanmaken
verwijzing1 = "='"
verwijzing2 = "'!R"
verwijzing3 = "C"
ap = """"
For y = LBound(NamenX) To UBound(NamenX)
verwijzing = verwijzing1 & tabnr & verwijzing2 & NamenrijX(y) & verwijzing3 & rckolomNext
ActiveWorkbook.Names.Add Name:=naam, RefersToR1C1:=verwijzing
End Sub
Ik wil in de verwijzing de waarde van de variabele XXX_rij zien staan, maar ik krijg nu alleen de naam van de variabele die immers in de array staat.
Is er een simpeler manier om dit op te lossen?