Het getal dat je ziet wanneer je die opmaakcode gebruikt is helemaal niet vreemd: 370,4216 = 8890,1184 uren (-> 0,1184 uur = 7.104 minuten --> 0,104 minuut = 6.24 seconden)quote:Op donderdag 28 juli 2016 23:44 schreef capuchon_jongen het volgende:
[..]
Dat afstand (463027) delen door de snelheid (1250) ben ik zo ver:
Heb in B1 de afstand geplaatst en in B2 de snelheid. in B3 kom ik het getal 370,4216 uit.
Die 370,4216 slaag ik er niet in om om te zetten in uren, minuten en seconden
[ afbeelding ]
Voor de duidelijkheid: ik maak gebruik van LibreOffice Calc
Als ik opmaakcode [UU]:MM:SS gebruik kom ik een heel vreemd uur ofzo
Bedankt Lieve FOK!kerquote:Op vrijdag 29 juli 2016 08:56 schreef sylvesterrr het volgende:
[..]
Het getal dat je ziet wanneer je die opmaakcode gebruikt is helemaal niet vreemd: 370,4216 = 8890,1184 uren (-> 0,1184 uur = 7.104 minuten --> 0,104 minuut = 6.24 seconden)
1 = 1 dag
1/24 = 1 uur
1/24/60 = 1 minuut
1/24/60/60 = 1 seconde
370 minuten = 370 / 60 minuten / 24 uren = 0.2572372222222222 dag
En nu mag je zelf een formule bedenken.
Je kan dat toch gewoon in diezelfde cel verwerken? =b1/b2/60/24quote:Op vrijdag 29 juli 2016 20:16 schreef capuchon_jongen het volgende:
[..]
Bedankt Lieve FOK!ker![]()
Ik heb gewoon B3 "verborgen" en de formule in b4 gebruik: =b3/60/24. en dan de cellen opmaak in [uu]:mm:ss gezet
Daar was ik vlak na mijn post ook achter gekomenquote:Op vrijdag 29 juli 2016 21:52 schreef sylvesterrr het volgende:
[..]
Je kan dat toch gewoon in diezelfde cel verwerken? =b1/b2/60/24
=HYPERLINK("[bestandsnaam.xlsx]C15";C15&" "&C16)quote:Op woensdag 17 augustus 2016 18:30 schreef wou het volgende:
Ik ben voor een buitenlandse organisatie een bestand aan het maken waarin de salarissen berekend worden (belastingen e.d.). Op een ander tabblad wil ik alle loonstroken onder elkaar laten komen. Bovenaan wil ik dan een hyperlink voor elk personeelslid en als je daar dan op de naam klikt dat je naar die loonstrook gaat.
Nu is er de mogelijkheid om een hyperlink te maken binnen een werkblad met ctrl K, maar dan kan je de naam niet via een formule geven. Via de hyperlink functie kan de naam wel via een formule gegeven worden, maar die kan niet binnen een werkblad (voor zover ik weet), als ik bijv. =HYPERLINK(C15;C15&" "&C16) doe dan geeft hij als foutmelding dat hij het bestand niet kan vinden. Wat ik zelf heb nagezocht is deze functie ook niet voor binnen een werkblad.
Vraag: is er een hyperlink functie waarmee ik kan verwijzen naar een cel in hetzelfde werkblad en waarmee ik de naam tot stand kan komen d.m.v. een formule? Graag niet via een macro, want degenen die het gaan gebruiken kunnen daar niet goed mee overweg.
Kan ook zonder hyperlinkquote:Op woensdag 17 augustus 2016 18:30 schreef wou het volgende:
Ik ben voor een buitenlandse organisatie een bestand aan het maken waarin de salarissen berekend worden (belastingen e.d.). Op een ander tabblad wil ik alle loonstroken onder elkaar laten komen. Bovenaan wil ik dan een hyperlink voor elk personeelslid en als je daar dan op de naam klikt dat je naar die loonstrook gaat.
Nu is er de mogelijkheid om een hyperlink te maken binnen een werkblad met ctrl K, maar dan kan je de naam niet via een formule geven. Via de hyperlink functie kan de naam wel via een formule gegeven worden, maar die kan niet binnen een werkblad (voor zover ik weet), als ik bijv. =HYPERLINK(C15;C15&" "&C16) doe dan geeft hij als foutmelding dat hij het bestand niet kan vinden. Wat ik zelf heb nagezocht is deze functie ook niet voor binnen een werkblad.
Vraag: is er een hyperlink functie waarmee ik kan verwijzen naar een cel in hetzelfde werkblad en waarmee ik de naam tot stand kan komen d.m.v. een formule? Graag niet via een macro, want degenen die het gaan gebruiken kunnen daar niet goed mee overweg.
Is dit 1 regel tekst met als "scheidingsteken" de spatie.quote:Op vrijdag 19 augustus 2016 10:03 schreef Tjacka het volgende:
Hoi,
Ik heb op mijn werk nu een leadlijst van 2500 prospects alleen staan ze in de verkeerde volgorde in het excell bestand.
Het staat nu zo:
Pietje Puk Rozengracht 24 202517431 1016NC Amsterdam
1016NC Amsterdam
0202217431
Maar ik wil het zo:
Naam Restaurant: Contactpersoon: Adres: Tel nr: Plaats
Restaurant Pietje Puk Klaas Jansen Rozengracht 24 0202517431 1016NC Amsterdam
Is hier een optie in excell voor of een ander programma? Of moet ik al die leads handmatig in gaan voeren?
het staat nu zoquote:Op vrijdag 19 augustus 2016 10:19 schreef Twentsche_Ros het volgende:
[..]
Is dit 1 regel tekst met als "scheidingsteken" de spatie.
Of zijn ze al per kolom gesorteerd.
In het tweede geval is het een kwestie van kolommen "inserten" en een beetje cut-paste per kolom.
In het eerste geval wordt het moeilijker. Je moet de juiste spaties traceren die een scheiding van kolom moeten vormen. Je hebt nl per restaurantnaam meerdere spaties.
Da's creatief werk met "vind.spec" en "deel(...)" en zo.
Stap 1 is om de kolom met de gegevens in het lettertype "courier" te plaatsen. Die heeft nl per teken dezelfde breedte en kun je zien of de scheidingen mooi onder elkaar zitten. Dat maakt t een stuk gemakkelijker.
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.Wanneer de contactpersoon er bij staat is die al in een aparte kolom aangegevenGroot fan van User Wotte
... een uitdaging..... negativoquote:Op vrijdag 19 augustus 2016 10:31 schreef Basp1 het volgende:
t vanwege de spaties en meerdere woorden binnen namen een heidens karwei.
quote:Op vrijdag 19 augustus 2016 10:34 schreef Tjacka het volgende:
[..]
het staat nu zoZet bv in AA1: +a1, AB1: B1, AC1: B2, AD1: B3, AE1: C1.SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.Wanneer de contactpersoon er bij staat is die al in een aparte kolom aangegeven
Zodat alle info van 1 restaurant in 1 regel staat.
Copieer AA1 t/m AZ1 naar:
AA2 t/m AA100000 (voor mijn part).
Je zult zien dat om de drie of vier regels alle info staat van een bepaald restaurant.
Copieer kolommen AA t/m AZ
en doe: paste values...
Nu kun je de kolommen A t/m Z deleten.
Selecteer kolommen A t/m Z (die eerst AA t/m AZ waren)
Sorteer op kolom A.
De rijen waar 0 staat in kolom A kun je deleten.Je kunt beter één kaars opsteken dan duizend maal de duisternis vervloeken.
Holy shit ik ga dit proberen te begrijpenquote:Op vrijdag 19 augustus 2016 10:46 schreef Twentsche_Ros het volgende:
[..]
Zet bv in AA1: +a1, AB1: B1, AC1: B2, AD1: B3, AE1: C1.
Zodat alle info van 1 restaurant in 1 regel staat.
Copieer AA1 t/m AZ1 naar:
AA2 t/m AA100000 (voor mijn part).
Je zult zien dat om de drie of vier regels alle info staat van een bepaald restaurant.
Copieer kolommen AA t/m AZ
en doe: paste values...
Nu kun je de kolommen A t/m Z deleten.
Selecteer kolommen A t/m Z (die eerst AA t/m AZ waren)
Sorteer op kolom A.
De rijen waar 0 staat in kolom A kun je deleten.
Bedankt voor het meedenken, slimme oplossing. Gaat dit ook werken als er een masterversie is die elke maand gebruikt wordt en dan een nieuwe naam krijgt? Het bestand dekt nl. maar 1 maand en er is dus elke maand een nieuw bestand (kopie van de master).quote:Op vrijdag 19 augustus 2016 00:53 schreef wwwever het volgende:
[..]
=HYPERLINK("[bestandsnaam.xlsx]C15";C15&" "&C16)
werkt in excel 2016
[ afbeelding ]
Klinkt top. Ik heb inderdaad 1 sheet waarin alle informatie staat / berekend wordt, inderdaad 1 (lange) regel (A t/m AX oid) per werknemer. De loonstrook haalt de gegevens daaruit. De offset formule moet ik me even in verdiepen, die is nieuw voor mij.quote:Op vrijdag 19 augustus 2016 09:18 schreef Twentsche_Ros het volgende:
[..]
Kan ook zonder hyperlink
met "offset" of "vergelijking"
Als alle wezenlijke informatie van 1 persoon op 1 regel staat, kun je door het invullen van die ene regel in een bepaalde cel de complete loonstrook maken. Met in elke cel in de loonstrook referenties naar een bepaalde kolom in die bewuste rij.
Dan hoef je ook al die loonstroken niet te maken. Alle info staat in de database.
Desnoods kun je voor het uitprinten een macro'tje laten "snorren", die gelijk even een pdf opslaat.
Sheet1:quote:Op vrijdag 19 augustus 2016 17:32 schreef wou het volgende:
[..]
Klinkt top. Ik heb inderdaad 1 sheet waarin alle informatie staat / berekend wordt, inderdaad 1 (lange) regel (A t/m AX oid) per werknemer. De loonstrook haalt de gegevens daaruit. De offset formule moet ik me even in verdiepen, die is nieuw voor mij.
Het tweede gedeelte van de post (niet de macro, dat is helder) gaat met te grote stappen voor mij. Wil je dat misschien nog iets eenvoudiger voor me uitleggen? Want dat klinkt als een potentieel goede oplossing.
Hartelijk bedankt voor de heldere uitleg. Met deze formule kan ik dus vanuit een vast referentiepunt naar een cel verwijzen. Dat lijkt me sowieso een praktische methode, nu gebruik ik met name verticaal zoeken naar het werknemersnummer om er dan het juiste gegeven bij te zoeken. Dit gaat denk ik sneller.quote:Op vrijdag 19 augustus 2016 18:18 schreef Twentsche_Ros het volgende:
[..]
Sheet1:
A1 Naam
A2 Jansen
A3 Flipsen
B1 Adres
B2 Kerkstraat 12
B3 Molenstraat 12
C1 Brutoloon
C2 2800
C3 2000
D1 Beroep
D2 Vertegenwoordiger
D3 Schoonmaker
Sheet2:
C4: =OFFSET(Sheet1!$A$1,Sheet2!$P$1-1,0,1,1)
C5: =OFFSET(Sheet1!$A$1,Sheet2!$P$1-1,1,1,1)
C13: =OFFSET(Sheet1!$A$1,Sheet2!$P$1-1,2,1,1)
P1: 2 of 3 (naar gelang de betreffende regel)
De functie "offset" begint dus met een soort referentiepunt linksboven, daarna de stappen naar beneden (rij-1, want het titelblok zelf is rij1), daarna de stappen naar rechts, daarna een 1 als het maar om 1 cel gaat (verticaal), daarna een 1 als het maar om 1 cel gaat (horizontaal). Dus meestal 1,1)
Wil je nu wél of niet de loonstroken apart onder elkaar hebben. Dat kan wel, dan moet je copy paste values doen (dus een formules). En dan doe je telkens 100 regels verder naar onder (in een macro zetten). Of je print ze in pdf. Dat is juridisch juister, omdat je de bedragen niet meer kunt wijzigen achteraf. Je maakt een pdf, en die mail je naar de werknemer. Of je print 'm en hij gaat over de post.quote:Op vrijdag 19 augustus 2016 19:19 schreef wou het volgende:
[..]
Hartelijk bedankt voor de heldere uitleg. Met deze formule kan ik dus vanuit een vast referentiepunt naar een cel verwijzen. Dat lijkt me sowieso een praktische methode, nu gebruik ik met name verticaal zoeken naar het werknemersnummer om er dan het juiste gegeven bij te zoeken. Dit gaat denk ik sneller.
Ik zie hier denk ik echter nog wat over het hoofd, want hoe kan ik kan ik hiermee zorgen dat ik niet de 30 loonstroken onder elkaar hoef te zetten, met elk hun eigen verwijzingen? In feite is dat het probleem wat ik heb, dat ik in 1 tabblad onder elkaar al die loonstroken heb en dan vind ik bovenin een index (m.b.v. hyperlinken) het prettigst, maar dan wel eentje waar de link automatisch een naam krijgt, zodat als ik iets wijzigt, de naam van de link ook mee wijzigt.
Sorry als ik teveel vraag, ik wil graag leren en ben blij met het leren beheersen van nieuwe formules, maar soms moet even het kwartje vallen over hoe zo'n formule echt praktisch gebruikt kan worden. Dat is wat anders dan theoretisch begrijpen hoe die werkt.
Voor mij maakt het op zich niet uit of ze onder elkaar staan of niet, het gaat er om wat het beste werkt. Als ik bestanden met macro's maak, in een organisatie waar een als formule al het summum van kundigheid in excel is, dan weet ik niet hoe lang het bestand meegaat. Dat kan dan vrij snel niet meer werken. Daarom ben ik daar een beetje voorzichtig mee.quote:Op vrijdag 19 augustus 2016 19:28 schreef Twentsche_Ros het volgende:
[..]
Wil je nu wél of niet de loonstroken apart onder elkaar hebben. Dat kan wel, dan moet je copy paste values doen (dus een formules). En dan doe je telkens 100 regels verder naar onder (in een macro zetten). Of je print ze in pdf. Dat is juridisch juister, omdat je de bedragen niet meer kunt wijzigen achteraf. Je maakt een pdf, en die mail je naar de werknemer. Of je print 'm en hij gaat over de post.
Het handigst is volgens mij:quote:Op vrijdag 19 augustus 2016 19:38 schreef wou het volgende:
[..]
Voor mij maakt het op zich niet uit of ze onder elkaar staan of niet, het gaat er om wat het beste werkt. Als ik bestanden met macro's maak, in een organisatie waar een als formule al het summum van kundigheid in excel is, dan weet ik niet hoe lang het bestand meegaat. Dat kan dan vrij snel niet meer werken. Daarom ben ik daar een beetje voorzichtig mee.
Ik wil ze gemakkelijk allemaal kunnen afdrukken. Een pdf is handig om het zelf op te slaan, maar mailen gaat niet. Ik schat in dat 90% van de lokale werknemers thuis sowieso geen internet heeft, en ongeveer de helft heeft ook geen bedrijfsmail (bijv. schoonmakers, bewakers etc.).
Alle loonstroken onder elkaar, zoals je noemt is dus waarschijnlijk het handigst. Daar ben ik nu dus ook mee bezig. Maar als ik dan naar een specifieke loonstrook wil, dan moet ik zoeken. Daarom wil ik een index bovenin. En daar gaat eigenlijk de hele vraag over.
Duidelijk. Erg bedankt voor de hulp.quote:Op zaterdag 20 augustus 2016 09:54 schreef Twentsche_Ros het volgende:
[..]
Het handigst is volgens mij:
Stel je hebt de printinstellingen op sheet2 helemaal goed voor een loonstrook.
Stel je wil de loonstroken van rij 2 t/m rij 100 uitgeprint hebben.
Macro:
Sub uitprint()
'
' uitprint Macro
'
'
For i = 2 To 100
Cells(1, 16) = i
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Next i
End Sub
cells(1,16)= namelijk cel P1
Je wil immers de loonstroken toch als hardcopy opsturen, gezien de geringe affiniteit met computers van je personeel.
Daarna kun je copieen maken of van elke loonstrook een pdf maken.
Aangezien het personeel toch prijs stelt op hard copy's als loonstroken, kun je volstaan met "old school" en map te maken met van die tussenbladen (per werknemer), en dan per maand een copie van de loonstrook.quote:Op zaterdag 20 augustus 2016 12:55 schreef wou het volgende:
[..]
Duidelijk. Erg bedankt voor de hulp.
Yup, AANTAL.ALS gebruiken.quote:Op donderdag 1 september 2016 09:55 schreef mrPanerai het volgende:
ik heb een kolom waar zo'n 1000 namen in staan, is er een formule hoe ik het aantal de identieke namen kan verkrijgen.
DUS
JAN
JAN
PIET
PIET
JAN
JAN 3
PIET 2
of COUNTIF als je de engelse excel versie gebruikt..quote:Op donderdag 1 september 2016 09:56 schreef Roel_Jewel het volgende:
[..]
Yup, AANTAL.ALS gebruiken.
https://support.office.co(...)71-abb4-1f464816df34
Probleem dat ik niet alle namen ken die zich in de kolom bevinden.quote:Op donderdag 1 september 2016 09:57 schreef mschol het volgende:
[..]
of COUNTIF als je de engelse excel versie gebruikt..
waarom ze dit hebben gedaan is echt een raadsel, had alles lekker engels gelaten
Zet in de cel naast iedere naam de volgende formule (eerste naam in dit voorbeeld in A1)quote:Op donderdag 1 september 2016 10:00 schreef mrPanerai het volgende:
[..]
Probleem dat ik niet alle namen ken die zich in de kolom bevinden.
Er staan wellicht 800 unieke namen in en zo'n 60 die meer dan 1 keer voorkomen
ik wil zien hoe veel van die 60 meerdere keren voorkomen
Ik wou dit met een draaitabel genereren maar ik vind 'm niet
Erg fijn dat je me wil helpen.quote:Op donderdag 1 september 2016 12:39 schreef Janneke141 het volgende:
[..]
Zet in de cel naast iedere naam de volgende formule (eerste naam in dit voorbeeld in A1)
=AANTAL.ALS(A$1:A1;A1)
Kopieer dat door tot het einde van de lijst, en in de cel daaronder (zeg dat de lijst nu B1:B999 is)
=AANTAL.ALS(B1:B999;2)
Het getal dat daaruit komt is het aantal namen in de lijst dat vaker voorkomt.
Zoals je eerder aangaf, in draaitabel namen in Rows slepen, volgnummer in Values, en dan type van Sum naar Count wijzigen.quote:Op donderdag 1 september 2016 12:51 schreef mrPanerai het volgende:
[..]
Erg fijn dat je me wil helpen.![]()
maar mss heb ik het niet duidelijk uitgelegd.
Kolom 1 is een bepaald volgnummer waarop een deelnemer zich heeft geregistreerd
Kolom 2 is de naam en voornaam van die deelnemer. zo heb ik 894 rijen
Nu wil ik er graag uithalen welke deelnemers zich op verschillende volgnummers hebben geregistreerd.
Is dit duidelijker?
Wellicht mosterd na de maaltijd....quote:Op donderdag 1 september 2016 14:19 schreef mrPanerai het volgende:
Helemaal Top, hartelijk bedankt
[ afbeelding ]
Nee want ik wil eigenlijk weten wie zich dubbel op welk nummer geregistreerd had, zodat ik die deelnemers er kon op wijzen dat dat niet de bedoeling was.quote:Op zaterdag 3 september 2016 16:05 schreef Twentsche_Ros het volgende:
[..]
Wellicht mosterd na de maaltijd....
Maar je kunt ook het volgende doen:
Stel je hebt in kolom A staan:
piet
piet
piet
jan
jan
kees
kees
wim
wim
Copieer kolom A naar kolom C.
Selecteer kolom C.
Bovenaan de taakbalk staat "Data" (Engelse versie)
En doe "remove dublicates"
Ik heb de Engelse versie. Dus iets met "verwijder dubbelen"
Select all
OK
Dan krijg je in C:
piet
jan
kees
wim
En dan kun je in kolom D: Countif doen.
Het isquote:Op woensdag 28 september 2016 16:44 schreef Barbados het volgende:
Hulp gevraagd....
Ik probeer een enquete te maken in Excel 2010. Ik heb een voorbeeld gevonden met stap voor stap uitleg aangezien ik een leek ben:
http://office-oplossingen(...)ge-enquete-in-excel/
Er lijkt alleen een fout te zitten in de code:
ELself ActiveCell.Column > 1 And ActiveCell.Column< = 6 Then
ik krijg daarbij de melding; Compileerfout: Syntaxifout
Weet iemand wat ik hier moet aanpassen om de enquete werkend te krijgen?
Alvast bedankt!
| 1 | ElseIf |
https://www.techwalla.com(...)d-in-microsoft-excelquote:Op zaterdag 15 oktober 2016 19:15 schreef Janneke141 het volgende:
Kun je in Excel het geluid bij foutmelding-dialoogvensters uitschakelen? (Excel 2016, NL)
Wie helpt Krea?quote:Op dinsdag 1 november 2016 15:54 schreef Kreator het volgende:
[..]
Wat ik écht wil doen:
Ik heb een Excel met 26 sheets.
Op sheet 1 staat een overzicht.
Ik wil op tig van die regels in het overzicht een hyperlink zetten naar een bepaald veld op 1 van die 26 sheets. Máár, als ik een link maak op Sheet1 naar Sheet24 Cel A612 en morgen ga ik in sheet 24 ineens een heleboel nieuwe regels toevoegen, dan verwijst de link uit Sheet 1 naar een verkeerde cel, want die verwijst dan nog steeds naar Sheet24 Cel A612, terwijl de waarde waar ik naar wil linken misschien wel op Sheet24 cel A632 staat.
Ik weet niet of het nog duidelijk is.
| 1 | =IF(MID(A1,4,2)="00","Begane grond", CHOOSE(MID(A1,4,2), "Eerste","Tweede","Derde","Vierde","Vijfde","Zesde","Zevende","Achtste","Negende","Tiende","Elfde","Twaalfde","Dertiende")&" verdieping") |
quote:Op dinsdag 22 november 2016 10:35 schreef G-Mart het volgende:
Hi,
Ik heb een Excel vraag. Samen met een groep vrienden willen we graag stemmen op welke clubs we graag willen bezoeken. In een cel (bijv. E1 in dit voorbeeld) voert iemand de naam van de club in. Vervolgens kan iedereen in dropdown menus kiezen of ze dit een goed idee vinden. Ze kunnen op het moment kiezen tussen 'ja' en 'nee'. In cel D2 gebruik ik deze formule op het moment:
=if(COUNTIF(E2:J2,"JA")=6,"WE GAAN","WE GAAN NIET")
Dus als iedereen tussen cel E2 en J2 ja zegt (6 man in totaal) dan zegt cel D2 'WE GAAN'.
Dit werkt allemaal prima, maar nu wil ik graag de formule uitbreiden:
1) In plaats van 'ja' en 'nee' wil ik ook graag dat mensen kunnen kiezen voor 'maakt me niet uit'. En dat wordt dan standaard ook als 'ja' gezien.
2) Als iemand voor 'nee' kiest, wil ik graag dat cel D2 rood wordt van kleur.
Ik heb nu een paar dagen zitten spelen met verschillende formules, en me suf gezocht op het internet, maar ik krijg het niet voor elkaar.
Iemand die me hier mee zou kunnen helpen?
Alvast bedankt
quote:Op dinsdag 22 november 2016 10:53 schreef bambino het volgende:
Gewoon je formule omdraaien
Countif "e2-j2" = Nee, We gaan niet, anders we gaan wel
Zo dus
=if(COUNTIF(E2:J2,"NEE")=6,"WE GAAN NIET","WE GAAN")
Zet op A2 in blad 1:quote:Op woensdag 2 november 2016 11:05 schreef Niveath het volgende:
Ik ben bezig met een inventarisatie van vastgoedplattegronden.
Deze worden vanuit AutoCad naar Excel geëxporteerd.
Een ruimte heeft altijd een nummer, bijvoorbeeld "00.00.01".
Dit is ruimte 01 op verdieping 00 (Begane Grond), de eerste twee getallen zijn bij ons in de praktijk altijd 00 en dus nu nvt.
Hoe maak ik een formule die a.d.h.v. het ruimtenummer de verdieping weergeeft?
Dus wanneer er 00.00.01 staat in cel A1, komt in cel A2 "Begane Grond", of 00.01.01, komt er "Eerste verdieping" etc.
| 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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | Sub Copy_To_Worksheets_2() 'Note: This macro use the function LastRow and SheetExists Dim My_Range As Range Dim FieldNum As Long Dim CalcMode As Long Dim ViewMode As Long Dim ws2 As Worksheet Dim Lrow As Long Dim cell As Range Dim CCount As Long Dim WSNew As Worksheet Dim ErrNum As Long Dim DestRange As Range Dim Lr As Long 'Set filter range on ActiveSheet: A1 is the top left cell of your filter range 'and the header of the first column, D is the last column in the filter range. 'You can also add the sheet name to the code like this : 'Worksheets("Sheet1").Range("A1:AO" & LastRow(Worksheets("Sheet1"))) 'No need that the sheet is active then when you run the macro when you use this. Set My_Range = Range("A1:AO" & LastRow(ActiveSheet)) My_Range.Parent.Select If ActiveWorkbook.ProtectStructure = True Or _ My_Range.Parent.ProtectContents = True Then MsgBox "Sorry, not working when the workbook or worksheet is protected", _ vbOKOnly, "Copy to new worksheet" Exit Sub End If 'This example filters on the first column in the range(change the field if needed) 'In this case the range starts in A so Field:=1 is column A, 2 = column B, ...... FieldNum = 1 'Turn off AutoFilter My_Range.Parent.AutoFilterMode = False 'Change ScreenUpdating, Calculation, EnableEvents, .... With Application CalcMode = .Calculation .Calculation = xlCalculationManual .ScreenUpdating = False .EnableEvents = False End With ViewMode = ActiveWindow.View ActiveWindow.View = xlNormalView ActiveSheet.DisplayPageBreaks = False 'Add a worksheet to copy the a unique list and add the CriteriaRange Set ws2 = Worksheets.Add With ws2 'first we copy the Unique data from the filter field to ws2 My_Range.Columns(FieldNum).AdvancedFilter _ Action:=xlFilterCopy, _ CopyToRange:=.Range("A1"), Unique:=True 'loop through the unique list in ws2 and filter/copy to a new sheet Lrow = .Cells(Rows.Count, "A").End(xlUp).Row For Each cell In .Range("A2:A" & Lrow) My_Range.Parent.Select 'Filter the range My_Range.AutoFilter Field:=FieldNum, Criteria1:="=" & _ Replace(Replace(Replace(cell.Value, "~", "~~"), "*", "~*"), "?", "~?") 'Check if there are no more then 8192 areas(limit of areas) CCount = 0 On Error Resume Next CCount = My_Range.Columns(1).SpecialCells(xlCellTypeVisible) _ .Areas(1).Cells.Count On Error GoTo 0 If CCount = 0 Then MsgBox "There are more than 8192 areas for the value: " & cell.Value _ & vbNewLine & "It is not possible to copy the visible data." _ & vbNewLine & "Tip: Sort your data before you use this macro.", _ vbOKOnly, "Split in worksheets" Else 'Add a new worksheet or set a reference to a existing sheet If SheetExists(cell.Text) = False Then Set WSNew = Worksheets.Add(After:=Sheets(Sheets.Count)) On Error Resume Next WSNew.Name = cell.Value If Err.Number > 0 Then ErrNum = ErrNum + 1 WSNew.Name = "Error_" & Format(ErrNum, "0000") Err.Clear End If On Error GoTo 0 Set DestRange = WSNew.Range("A1") Else Set WSNew = Sheets(cell.Text) Lr = LastRow(WSNew) Set DestRange = WSNew.Range("A" & Lr + 1) End If 'Copy the visible data to the worksheet My_Range.SpecialCells(xlCellTypeVisible).Copy With DestRange .Parent.Select ' Paste:=8 will copy the columnwidth in Excel 2000 and higher ' Remove this line if you use Excel 97 .PasteSpecial Paste:=8 .PasteSpecial xlPasteValues .PasteSpecial xlPasteFormats Application.CutCopyMode = False .Select End With End If ' Delete the header row if you copy to a existing worksheet If Lr > 1 Then WSNew.Range("A" & Lr + 1).EntireRow.Delete 'Show all data in the range My_Range.AutoFilter Field:=FieldNum Next cell 'Delete the ws2 sheet On Error Resume Next Application.DisplayAlerts = False .Delete Application.DisplayAlerts = True On Error GoTo 0 End With 'Turn off AutoFilter My_Range.Parent.AutoFilterMode = False If ErrNum > 0 Then MsgBox "Rename every WorkSheet name that start with ""Error_"" manually" _ & vbNewLine & "There are characters in the name that are not allowed" _ & vbNewLine & "in a sheet name or the worksheet already exist." End If 'Restore ScreenUpdating, Calculation, EnableEvents, .... My_Range.Parent.Select ActiveWindow.View = ViewMode With Application .ScreenUpdating = True .EnableEvents = True .Calculation = CalcMode End With End Sub Function LastRow(sh As Worksheet) On Error Resume Next LastRow = sh.Cells.Find(What:="*", _ After:=sh.Range("A1"), _ Lookat:=xlPart, _ LookIn:=xlValues, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Row On Error GoTo 0 End Function Function SheetExists(SName As String, _ Optional ByVal WB As Workbook) As Boolean 'Chip Pearson On Error Resume Next If WB Is Nothing Then Set WB = ThisWorkbook SheetExists = CBool(Len(WB.Sheets(SName).Name)) End Function |
Eérste vraag, waarom moet de data uberhaupt naar afzonderlijke sheets worden gekopieerd alvorens ze te kunnen analyseren?quote:Op donderdag 24 november 2016 16:32 schreef Mynheer007 het volgende:
Ik ben bezig met een data-analyse en heb 1 grote inputfile met data die ik op basis van een criteria in meerdere tabbladen wil laten pakken. Dat is mij inmiddels al gelukt via een macro. Het enige nadeel is dat de nieuw aangemaakte tabbladen even groot zijn als het tabblad waar ze vandaan komen en daardooor bevatten deze tabbladen onnodig veel witte rijeen aan de onderkant. Hierdoor worden een aantal van mijn berekeningen onnodig traag en daarom wil ik van deze witte rijen af en het liefst door te voorkomen dat deze worden aangemaakt. Daarvoor moet ik de onderstaande macro aanpassen maar ik heb echt geen flauw idee hoe.
[ code verwijderd ]
Ik maak gebruik van excel 2010(English) maar heb ook toegang tot excel 2016(Nederlands).
Edit: Misschien overbodig maar ik noem toch even dat het om een bestand met 170K rijen gaat
| 1 2 3 4 5 6 7 8 9 | Sub Macro1() For Each ws In ThisWorkbook.Sheets ' do something on each worksheet Debug.Print ws.Name ws.Activate ActiveSheet.Range("$A$1:$c$100").RemoveDuplicates Columns:=Array(1, 2), Header:=xlNo Next End Sub |
Als je dit direct in Voorwaardelijke Opmaak met formules op wil gaan lossen wordt het onnodig complex. Voorwaardelijke opmaak is al beperkt genoeg van zichzelf,quote:Op vrijdag 25 november 2016 16:15 schreef Zocalo het volgende:
...
Ik wil een voorwaardelijke opmaak hebben dat de cellen in kolom E een kleur krijgen als deze allen in een regel van kolom F t/m Z voorkomen. Dit hoeft niet in identieke volgorde te zijn, als maar ik wil snel kunnen zien of de cellen in kolom E al als een bestaande regel voorkomen.
...
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.Dan in voorwaardelijke opmaak:let op de dollar tekens
1 =VergelijkKolomMetRij($A$1:$A$5;$C1:$H1)
of in één cell als(Ik zet meestal het resultaat van dit soort vergelijken in één van de eerste kolommen, B1 en verder in dit geval, dan kan je er ook makkelijk op sorteren, filteren, of tellen. Ook de Voorwaardelijke Opmaak kan je dan op basis van B1 meenemen ["=$B1=TRUE"])
1 =VergelijkKolomMetRij($A$1:$A$5;C1:H1)
Noot: een nadeel van voorwaardelijke opmaak is dat ie zelf extra nieuwe opmaak regels aanmaakt als je gaat sorteren, of regels invoegt. Vaak merk je dit in eerste instantie niet, maar als je sheet langzamer wordt dan is het zaak om dubbele voorwaardelijke opmaak regels op te schonen
[ Bericht 3% gewijzigd door The_vice op 27-11-2016 14:30:33 ]Hendrik de Heette heette Hendrik de Heette omdat zijn vader ook Hendrik heette.
-vandaag was 't ook mooi-
Excel; zet het eens in een pivot table
Bedankt voor de tip. Strikt gezien zal het wel allemaal op één tabblad kunnen maar ik denk dat voor het overzicht makkelijker is om de data op te delen in verschillende tabbladen.quote:Op donderdag 24 november 2016 17:55 schreef The_vice het volgende:
[..]
Eérste vraag, waarom moet de data uberhaupt naar afzonderlijke sheets worden gekopieerd alvorens ze te kunnen analyseren?
Als het je om de witte rijen te doen is, en de rest uniek is zou je met de functie remove duplicates de witregels kunnen verwijderen.
Bijv met:
[ code verwijderd ]
Vooral dat ja. "ik wil iets, hoe gaan we dat fixen" was mijn leerschoolquote:Op woensdag 30 november 2016 21:38 schreef sylvesterrr het volgende:
Excel is zó uitgebreid en multifunctioneel dat je wel iets specifieker moet zijn in je leerdoelen.Ik denk dat velen het gewoon hebben geleerd door veel te spelen/prutsen.
Oh, spijker iig je Google-skills bij.
Voor zover ik weet is het niet mogelijk om de exacte getallen uit de grafiek te krijgen met "vloeiende lijn".quote:Op dinsdag 6 december 2016 20:32 schreef Frenzei het volgende:
Hoi,
Ik heb een reeks getallen/data:
[ afbeelding ]
Deze getallen zijn niet gebaseerd op berekeningen of iets dergelijks. Nu wil ik de lege vakken invullen, gebaseerd op de grafiek. Is dit mogelijk met excel?
Ik geloof dat de TREND, FORECAST en LOGEST functies de achterliggende berekening gebruiken, en omdat die niet bestaat, komen daar verkeerde getallen uit. Weet iemand een manier om exacte getallen te krijgen die op de grafiek zouden liggen? (met vloeiende kromme)
Ik gebruik MS Office Professional Plus 2010 (English)
Alvast bedankt!
Het zou zo kunnenquote:Op woensdag 7 december 2016 12:02 schreef IJsmuts het volgende:
Beste mensen,
Ik heb de volgende vraag: voor een analyse van openstaande posten heb ik een lijst waarin ik de waarde "Aantal dagen te laat" heb. Nu wil ik grag een kolom toevoegen die kijkt naar dit aantal en dan vervolgens aangeeft of de openstaande post in de categorie 0-30 dagen/30-60 dagen/60-90 dagen etc. valt. dit lukt mij niet, kunnen jullie mij helpen? Ik maak gebruik van NL Excel 2007
Thanks
top dat werkt! dank, hier kan ik goed mee verder!quote:Op woensdag 7 december 2016 12:52 schreef Basp1 het volgende:
[..]
Het zou zo kunnen
=ALS(B6<30;"categorie 1";ALS(B6<60;"categorie 2";ALS(B6<90;"categorie 3";"volgendetest")))
deze formule gebruiken om het aantal dagen om te zetten naar verschillende catergorieen.
In B6 staat in dit voorbeeld dan het aantal dagen.
Ik zou alleen het niet "categorie 1"noemen maar gewoon een 1 2 of 3 gebruiken
De formule is dan naar beneden te kopieren.
Is het een dynamische lijst die steeds aangevuld gaat worden of een eenmalig iets. Als het eenmalig is gewoon een nachtje door laten reken en dan een copy en paste met alleen gegevens maken.quote:Op donderdag 8 december 2016 14:59 schreef Mynheer007 het volgende:
Het is mij gelukt om excel dit voor een lijst te laten doen die zo'n 32k rijen lang was...maar vandaag probeer ik het weer maar doet hij er bij een korte lijst al heel lang over. Hebben jullie tips voor mij hoe ik dit proces kan versnellen (door bijvoorbeeld formules te optimaliseren)?
Het is een eenmalig iets. Een nachtje doorrekenen zou prima kunnen maar hij doet er met 4 processors zo traag over dat ik vrees dat het me dan een paar maanden gaat kosten. Na een half uur is hij nog steeds op 0%quote:Op donderdag 8 december 2016 15:05 schreef Basp1 het volgende:
een dynamische lijst die steeds aangevuld gaat worden of een eenmalig iets. Als het eenmalig is gewoon een nachtje door laten reken en dan een copy en paste met alleen gegevens maken.
Misschien helpt het om eerst de sheets splitsen in wat kleinere stukken en daarop de formules loslaten?quote:Op donderdag 8 december 2016 15:19 schreef Mynheer007 het volgende:
[..]
Het is een eenmalig iets. Een nachtje doorrekenen zou prima kunnen maar hij doet er met 4 processors zo traag over dat ik vrees dat het me dan een paar maanden gaat kosten. Na een half uur is hij nog steeds op 0%
Bedankt voor de reacties.quote:Op donderdag 8 december 2016 16:44 schreef Z het volgende:
Ik zou het niet in Excel doen. Ik weet niet of het in Acces sneller gaat. Ik zelf zou het in R doen, dat rekent veel sneller in dit soort gevallen. Zo heel veel data is het ook al weer niet, Excel gaat er gewoon niet handig mee om lijkt het.
Helemaal mee eens. Ik gebruik in R vooral script van anderen en dan werkt het heel goed. Maar om zelf iets in elkaar te zetten gaat gewoon veel tijd kosten.quote:Op donderdag 8 december 2016 17:10 schreef Z het volgende:
eercurve inderdaad! Wel een mooi programma hoor. En open source, dat maakt het vooral ook fantastisch.
100% beter via access.quote:Op donderdag 8 december 2016 14:59 schreef Mynheer007 het volgende:
Of zou ik dit misschien beter in access kunnen doen?
Excel kan dit ook wel. Maar het is niet normaal dan er na een half uur nog maar 0% is berekend.quote:Op donderdag 8 december 2016 16:44 schreef Z het volgende:
Ik zou het niet in Excel doen. Ik weet niet of het in Acces sneller gaat. Ik zelf zou het in R doen, dat rekent veel sneller in dit soort gevallen. Zo heel veel data is het ook al weer niet, Excel gaat er gewoon niet handig mee om lijkt het.
Dat geloof ik van harte maar Excel doet niet alles altijd even efficiënt heb ik gemerkt. Sommige programmatuur gaat anders/beter om met bepaalde 'berekeningen'.quote:Op vrijdag 9 december 2016 11:48 schreef Twentsche_Ros het volgende:
[..]
Excel kan dit ook wel. Maar het is niet normaal dan er na een half uur nog maar 0% is berekend.
Ik snap de output ook niet helemaal. Maar dat moet natuurlijk vele malen sneller.
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |