Ik heb twee type oplossingen voor je. Beide hebben ze hun pro's en cons.quote:Op zondag 28 januari 2018 10:17 schreef Blue_note het volgende:
[..]
Thanks. Eens even mee spelen. Gevaar zit hem erin dat er dan veel geknoopt wordt. Blad2 t/m 15 kan in theorie ook t/m 50 gaan worden.
Ben bang dat verknopingen naar verloop van tijd dan misgaan, niet?!
quote:Op zondag 28 januari 2018 12:12 schreef qu63 het volgende:
[..]
Blad0 wordt dan je hulpsheet, Blad1 geeft je het overzicht.
In Blad0 kan je dan een van deze oplossingen gebruiken voor het aantal sheets (min Blad0 en Blad1): https://www.extendoffice.(...)umber-of-sheets.html
Ik zou het aantal tabbladen zelf zo klein mogelijk houden. In principe kun je met Excel gewoon tot in de oneindigheid doorwerken op 1 datasheet. Dan kun je die andere of andere twee voor totaalberekeningen en evt andere specifieke informatie gebruiken. 50 tabs is als 50 partities op een HD. Het kan wel, maar het schiet z'n doel voorbij en is minder gebruiksvriendelijk. Ik zou zelf iig geen bestand met een oneindigheid van tabs willen ontvangen.quote:Op zondag 28 januari 2018 12:21 schreef snabbi het volgende:
[..]
Ik heb twee type oplossingen voor je. Beide hebben ze hun pro's en cons.
Oplossing 1: AANTALARG(Blad2:Blad4!A:A)
op het moment dat je de formule invoert, kan je deze formule over meerdere werkbladen laten werken. Zolang je zorgt dat je alle bladen tot en met de meest rechter in deze formule hebt zitten, krijg je een soort van totaaltelling. Met een totaaltelling kan je in ieder geval vinden of je nog tabbladen vergeten bent.
Nadeel is dus dat je geen nieuwe werkbladen moet maken na de meest rechter.
Oplossing 2: Een lijst van alle tabbladen maken.
Deze oplossing kost wat meer tijd en bevat een macro. Hoewel de methode direct werkt in je bestand, kan je het bestand alleen opslaan wanneer je ook Macro's toelaat. Dus opslaan als een .xls bestand of als .xlsm.
Stap 1: Ga naar de Ribbon Formules
Stap 2: Kies voor Namen Beheren (of direct openen via CTRL F3)
Stap 3: Maak een nieuwe naam aan.
Stap 4: Geef het een logische naam zoals Bladen
Stap 5: Plak de volgende formule
=VERVANGEN(WERKMAP.LEZEN(1);1;VIND.ALLES("]";WERKMAP.LEZEN(1));"")
Klik op OK
Stap 6: maak nu je index, dus bijvoorbeeld in A1 zet je Nummer en in B1 Bladnaam
Stap 7: in A2 t/m A-zoveel geef je een oplopend nummer dus 1,2,3 etc
Stap 8: in B2 zet je de formule
=INDEX(Bladen;A2)
Kopieer dit door naar beneden
In kolom c kan je nu een formule bijvoegen zoals
=AANTALARG(INDIRECT(B2&"!A:A"))
Het is ook niet mijn ontwerp, maar de bedenker zal er vast zijn/haar eigen redenen voor hebben.quote:Op maandag 29 januari 2018 16:20 schreef Beathoven het volgende:
[..]
Ik zou het aantal tabbladen zelf zo klein mogelijk houden. In principe kun je met Excel gewoon tot in de oneindigheid doorwerken op 1 datasheet. Dan kun je die andere of andere twee voor totaalberekeningen en evt andere specifieke informatie gebruiken. 50 tabs is als 50 partities op een HD. Het kan wel, maar het schiet z'n doel voorbij en is minder gebruiksvriendelijk. Ik zou zelf iig geen bestand met een oneindigheid van tabs willen ontvangen.
Onwerper ontslaan is in dat geval de beste oplossing. Ik kan me geen andere reden bedenken dan onkunde, ontstaan om welke reden dan ook. Sommige mensen zouden niet aan Excel mogen zitten. Of alleen na een gedegen cursus.quote:Op maandag 29 januari 2018 20:05 schreef snabbi het volgende:
[..]Het is ook niet mijn ontwerp, maar de bedenker zal er vast zijn/haar eigen redenen voor hebben.
Gemakszucht vaak en soms een onkunde, men ziet een spreadsheet dan als een tekstverwerker en wat er binnen het kader voor het oog te zien is wordt dan als gebied gebruikt zoals een A4tje er is voor een stuk tekst. Dat is bij een spreadsheet een beetje onzinnig. Ik scroll liever door een reeks nummers dan dat ik moet gaan lopen klikken en handmatig moet zoeken. Als men 't centraal houdt volstaat ctrl fquote:Op maandag 29 januari 2018 20:05 schreef snabbi het volgende:
[..]
Het is ook niet mijn ontwerp, maar de bedenker zal er vast zijn/haar eigen redenen voor hebben.
quote:Op maandag 29 januari 2018 20:38 schreef The_vice het volgende:
[..]
Onwerper ontslaan is in dat geval de beste oplossing. Ik kan me geen andere reden bedenken dan onkunde, ontstaan om welke reden dan ook. Sommige mensen zouden niet aan Excel mogen zitten. Of alleen na een gedegen cursus.
Wat je ook vaak ziet is dat sheets eenvoudig beginnen, en dan uitgroeien tot uitdijende gedrochten. En nooit de tijd om het eens aan te pakken, maar wèl alle tijd om er inefficiënt mee te blijven werken.
Wat Beathoven zegt .."Ik zou zelf iig geen bestand met een oneindigheid van tabs willen ontvangen. "
Daar kan ik me goed in vinden.
Ik eigen mezelf (en vind dat anderen dat ook moeten/mogen doen) het recht toe om complexe Excel sheets op te schonen tot een weer werkbare variant.
Het is een non-discussie als je het mij vraagt. Er is sprake van slordigheid, ja. Zolang het voor die mensen werkt is het prima. Niet iedereen zal zich lang gaan verdiepen in een technisch mooie oplossing.quote:Op maandag 29 januari 2018 20:51 schreef Beathoven het volgende:
[..]
Gemakszucht vaak en soms een onkunde, men ziet een spreadsheet dan als een tekstverwerker en wat er binnen het kader voor het oog te zien is wordt dan als gebied gebruikt zoals een A4tje er is voor een stuk tekst. Dat is bij een spreadsheet een beetje onzinnig. Ik scroll liever door een reeks nummers dan dat ik moet gaan lopen klikken en handmatig moet zoeken. Als men 't centraal houdt volstaat ctrl f
Als een excelsheet voor een kleine onderneming volstaat zou ik daar eerst mee beginnen. Aanvankelijk kan zoiets dan wel tot bepaalde proporties uitgroeien waar je dan vervolgens over kunt besluiten om maar eens een database op te zetten en 't allemaal iets professioneler aan te pakken maar je wil ook weer niet iets opzetten waar vervolgens geen hond meer naar omkijkt. Voor de meeste ondernemingen volstaat een excelbestand wel een flinke tijd.quote:Op maandag 29 januari 2018 20:57 schreef snabbi het volgende:
[..]
[..]
Het is een non-discussie als je het mij vraagt. Er is sprake van slordigheid, ja. Zolang het voor die mensen werkt is het prima. Niet iedereen zal zich lang gaan verdiepen in een technisch mooie oplossing.
Ik kan ook antwoorden dat het tellen van beschreven regels eigenlijk niet in Excel moet plaatsvinden, maar dat er een database moet komen met entries (inclusief een veld waar je nu de naam van de sheet hebt) en passende count queries kunt bouwen. Tja. Enige wat je echt gaat doen is de mensen afschrikken om zelf te proberen. Laat ze tegen hun eigen problemen aanlopen in hun slordigheden en dan komen ze wel weer met een vraag die ze naar het volgende niveau kan helpen.
Dan komen de grootste getallen bovenaan te staan, dan kan het.quote:Op vrijdag 16 februari 2018 15:56 schreef Janneke141 het volgende:
Ik weet dat het met een hulpkolom vrij eenvoudig is, maar kun je ook 'rechtstreeks' een rij (niet-negatieve) getallen op zo'n manier sorteren dat alle nullen achteraan staan?
quote:Op vrijdag 16 februari 2018 18:02 schreef Basp1 het volgende:
[..]
Dan komen de grootste getallen bovenaan te staan, dan kan het.
Ik heb geen Excel thuis om te testen, maar misschien staat de oplossing hierquote:Op vrijdag 16 februari 2018 18:04 schreef Janneke141 het volgende:
[..]
Dat bedoel ik niet, maar dat snapte je al.
Er zou dus een rij uit moeten komen zoals 1, 2, 2, 4, 5, 77, 0, 0, 0.
Niet wat ik bedoel, want het gaat me echt om het sorteren van de rijen en niet om filteren. Nogmaals, ik weet wel een manier die niet al te ingewikkeld is, maar ik vroeg me gewoon af of het in 1 handeling kon.quote:Op vrijdag 16 februari 2018 18:24 schreef Basp1 het volgende:
[..]
Ik heb geen Excel thuis om te testen, maar misschien staat de oplossing hier
https://www.excelcampus.com/tips/filter-drop-down-zeros-numbers/
Volgens mij gaat het niet lukken met de standaard functionaliteit.quote:Op vrijdag 16 februari 2018 18:50 schreef Janneke141 het volgende:
[..]
..ik weet wel een manier die niet al te ingewikkeld is, maar ik vroeg me gewoon af of het in 1 handeling kon.
Omdat alle getallen kleiner zijn dan 200, volstaat een hulpkolom met een =ALS(A1=0;201;A1) en dan daarop sorteren.quote:Op vrijdag 16 februari 2018 21:13 schreef The_vice het volgende:
Maar wat is je "niet al te ingewikkelde manier"?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | Sub Macro0() Dim aMax As Long aMax = 19999 + 1 Range("Table1[Column3]").Select Selection.Replace What:="0", Replacement:=aMax, LookAt:=xlWhole _ , SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Macro1 Range("Table1[Column3]").Select Selection.Replace What:=aMax, Replacement:="0", LookAt:=xlWhole _ , SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False End Sub Sub Macro1() ActiveWorkbook.Worksheets("Sheet1").ListObjects("Table1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet1").ListObjects("Table1").Sort.SortFields.Add _ Key:=Range("Table1[[#All],[Column3]]"), SortOn:=xlSortOnValues, Order:= _ xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet1").ListObjects("Table1").Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub |
1. Gebruik eerst "voorwaardelijke opmaak".quote:Op vrijdag 16 februari 2018 15:56 schreef Janneke141 het volgende:
Ik weet dat het met een hulpkolom vrij eenvoudig is, maar kun je ook 'rechtstreeks' een rij (niet-negatieve) getallen op zo'n manier sorteren dat alle nullen achteraan staan?
quote:Op zaterdag 17 februari 2018 11:00 schreef snabbi het volgende:
[..]
1. Gebruik eerst "voorwaardelijke opmaak".
=ALS(A1=0;1;0) -> "kleurtje"
2. Selecteer je tabel
3. Rechter muistoets Sorteren -> Aangepast sorteren.
4. Voeg de regel toe Sorteren op Celkleur, Volgorde je kleurtje, Onderaan
5. Voeg de regel toe Sorteren op Waarde Van klein naar groot
Ik sla nog even de logische opbouw van je code over, en focus me alleen even op 1 dingetje in wat je zegt te doen en werkelijk doet.quote:Op zaterdag 17 februari 2018 01:05 schreef The_vice het volgende:
ennuh iets als dit:
stel je hebt al je data in een tabel genoemd "Table1" en in dit geval te sorteren is "Column3"
wat later best wel dynamisch is te maken
Code is:
• in de geselecteerde kolom, vervang alle nullen door een hoog getal (of eigenlijk hoogste getal +1)
• sorteer dan laag naar hoog
• vervang hoog getal (maximum +1) door 0
[ code verwijderd ]
Klopt, ik heb het zaakje dan ook even snel met de macro recorder in elkaar geflanst met minimale aanpassing.quote:Op zaterdag 17 februari 2018 11:13 schreef snabbi het volgende:
[..]
Ik sla nog even de logische opbouw van je code over, en focus me alleen even op 1 dingetje in wat je zegt te doen en werkelijk doet.
je zegt maximum + 1. Als je dat simpel wil doen (en voor de leesbaarheid buiten de opties om van table1):
aMax = Evaluate("MAX(C:C)") +1
quote:=IF(ISERROR(INDEX('FTE overzicht'!$A$1:$AA$400;SMALL(IF('FTE overzicht'!$AA$1:$AA$400=Sheet1!$W2;ROW('FTE overzicht'!$AA$1:$AA$400));ROW(1:1));1));"";INDEX('FTE overzicht'!$A$1:$AA$400;SMALL(IF('FTE overzicht'!$AA$1:$AA$400=Sheet1!$W2;ROW('FTE overzicht'!$AA$1:$AA$400));ROW(1:1));1))
Prima dat het je gelukt is:quote:Op maandag 26 februari 2018 12:00 schreef Puckzzz het volgende:
Excel 2016 EN
Ik probeer met onderstaande formule een lijst met namen samen te stellen die aan 3 criteria uit een gebied moeten voldoen. De formule werkt in zoverre dat ik de eerste naam terug krijg die aan de criteria voldoet maar helaas houdt het daar ook weer op. Terwijl er meerdere mensen zijn die aan de criteria voldoen.
[ afbeelding ]
Resultaat:
[ afbeelding ]
Voor wie het wil weten, met deze formule is het gelukt:
[..]
Goed punt! Ga ik zeker even naar kijken want ik ben als het goed is over een aantal maanden verhuisd en dan zal mijn opvolgster dit moeten onderhouden.quote:Op maandag 26 februari 2018 22:26 schreef snabbi het volgende:
[..]
Prima dat het je gelukt is:
Om je eigen formule naar de toekomst onderhoudbaar te maken adviseer ik je gebruik te maken van Named Ranges. Via een simpele CTRL ALT F3 -> kan je bijvoorbeeld je 'FTE overzicht'!$A$1:$AA$400 naar een naam als FTEtable transformeren
en samen met een naam voor de verschillende kolommetjes wordt het plots leesbaar voor een leek
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Public Sub exceljson() Dim http As Object, JSON As Object, i As Integer Set http = CreateObject("MSXML2.XMLHTTP") http.Open "GET", "https://opendata.rdw.nl/resource/m9d7-ebf2.json?$where=kenteken=%22XXXXXX%22", False http.Send Set JSON = ParseJson(http.responseText) i = 2 For Each Item In JSON Sheets(1).Cells(i, 11).Value = Item("kenteken") Sheets(1).Cells(i, 12).Value = Item("merk") Sheets(1).Cells(i, 13).Value = Item("type") Sheets(1).Cells(i, 14).Value = Item("uitvoering") Sheets(1).Cells(i, 15).Value = Item("variant") Sheets(1).Cells(i, 16).Value = Item("bruto_bpm") i = i + 1 Next MsgBox ("complete") End Sub |
1 | " + ActiveSheet.Range("B2").Value + " |
quote:Op dinsdag 27 februari 2018 20:45 schreef qu63 het volgende:
Hoe kan je in een string in een macro in Excel een verwijzing naar een cel maken?
Ik heb nu:
[ code verwijderd ]
Met een kenteken ipv 'XXXXXX'
Hoe kan ik dat nu een verwijzing maken naar bijvoorbeeld B5?
Macro linkt naar dit project: https://codingislove.com/excel-json/
1 | "https://opendata.rdw.nl/resource/m9d7-ebf2.json?$where=kenteken=%22" & Range("B1").Value & "XXXXXX%22" |
Bedankt voor de toevoeging. Ik heb er nu een check op zitten op lengte. Alles anders dan 6 geeft een error. Hoef ik me ook niet druk te maken of de streepjes wel op de juiste plek staanquote:Op dinsdag 27 februari 2018 20:56 schreef snabbi het volgende:
[..]
[ code verwijderd ]
al ben ik zelf nog wel een voorstander van minimaal een aantal checks op de input (zoals staan er wel streepjes in B1). Dit om fouten in de uitvoering te voorkomen.
Dim kenteken As String
kenteken = Range("B1").Value
If InStr(kenteken, "-") = False Then End
(etc)
- edit-
gebruik geen + tekens maar & om strings aan elkaar te voegen.
vertikaal.zoeken denk ik, in ieder geval degene die de vertaling is van Vlookup:quote:
Ja super bedankt precies wat ik zocht.quote:Op zondag 4 maart 2018 17:47 schreef The_vice het volgende:
[..]
vertikaal.zoeken denk ik, in ieder geval degene die de vertaling is van Vlookup:
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |