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

Matrixformule aanpassen.

Status
Niet open voor verdere reacties.

jwprograms

Gebruiker
Lid geworden
2 sep 2015
Berichten
52
Aan allen:

In het verleden heeft iemand mij hier geweldig geholpen met het maken van een database in Excel.
Daarin is een zoekfunctie ingebouwd wat een formuliertje automatisch vult met gegevens uit de database.
Het bestand is inmiddels zo groot dat er met het vullen van het formuliertje een probleem ontstaat omdat niet alle gegevens uit de database meer worden geladen.

In alle cellen van het formuliertje zitten matrixformules. Het ontbreekt mij echter aan voldoende kennis om deze formules helemaal te begrijpen.
Als iemand daar behulpzaam in kan zijn dan zou ik er ontzetten mee geholpen zijn.
In de (uitgeklede) bijlage is omschreven waar het om gaat.

Vriendelijke groet en alvast bedankt voor het meedenken.

Cor
 

Bijlagen

  • NB Helpmij.xls
    309 KB · Weergaven: 64
Waarom een database in Excel?
Een database maak je met Access!
Ook met een database kan je berekeningen maken.
Access heeft genoeg voorbeelden om je wegwijs te maken.
Sytse
 
Sytse,

Tja, maar ik begrijp dat je waarschijnlijk net zoveel kennis hebt van Matrixformules als ik van Access, anders had je mijn vraag wel kunnen beantwoorden. En daarbij komt dat degene die er mee moeten werken helemaal niets van Access weten.
Ik hoop dus op iemand met meer verstand van Excel als jij en ik.

Grt, Cor
 
Een gebruiker hoeft helemaal geen verstand van Acces te hebben. Die ziet alleen maar formulieren in beeld.
Een database maak je niet met excel.
Maar ik wens je veel succes.
Sytse
 
Zowel de formule in kolom C alsook je matrix aangepast.

Test het maar eens.
 

Bijlagen

  • NB Helpmij.xlsm
    67,3 KB · Weergaven: 65
Laatst bewerkt:
Hallo Harry,

Bedankt voor je reactie en aanpassen van de formules. Kan het zijn dat deze alleen werken in de nieuwere versie Excel die jij gebruikt.
Mijn oude bestand is ooit gemaakt in Excel 2003 en het opent daar ook in maar als ik een nr kies verschijnt er niets.

Vr. grt. Cor
 
Voor Excel 2003.
 

Bijlagen

  • NB Helpmij (1).xls
    304,5 KB · Weergaven: 41
Harry,

Jep, deze werkt helemaal. Nu nog ff inplanten in het originele bestand maar dat lijkt me geen probleem.
Heel hartelijk bedankt weer voor je hulp.

Vriendelijke groet, Cor
 
of met VBA:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address <> "$K$5" Then Exit Sub
    
  sn = Blad3.Cells(1).CurrentRegion
  ReDim sp(13, 8)
    
  With CreateObject("scripting.dictionary")
    For j = 1 To UBound(sn)
      If sn(j, 1) = Target Then .Item(sn(j, 2)) = .Item(sn(j, 2)) & "_" & sn(j, 3)
    Next
      
    For j = 0 To .Count - 1
      st = Split(.Items()(j), "_")
      For jj = 0 To UBound(st)
        sp(y + jj \ UBound(sp, 2), jj Mod UBound(sp, 2) - (jj \ UBound(sp, 2) > 0)) = st(jj)
      Next
      sp(y, 0) = .Keys()(j)

      y = y + 1 + jj \ UBound(sp, 2)
    Next
  End With
    
  With Blad4.Range("C6:K19")
    .ClearContents
    .Value = sp
  End With
End Sub

De gegevenstabel heb ik natuurlijk laten beginnen in cel A1.

En van een bestand met meer dan 30 macromodules word ik ook niet erg vrolijk.
 

Bijlagen

  • __zonder Access snb.xls
    239 KB · Weergaven: 45
Laatst bewerkt:
Hallo SNB,

Inmiddels is het me gelukt dmv aanpassen van de matrixformule om het in het origine bestand werkend te krijgen.
Maar er zijn dus meer wegen die naar Rome gaan. Jij stuurt ook een prachtige oplossing en ik merk dat deze veel sneller rekent.
Ik ga eens kijken of ik ook dit in het originele bestand kan toepassen hoewel ik de VBA code in de tabs niet echt begrijp.

Maar mooi leermomentje. Hartelijk dank hiervoor. Misschien kom ik nog wel terug met een vraagje.

Cor
 
Nog sneller is een draaitabelletje, dat heeft alleen niet die indeling die jij hebt, maar de straten in de eerste kolom en in de kolom ernaast de bijbehorende huisnummers.
 
Misschien voor Sytse1 ook nog een leermoment.
 
Daar ben ik toch weer.
Ik heb geprobeerd om de VBA programmacodes van snb in mijn bestand te implanteren. Dat is me helaas niet gelukt.
Ik heb de codes uit de tabs Dbase en Select gekopieerd en geplakt in het originele bestand. Misschien kan dat helemaal niet maar kon ook niet ontdekken of er iets in aangepast moest worden. In de code lees ik o.a. "blad3" en "blad4". Moet dat soms worden aangepast? Of moet deze code ook speciaal worden afgesloten of opgeslagen net als een matrixformule. Je merkt wel dat ik er niet echt verstand van heb, maar leer wel graag.Bekijk bijlage Helpmij test 2.xls

In het bestandje van Harry loop ik toch jammergenoeg ook tegen een onvolkomenheidje aan. Ik heb het in bijgaand bestandje proberen duidelijk te maken. Omdat het originele bestand uit meer als 1983 regels bestaat heb ik dat in de formules aangepast, afgesloten met ctrl/shift/enter en doorgekopieerd. Dat ging prima maar loste niet het straatnaamprobleem op.

Hoe dan ook, ik hoop op een oplossing.

Grt, Cor
 
Waarom sommige helpers verwijzen naar een blad met bv; blad1. ontgaat mij ook.
Als jij bv. een Engelse versie hebt is het sheet1.

Ik open weleens bestanden waar iemand anders een code voor heeft geschreven, dan staat in de projectverkenner 'sheet1' en de code is geschreven met 'blad1'.
Het zal dus versieafhankelijk zijn, maar de eindgebruiker heeft er niets aan.

Kijk hier eerst eens naar, want de code van @snb zie ik nergens in het bestand.
 
@HSV,

Volgens mij wijzigt de codename van een tab niet. Lijkt mij dus onafhankelijk van de taalinstellingen. Het gaat natuurlijk wel mis als er een nieuw/ander bestand is dat met een andere taalinstelling gemaakt is en daar de code klakkeloos in gekopieerd wordt. Het gebruik van de index of naam is natuurlijk ook niet geheel zonder risico's;)

Even twee versies door elkaar in het plaatje.
 

Bijlagen

  • Knipsel.JPG
    Knipsel.JPG
    15,7 KB · Weergaven: 68
Laatst bewerkt:
@VenA,

Ik ben nog niet overtuigt.
Ik zie wel eens bestandjes waarin jij en/of @snb blad1. schrijven in de code, terwijl er bij mij dan de codename sheet1 in de projectverkenner staat.
 
@HSV, om je te overtuigen of niet;)

Het bestandje heb ik aangemaakt in Xl-2007(Nl) en aangepast in XL-2010(En) mij lijkt het dat de codename niet wijzigt.

Op de knop klikken is geheel voor eigen risico:d
 

Bijlagen

  • testje codename.xlsb
    25,6 KB · Weergaven: 40
@HSV

Als ik een nieuw werkboek aanmaak in mijn Engelstalige Excel, krijgt een werkblad automatisch de codename sheet1, sheet2, sheet3, etc.

Gebruik je een Nederlandstalige Excel dan zijn de codenames automatisch Blad1, Blad2, Blad3.

Download ik een Nederlandstalig geproduceerd Excel werkboek, dan zijn de codenames van de bladen Blad1, Blad2, Blad3.
Pas als ik een extra blad ga toevoegen heet dat sheett1.

Dat geldt vice versa analoog.

Overtuigd ?
 
@snb,

Dat weet ik allemaal, maar ik zie codes met de verwijzingmethode sheet1. in een bestand dat je niet gaat reproduceren (teveel werk).
Ik schrijf het met blad1. en jij schrijft het met sheet1.

Als jij het schrijft met sheet1. , moet ik het vaak aanpassen.

Daarom dacht ik dat het niet betrouwbaar was.
Ik kan nog wel meer van die dingen die Microsoft doet die in je Excel terecht komen zonder dat je er bij stilstaat. (Functie invoegen bv.).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan