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

Vertikaal zoeken over verschillende tabbladen en waarden optellen

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

Mar7

Gebruiker
Lid geworden
15 jan 2012
Berichten
13
Hallo,

Ik ben opzoek naar een formule om het aantal gebruikte eenheden over verschillende tabbladen te zoeken, op te tellen en weer te geven.

Het tabblad "lijst" is het basisblad waar alle onderdelen, eenheidsprijzen en maximale hoeveelheden staan. Elk item heeft een intern nummer die ik gebuik om met Vert.Zoeken bepaalde gegevens over te nemen in de verschillende tabbladen "1011.1001", "1011.1002",... dit zijn de vorderingsstaten van elke job (bij een nieuwe job wordt een nieuwe tab gemaakt). Hierdoor moet ik alleen maar de interne nummer en hoeveelheid invullen in de verschillende tabbladen. Deze functie werkt :)

Nu zou ik nog moeten weten hoeveel keer een bepaald item is gebruikt door alle tabbladen te scannen en dit weer te geven in kolom R van het basisblad. Het komt er op neer dat hij moet zoeken naar de overeenkomende interne nummer en dan de ingevulde hoeveelheden optellen.

Ik heb al wat gezocht, maar vind de combinatie tussen vertikaal zoeken over verschillende tabbladen met optelsom niet... en ben helaas geen excel krak.

Kan iemand mij helpen?

Aangezien in geen bestand kan uploaden, staat het voorbeelddocument in deze link,
http://www.box.com/shared/fqrcoe8mcgzg0j8jdgj6
 
Hoeveel van die tabbladen zul je moeten gaan optellen?
 
is geen constante, maar ik vermoed een stuk of 20/30
 
Met een stukje code is het wel te doen.
Heb het in blad "Lijst" even voor je aan een knop gehangen.
Code:
Private Sub CommandButton1_Click()
 Dim sq As Variant, i As Long, c As Variant, firstaddress As Variant, Sh As Long
 Application.ScreenUpdating = False
   With Sheets("Lijst")
    .Range("j5:J" & .Cells.SpecialCells(xlCellTypeLastCell).Row).ClearContents
 sq = .Range("A1:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
    For i = 5 To UBound(sq)
     For Sh = 1 To Sheets.Count
     If Not Sheets(Sh).Name = "Lijst" Or Sheets(Sh).Name = "Basic sheet, to copy" Then
With Sheets(Sh)
     Set c = .Columns(1).Find(sq(i, 1), , xlFormulas)
    If Not c Is Nothing Then
     firstaddress = c.Address
        Do
          Sheets("Lijst").Cells(i, 10) = Sheets("Lijst").Cells(i, 10) + c.Offset(, 9).Value
           Set c = .Columns(1).FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstaddress
        End If
     End With
    End If
    Next Sh
   Next i
  End With
 Application.ScreenUpdating = True
End Sub
 

Bijlagen

Laatst bewerkt:
Dag HSV,

Ok, dit had ik nooit gevonden!!! ik ga het seffens uitproberen...
Alvast bedankt.
 
Dag HSV,

Dit is bijna wat ik moet hebben, het werkt alleszins al perfect!
Zou het mogelijk zijn de eenheden op te tellen in de verschillende tabbladen (kolom G) tot een totaal in plaats van de prijzen? Ik begrijp de verwarring door de titel/beschrijving van kolom I, mijn fout.
Ik zou het zelf aanpassen, maar dit is echt programmeerwerk...

Mijn dank is oneindig :)
 
Moet het resultaat wel in kolom J (oranje cellen)?
 
Ja, dat zou inderdaad in kolom J moeten. toch niet te veel werk hoop ik...
 
Nee hoor,

Er staat maar één negen in het stukje code, maak daar een zes van.
Dat is alles.
 
Ok bedankt, het werkt (weeral :) ). Dit is echt mega... !!!

Met vriendelijke groeten,
 
dubbels

Dag HSV,

Klein probleempje,

Voor de tien eerste waarden werkt alles, van zodra ik een elfde ingeef telt hij de eerste cel dubbel. Bij de twaalfde telt hij de tweede dubbel,...
vanaf de eenentwintigste ingave telt hij de eerste cel driedubbel,...

tot de 94ste ingave is dit probleem enkel bij de eerste 6 cellen, geeft hij de 7de cel dubbel...

Is er ergens een soort kringverwijzing?
 
Probeer deze eens. Gebaseerd op vb van HSV.
Code:
Private Sub CommandButton1_Click()
 Dim sq As Variant, i As Long, c As Variant, firstaddress As Variant, Sh As Long
 Application.ScreenUpdating = False
   With Sheets("Lijst")
    .Range("j5:J" & .Cells.SpecialCells(xlCellTypeLastCell).Row).ClearContents
 sq = .Range("A5:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
    For i = 1 To UBound(sq)
     For Sh = 1 To Sheets.Count
     If Not Sheets(Sh).Name = "Lijst" Or Sheets(Sh).Name = "Basic sheet, to copy" Then
With Sheets(Sh)
     Set c = .Columns(1).Find(sq(i, 1), , xlFormulas, xlWhole)
    If Not c Is Nothing Then
     firstaddress = c.Address
        Do
           Sheets("Lijst").Cells(i + 4, 10) = Sheets("Lijst").Cells(i + 4, 10) + _
                    IIf(c.Offset(, 9).Value <> "", c.Offset(, 9).Value, 0)
           Set c = .Columns(1).FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstaddress
        End If
     End With
    End If
    Next Sh
   Next i
  End With
 Application.ScreenUpdating = True
End Sub
 
Dag Rudi,

Ik zie dat je het stukje code er zonder variabele hebt ingezet + xlWhole. :thumb:
Enkel moet even de .Offset( , 9) aangepast worden naar een .Offset( , 6).
De 5 to Ubound(sq) zou ik wel laten staan, en de .Cells ( i + 4 , 10) zou ik gewoon .Cells(i, 10) laten.
Bvd.
 
Laatst bewerkt:
Hey Guys,

Ik snap dus niets van macro's hé... maar met de aanpassingen van "warm bakkertje" werkt het tot nu toe.
Welke aanpassingen moet ik maken voor een zo fail-safe mogelijke oplossing en is er in beperking in aantal tabbladen en het aantal rijen van de "lijst" & andere tabbladen?

Zijn er nu eigenlijk twee codes, omdat de ene begint met "Private Sub CommandButton1_Click()" en de andere met "Sub HSV()"

mvg,
 
Er zijn geen beperking qua aantal rijen of bladen.
Zolang het bladnaam niet 'Lijst' of 'Basic sheet, to copy' heet, worden alle bladen geteld.
De Sub HSV() is dezelfde code als de Private Sub Commandbutton1_Click, maar moet uitgevoerd worden met Alt+F11 of via een niet ActiveX besturingselement, een zelfgemaakte knop of een knop van de formulierbesturingselement dus.
 
vert.zoeken of horizontaal?

Beste,

ik zit al de hele week met mijn handen in het haar omtrent een opzet die ik niet draaiende krijg.
Bedoeling is dat ik uit verschillende exel bladen, 1 bestellijstje kan filteren. De lijnen alwaar er geen cijfer ingevuld wordt zouden moeten achterwege blijven.
Bijhorend voorbeeld moet enige duidelijkheid geven.
Lijstje moet dienen om de installateur, na zijn interventie; aan te kruisen van welke stukken hij gebruikt heeft, + hoeveel; om nadien, de magazijnier een lijstje te laten afprinten voor aanvulling voorraad.
Wie kan/wil mij helpen?
ik geraak er maar niet aan uit.
mvg
Patrick
 

Bijlagen

Dit topic is gedateert, m.a.w. het is ouder dan drie maanden en mag dus met rust gelaten mag worden. Topic gaat op slot en wordt overgedragen aan de afdeling BNw(Betere Naslagwerken)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan