Misschien iets duidelijker maken. Ik heb een bestand met enkele duizenden regels. Ik heb het vermoeden dat er dubbele regels inzitten terwijl dat niet de bedoeling is. Ik wil dus die dubbele regels herkennen. Een regel kan als dubbel worden aangemerkt als de invoer in kolommen A, B, C, E en G gelijk zijn aan elkaar.quote:Op woensdag 25 november 2009 23:01 schreef sanger het volgende:
Via voorwaardelijke opmaak kan ik wel een enkele cel doen, maar het gaat om een combinatie van 5-6 cellen die identiek moeten zijn wil dit als duplicaat aangemerkt worden.
Eigenlijk wil ik de exacte functie van de duplicaten verwijderen en alleen het verwijderen vervangen door invullen met bv. geel.
Dat zou mooi zijnquote:Op donderdag 26 november 2009 07:49 schreef DaFan het volgende:
Kan wel macrootje voor je schrijven. Begint de data op rij 2?
De kolommen waar de match op moet komen zijn:quote:Op donderdag 26 november 2009 07:53 schreef sanger het volgende:
[..]
Dat zou mooi zijn
Alleen de kolommen wil je dan exact weten neem ik aan? Die ik hierboven noemde waren voorbeelden.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | lastrow = Range("B65536").End(xlUp).Row For i = 2 To lastrow TempVal = Range("B" & i).Value For j = i + 1 To lastrow If Range("B" & i).Value = Range("B" & j).Value Then If Range("F" & i).Value = Range("F" & j).Value Then If Range("G" & i).Value = Range("G" & j).Value Then If Range("AE" & i).Value = Range("AE" & j).Value Then Rows(j).Interior.ColorIndex = 4 End If End If End If End If Next j Next i End Sub |
1 2 3 4 5 6 7 | Range("F" & i).Value = Range("F" & j).Value & _ Range("G" & i).Value = Range("G" & j).Value & _ Range("AE" & i).Value = Range("AE" & j).Value Then Rows(j).Interior.ColorIndex = 4 End If |
SUPER!!!!quote:Op donderdag 26 november 2009 09:00 schreef DaFan het volgende:
Aub
[ code verwijderd ]
Weet iemand waarom 4 nested If-loops wel werken en dit niet:
[ code verwijderd ]
Als ik eerlijk moet zijn maakt de kleur me niets uit. Al had je voor roze gekozen Het gaat me puur om de functionaliteit.quote:Op donderdag 26 november 2009 09:36 schreef DaFan het volgende:
Ik heb hem alleen getest met 3 rijen waarvan rij 2 en 4 gelijk waren. Rij 4 werd groen. Als je een andere kleur wilt moet je Colorindex = 4 even aanpassen (geen idee wat geel is trouwens )
Dus ik weet niet 100% zeker hoe het gaat met meerdere duplicaten en veel meer rijen.
Hoor het wel
overzichtje colorindexquote:Op donderdag 26 november 2009 09:51 schreef sanger het volgende:
[..]
Als ik eerlijk moet zijn maakt de kleur me niets uit. Al had je voor roze gekozen Het gaat me puur om de functionaliteit.
Pquote:
Welke versie van excel, wat voor type plaatjes, hoe in het document geplaatst.quote:Op donderdag 26 november 2009 10:19 schreef EddyAlbena het volgende:
Hoe kan het dat wanneer ik een Excel bestand waarin wij kleine bedrijfsicoontjes hebben geplaatst als marker en deze omzet naar PDF, een deel van de icoontjes plat worden?
quote:Op donderdag 26 november 2009 10:03 schreef Deetch het volgende:
[..]
overzichtje colorindex
[ afbeelding ]
Welke lijnen bedoel je? De X-as en de Y-as?quote:Op donderdag 26 november 2009 19:21 schreef Heinz__ het volgende:
Weet iemand ook of dit mogelijk is in excel?
[ afbeelding ]
Het gaat er om dat de waarden van die lijnen automatisch mee veranderen wanneer ik ze wijzig.
Die T-lijn etc.quote:Op donderdag 26 november 2009 19:31 schreef sanger het volgende:
[..]
Welke lijnen bedoel je? De X-as en de Y-as?
Als het goed is past de lijn zich aan zodra je de gegevens in de tabel aanpastquote:
Komma's vervangen door puntkomma's?quote:Op vrijdag 27 november 2009 09:04 schreef STING het volgende:
Vraagje.
Ik werk met een systeem waar we CSV's uit exporteren.
Het probleem is echter dat de kolommen door komma's worden gescheiden en niet door puntkomma's.
Dit heeft als gevolg dat Excel 2003 ze niet direct wil openen en ook niet de CSV wil opslaan met komma's.
Nu kan ik in de Regional settings de taal naar "English (United Kingdom)" zetten, maar dat is zo omslachtig.
Iemand een tip?
Dat is een workarond die ik heb geprobeerd toe te passen, echter.. zitten er ook komma's in sommige velden.quote:Op vrijdag 27 november 2009 09:17 schreef sanger het volgende:
[..]
Komma's vervangen door puntkomma's?
Alles selecteren waar je de vervanging wilt doen. Dan vervolgens zoeken/vervangen.
Tweede probleem heeft helaas dat Excel de kolommen niet goed scheidt.quote:Op vrijdag 27 november 2009 09:48 schreef Deetch het volgende:
Tja daarom is het eerste wat ik doe op mijn PC de regionale settings in engels zetten of gewoon direct een engelse versie installeer. Dan heb je al dat gezeik met puntkomma's ipv komma's decimale komma's ipv decimale punten niet.
Je zou de CSV ipv open kunnen importeren en dan scheiden op puntkomma. Als je dat dan opneemt met je macrorecorer kun je hem ook nog naar wens aanpassen.
quote:Op donderdag 26 november 2009 18:37 schreef Hephaistos. het volgende:
Zit nu al een hele tijd te prutsen, maar kom er niet uit... Hoop dat iemand me hier kan helpen
Excel 2007 - Nederlands
Het probleem: Ik heb een stuk of 200 bestanden, die allemaal op dezelfde manier zijn opgebouwd. Uit die 200 bestanden wil ik de inhoud van negen verschillende cellen kopieren naar een nieuw totaalbestand. Dus bijvoorbeeld:
- Cel 2A van blad 1
- Cel 5H van blad 1
- Cel 3B van blad 4
En dat de gegevens van die cellen dus netjes onder elkaar in het totaalbestand terechtkomen.
Ik heb al geprobeerd om te prutsen met macro's, maar daar loop ik telkens tegen het probleem aan dat die macro alleen verwijst naar de cellen in één bestand. Zodra ik dezelfde macro dan in een ander bestand probeer uit te voeren, geeft ie een foutmelding.
Iemand die raad weet?
quote:
Ik bedoelde jouquote:Op vrijdag 27 november 2009 09:02 schreef DaFan het volgende:
Loopen door files
Blegh.
(Kom er nog niet uit sanger).
Ik raad je met klem aan de informatie uit die 200 bestanden (?????? Tilt) in 1 fraaiequote:
' Zet deze functie in een module van spreadsheet totaalquote:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | Dim fs As FileSystemObject Dim f As File Dim wb As Workbook Dim strLoc As String Dim nr As Integer strLoc = "c:\Files" 'Zet alleen excelfiles in deze folder Set fs = New FileSystemObject For Each f In fs.GetFolder(strLoc).Files Set wb = Application.Workbooks.Open(f.Path) nr = nr + 1 Blad1.Cells(nr, 1) = wb.Sheets(3).Range("A1") Blad1.Cells(nr, 2) = wb.Sheets("hoi").Range("A2") wb.Close False Next f End Function |
Op youtube staan verschillende 'advanced' filmpjes.quote:Op zaterdag 28 november 2009 12:18 schreef borisz het volgende:
Zijn er nu ook goede boeken/programma's over Excel die wat verder gaat dan 'zo maak een cel vet of cursief' ?
De basis van excel dingen ken ik wel, ik wil wat meer leren over Excel dan alleen de basis .
Er zijn zat cursussen/trainingen ook. Wel prijzig overigens, en vaak heel specifiek op een bepaald gebruikersdoel gericht.quote:Op zaterdag 28 november 2009 12:18 schreef borisz het volgende:
Zijn er nu ook goede boeken/programma's over Excel die wat verder gaat dan 'zo maak een cel vet of cursief' ?
De basis van excel dingen ken ik wel, ik wil wat meer leren over Excel dan alleen de basis .
Leer je niet makkelijker/sneller door gewoon jezelf uit te dagen iets moeilijks te maken?quote:Op zaterdag 28 november 2009 12:18 schreef borisz het volgende:
Zijn er nu ook goede boeken/programma's over Excel die wat verder gaat dan 'zo maak een cel vet of cursief' ?
De basis van excel dingen ken ik wel, ik wil wat meer leren over Excel dan alleen de basis .
Super, ik ga het morgen eens even proberen...quote:Op zaterdag 28 november 2009 06:24 schreef iamcj het volgende:
[..]
' Zet deze functie in een module van spreadsheet totaal
' Kies menu - > extra -> verwijzingen -> Microsoft scripting runtime aanvinken
[ code verwijderd ]
Het kan ook anders, beter en sneller, maar dit is het best te begrijpen denk ik.
Probeer met .autofilter ertussen, op deze manier:quote:Op zaterdag 28 november 2009 21:38 schreef hendrik2009 het volgende:
Hallo,
Wanneer je sorteert in 2 kolommen, is dat dan niet met "with" neer te zetten?
Want dit werkt namelijk niet:
With Sheets("qty").sort
.SetRange Range("C4:L" & Range("L" & Rows.Count).End(xlUp).Row)
.Key1 = Range("C4")
.Order1 = xlAscending
.Key2 = Range("H4")
.Order2 = xlAscending
.Header = xlNo
.OrderCustom = 1
.MatchCase = False
.Orientation = xlTopToBottom
.Apply
End With
Bedankt.
thanks, maar werkt ook niet.quote:Op zaterdag 28 november 2009 21:53 schreef Joooo-pi het volgende:
[..]
Probeer met .autofilter ertussen, op deze manier:
With ActiveWorkbook.Worksheets("Blad1").AutoFilter.Sort
[...]
wat denk je van een advanced cursus??quote:Op zaterdag 28 november 2009 12:18 schreef borisz het volgende:
Zijn er nu ook goede boeken/programma's over Excel die wat verder gaat dan 'zo maak een cel vet of cursief' ?
De basis van excel dingen ken ik wel, ik wil wat meer leren over Excel dan alleen de basis .
Dan moet je wel weten wat je precies zoekt en heel kritisch de cursusinfo doornemen omdat advanced cursussen vaak specifiek op een bepaald doel gericht zijn.quote:Op zondag 29 november 2009 23:51 schreef Deprater het volgende:
[..]
wat denk je van een advanced cursus??
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 | ' ' Tabelletje Macro Application.Calculation = xlManual Range("A25").Select For P = 0 To 2 For Q = 0 To 2 For R = 0 To 2 Range("C2").Value = P Range("C3").Value = Q Range("C4").Value = R Calculate ActiveCell.Value = P ActiveCell.Offset(0, 1) = Q ActiveCell.Offset(0, 2) = R Activecell.Offset(0, 3) = P & " WVB, " & Q & " PL, " & R & " MNTR" ActiveCell.Offset(0, 4) = Range("I21").Value ActiveCell.Offset(1, 0).Select Next r Next q Next p Application.Calculation = xlAutomatic End Sub |
grrr, deze had ik dus gemist, nevermind.quote:Op maandag 30 november 2009 14:43 schreef Dj_unkie het volgende:
Laat maar ik heb het al opgelost...het is makkelijker om die formule gewoon een paar maal onder elkaar te zetten, dan kan ik ook onafhankelijk variabelen veranderen
thanx anyway
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 10-3-2008 372,8 137.237,7 29,39 14-3-2008 462,2 137.699,9 36,23 19-3-2008 413,4 138.113,3 31,87 26-3-2008 454,1 138.567,4 35,82 2-4-2008 401,1 138.968,5 28,43 9-4-2008 430,2 139.398,7 33,45 13-4-2008 431,8 139.830,5 30,31 16-4-2008 349,6 140.180,1 23,71 21-4-2008 468,9 140.649,0 33,35 27-4-2008 501,4 141.150,4 36,59 7-5-2008 469,7 141.620,1 28,31 12-5-2008 401,1 142.021,2 28,07 17-5-2008 590,1 142.611,3 36,63 23-5-2008 539,7 143.151,0 35,55 |
ik weet niet hoe je engels combineert met ; maar vooruit.quote:Op maandag 30 november 2009 15:49 schreef Stpan het volgende:
=IF(LEN(F2)=4;"0"&F2;IF(LEN(F2)=3;"00"&F2;IF(LEN(F2)=2;"000"&F2;"OK")))
je kunt van elke periode het gemiddelde berekenen door de meetwaarden van twee data van elkaar af te en te delen door het verschil van de datumsquote:Op maandag 30 november 2009 15:59 schreef mien-moeke het volgende:
Okay, ik heb de volgende data:
[ code verwijderd ]
De data lopen door tot vandaag en verder.
Nu wil ik graag de volgende cellen creëren:
1- Gemiddelde per jaar. (Van elk jaar apart)
2- Gemiddelde per maand. (Ook apart)
3- Gemiddelde per week.
Maar aangezien er een onregelmatige tijd zit tussen elke waarneming, krijg ik dit niet voorelkaar. (Ben wel een beetje een excel noob.)
Versie 2007 NL.
Nog een lastigere:
Stel, ik wil het vollopen van een bad simuleren met excel.
Dus ik heb:
1-Een bad
2-Een instelbare afvoer van dat bad
3-Een instelbare water toevoer
Dus ik laat bv het bad (100l) vollopen met 10l/min terwijl de afvoer ingesteld staat op 5l/min.
Het bad zal dus volstromen met 5l/min.
Dit wil ik 'live' in beeld krijgen. Dus als ik bv de afvoer opschroef, dat ik het bad (Als zijnde een grafiek) zie dalen en andersom.
Er moet dus iets van een lus gecreëerd worden waarin ik continue kan ingrijpen en veranderen.
Met BVD.
1 2 3 4 5 6 7 | 1 12-01-2008 15 2 18-10-2008 18 Daggemiddelde: (b2-b1)/(a2-a1) Jaargemiddelde: 365*(b2-b1)/(a2-a1) Maandgemiddelde: 365*(b2-b1)/(12*(a2-a1)) |
Nvm, Deetch begreep je vraag anders...makes sensequote:Op maandag 30 november 2009 15:49 schreef Stpan het volgende:
Excel 2007, Engels.
Ik heb iets waar ik maar niet uitkom. Ik ben nummers aan het uitvullen.
Dus 1234 wordt 01234 (5 cijfers)
Met formule:
=IF(LEN(F2)=4;"0"&F2;IF(LEN(F2)=3;"00"&F2;IF(LEN(F2)=2;"000"&F2;"OK")))
Nu wil ik dat wanneer cel F2 al 5 cijfers of langer is, dat ik dan niet 'OK' krijg, maar de waarde van cel F2.
=F2 zorgt ervoor dat ik de tekst =F2 krijg.
Als ik de aanhalingstekening weglaat idem.
Kortom, een kleine tweak en ik ben een happy man, maar welke tweak?
Dit kan met Matrxforumeles bv:quote:Op maandag 30 november 2009 15:59 schreef mien-moeke het volgende:
Okay, ik heb de volgende data:
[ code verwijderd ]
De data lopen door tot vandaag en verder.
Nu wil ik graag de volgende cellen creëren:
1- Gemiddelde per jaar. (Van elk jaar apart)
2- Gemiddelde per maand. (Ook apart)
3- Gemiddelde per week.
Maar aangezien er een onregelmatige tijd zit tussen elke waarneming, krijg ik dit niet voorelkaar. (Ben wel een beetje een excel noob.)
Versie 2007 NL.
Nog een lastigere:
Stel, ik wil het vollopen van een bad simuleren met excel.
Dus ik heb:
1-Een bad
2-Een instelbare afvoer van dat bad
3-Een instelbare water toevoer
Dus ik laat bv het bad (100l) vollopen met 10l/min terwijl de afvoer ingesteld staat op 5l/min.
Het bad zal dus volstromen met 5l/min.
Dit wil ik 'live' in beeld krijgen. Dus als ik bv de afvoer opschroef, dat ik het bad (Als zijnde een grafiek) zie dalen en andersom.
Er moet dus iets van een lus gecreëerd worden waarin ik continue kan ingrijpen en veranderen.
Met BVD.
quote:Op maandag 30 november 2009 15:59 schreef mien-moeke het volgende:
Okay, ik heb de volgende data:
[ code verwijderd ]
De data lopen door tot vandaag en verder.
Nu wil ik graag de volgende cellen creëren:
1- Gemiddelde per jaar. (Van elk jaar apart)
2- Gemiddelde per maand. (Ook apart)
3- Gemiddelde per week.
Maar aangezien er een onregelmatige tijd zit tussen elke waarneming, krijg ik dit niet voorelkaar. (Ben wel een beetje een excel noob.)
Vind t een hele mooie formule maar snap niet wat ie doet.quote:Op woensdag 2 december 2009 18:07 schreef iamcj het volgende:
[..]
Dit kan met Matrxforumeles bv:
{=GEMIDDELDE(ALS($A$18:$A$33>C23;ALS($A$18:$A$33<C24;$B$18:$B$33;0);0))}
Kies de wizard voorwaardelijk som (invoegtoepassing )en vervang som door gemiddelde.
Cel altijd verlaten met Ctr + Schift + Enter.
Juist. Dat ja.quote:Op woensdag 2 december 2009 21:29 schreef mgerben het volgende:
[..]
Leuk, ik ben ook naar dit op zoek.
Verheldering.
Ik heb een lijst met datums die over verschillende jaren heen lopen.
Wat ik wil is een selectie die de 1e en laatste datum in een jaar kan vinden (en dan iets kan doen met de data erbij).
Voorbeeld:
06-01-2008 5
02-09-2008 11
20-12-2008 21
01-01-2009 26
30-11-2008 32
Die waarden in de 2e kolom lopen altijd op.
Nu wil ik voor elk jaar zoiets doen:
- selecteer de 1e datum in het jaar; en de laatste datum in het jaar.
- Trek de twee data-waarden van elkaar af (21-5=16). Trek de twee datums van elkaar af (20 dec 2008 - 6 jan 2008).
En dan kan ik die waarden gebruiken om het verbruik in 2008 te berekenen.
Dus de vraag is: Hoe vind ik de 1e en de laatste datum van een jaar in zo'n lijst?
Dit probleem heb ik bij de vorige Excel-vragen topic ook al behandeld.quote:Op woensdag 2 december 2009 21:29 schreef mgerben het volgende:
[..]
Leuk, ik ben ook naar dit op zoek.
Verheldering.
Ik heb een lijst met datums die over verschillende jaren heen lopen.
Wat ik wil is een selectie die de 1e en laatste datum in een jaar kan vinden (en dan iets kan doen met de data erbij).
Voorbeeld:
06-01-2008 5
02-09-2008 11
20-12-2008 21
01-01-2009 26
30-11-2008 32
Die waarden in de 2e kolom lopen altijd op.
Nu wil ik voor elk jaar zoiets doen:
- selecteer de 1e datum in het jaar; en de laatste datum in het jaar.
- Trek de twee data-waarden van elkaar af (21-5=16). Trek de twee datums van elkaar af (20 dec 2008 - 6 jan 2008).
En dan kan ik die waarden gebruiken om het verbruik in 2008 te berekenen.
Dus de vraag is: Hoe vind ik de 1e en de laatste datum van een jaar in zo'n lijst?
Belangrijk dus: cel verlaten met ctr + shift + enter, dan krijg je ook die extra haken er omheen.{}quote:Op woensdag 2 december 2009 21:46 schreef mien-moeke het volgende:
[..]
Vind t een hele mooie formule maar snap niet wat ie doet.
Kun je m stap voor stap proberen uit te leggen?
En hier een voorbeeld van een max functie ook weer met matrix. Matrix wil niets anders zeggen dan voer de actie uit voor meer dan 1 cel. Probeer de Help eens.quote:Op woensdag 2 december 2009 21:29 schreef mgerben het volgende:
[..]
Leuk, ik ben ook naar dit op zoek.
Verheldering.
Ik heb een lijst met datums die over verschillende jaren heen lopen.
Wat ik wil is een selectie die de 1e en laatste datum in een jaar kan vinden (en dan iets kan doen met de data erbij).
Voorbeeld:
06-01-2008 5
02-09-2008 11
20-12-2008 21
01-01-2009 26
30-11-2008 32
Die waarden in de 2e kolom lopen altijd op.
Nu wil ik voor elk jaar zoiets doen:
- selecteer de 1e datum in het jaar; en de laatste datum in het jaar.
- Trek de twee data-waarden van elkaar af (21-5=16). Trek de twee datums van elkaar af (20 dec 2008 - 6 jan 2008).
En dan kan ik die waarden gebruiken om het verbruik in 2008 te berekenen.
Dus de vraag is: Hoe vind ik de 1e en de laatste datum van een jaar in zo'n lijst?
Je kan onderaan de kolom ook aantal.als(B2: B30;"Waar") en aantal.als(B2: B30;"Niet waar") neerzetten. Dan krijg je gewoon 2 cijfers onderaan, en daar kan je dan weer een grafiek van maken.quote:Op zondag 6 december 2009 12:28 schreef Schanulleke het volgende:
antwoorden staan vermeld als waar of niet waar.
Als ik de kolom selecteer en op grafieken klik dan krijg ik per respondent een staaf.
Dat is niet de bedoeling.
Ik wil uiteindelijk per vraag twee staven hebben, een voor het aantal waar en een voor het aantal niet waar.
Moet ik misschien eerst in kaart brengen hoeveel waar/niet-waar er per vraag is en daar een staafdiagram van trekken? Het oogt minder mooi denk ik maar werken met numerieke waardes lijkt wel voordeel te bieden.
Dat kan, maar je kan ook een kant en klaar bestand van microsoft.com pakken:quote:Op zondag 6 december 2009 12:23 schreef FrituurVetPet het volgende:
Beste excel experts, Ik ben een zeer basic excel gebruiker en heb het volgende nodig:
In een bepaalde cel wil ik een startwaarde invoeren, waarna er elke week (op zondag) automatisch een bepaald bedrag bijkomt. Is dit mogelijk?
Eigenlijk is het nog fijner om de standaardformule te weten zodat ik het voor meer dingen kan gebruiken.
Ik wil namelijk wat minder handmatig mijn leef/kostenpatroon kunnen bijhouden.
Dankuwel!
Dat bedoel ik helaas niet.quote:Op zondag 6 december 2009 14:11 schreef qu63 het volgende:
[..]
Dat kan, maar je kan ook een kant en klaar bestand van microsoft.com pakken:
http://office.microsoft.c(...)oryID=CT101172321043
http://office.microsoft.c(...)oryID=CT101172321043
http://office.microsoft.com/nl-nl/templates/CT101172321043.aspx
Dank je, dat is de meest elegante oplossing.quote:Op zondag 6 december 2009 14:07 schreef qu63 het volgende:
[..]
Je kan onderaan de kolom ook aantal.als(B2: B30;"Waar") en aantal.als(B2: B30;"Niet waar") neerzetten. Dan krijg je gewoon 2 cijfers onderaan, en daar kan je dan weer een grafiek van maken.
Dat kan.quote:Op zondag 6 december 2009 14:44 schreef FrituurVetPet het volgende:
[..]
Dat bedoel ik helaas niet.
Wat ik bedoel is bijvoorbeeld met mijn telefoonrekening.
Stel dat ik tot nu toe 500 euro telefoonkosten heb gehad, en daar elke week 10 bijkomt.
Kan ik dan een formule invoeren waarbij de beginwaarde 500 is, en er vanaf nu elke week 10 bijkomt, op zondag?
Nee dit is PRIMA!quote:Op zondag 6 december 2009 16:58 schreef qu63 het volgende:
[..]
Dat kan.
500 + (begindatum)-(datum van vandaag)/7, afronden op hele getallen en dat maal 10 doen.
Of wil je die 10 euro iedere keer op een nieuwe regel hebben?
Letterlijk vertalen naar het engels werkte niet, maar =today wel.quote:Op zondag 6 december 2009 17:07 schreef Deetch het volgende:
als je in een cel de volgende formule typt: =DATUM() staat in die cel altijd de datum van vandaag.
oh ja dat was ook zo DATE is voor in visual basicquote:Op zondag 6 december 2009 17:15 schreef FrituurVetPet het volgende:
[..]
Letterlijk vertalen naar het engels werkte niet, maar =today wel.
Het is nu opgelost dus ik kan verder bouwen aan mijn excell. Dank aan beiden voor de input
De bestanden waar ik het in eerste instantie over had kan ik niet posten, maar ik heb wel een ander vergelijkbaar voorbeeld. Dit bestand ontvang ik wekelijks. Ik heb om privacy redenen een aantal kolommen verwijdert. Bestand op SkyDrive Het bestand heeft iedere week een iets andere benaming, gezien de datum op het einde, maar zal op een vaste locatie worden opgeslagen.quote:Op maandag 7 december 2009 13:55 schreef Deetch het volgende:
Oh ja, als je meer informatie geeft zoals soort bestand waar de gegevens in staan, opbouw van het bestand, lokatie van het bestand etc etc dan kan je ook een wat gedetailleerder antwoord verwachten.
Hij zou met VBA door een map kunnen loopen en elk bestand uitlezen.quote:Om te beginnen wil ik de totalen van 6 verschillende Excel bestanden overzichtelijk weergeven in 1 Excel bestand. Deze 6 bestanden worden dagelijks automatisch aangeleverd en bestaan uit 1 tabblad met een paar honderd regels die zijn voorzien van een regelcode. De bestandsnaam van de 6 automatisch gegenereerde bestanden is iedere dag anders (naar datum).
Hoe krijg ik Excel nu zo ver, dat hij met 1 druk op de knop de totalen per regelcode uit de andere bestanden haalt en deze importeert? Moet ik dan met Macro’s gaan werken? En zo ja, wat is dan een goede manier om mijzelf dit eigen te maken?
Dat is helaas niet het geval, kijk maar eens naar het bestand dat ik heb geupload.quote:Op maandag 7 december 2009 15:54 schreef qu63 het volgende:
en de cel die gelezen moet worden altijd D45 is (bijvoorbeeld) kan je dat toch ook met de standaard excel-functies maken?
1 2 3 4 5 | code om files te openen end sub |
1 2 3 4 5 | vervolgens maak je zes variabelen file1 = "standaardnaam van bestand1" & datum & ".xls" file2 = ""standaardnaam van bestand2" & datum & ".xls" *** idem voor file3, file4, file5, file 6 |
1 2 3 4 5 6 | **** formule zoekt naar "test" in het bestand [Book1], sheet1 In cel C1 staat nu: [Book1]Sheet1!$A$1:$B$8 =VLOOKUP("test",INDIRECT(C1),2,FALSE) **** heeft hetzelfde resultaat als voorgaande |
quote:Op dinsdag 8 december 2009 10:41 schreef Holy_Goat het volgende:
Hoi,
ik heb een stuk of 30 labels in een form (VBA, excel 2003),
met de naam label1 - label30. Arrays kunnen niet gemaakt worden in vba zover ik begrepen heb.
Is er nu wel een snelle manier om lbl 1-30 leeg te maken zonder 30 lines te hoeven typen?
HG
1 2 3 4 | sName = "label" & i Me.Controls(sName).Text = "" Next i |
Allereerst bedankt voor je hulp Deetch!quote:
1 2 3 4 5 6 7 | datum = InputBox("Geef datum in te voeren bestand:(ddmmjj)") FILE1 = "114_Q5_InterneRegelsWeek_excel_" & datum & "_H114.xls" ChDir "B:\P&O\H*******\Temp" Workbooks.Open Filename:=FILE1 Windows("Map1").Activate End Sub |
1 2 3 4 5 6 7 8 | Dim b As String * 80 b = a VasteLengte = b End Function |
Onderstaande macro kopieert de regels die voldoen aan je zoekcriterium naar een nieuwe sheetquote:Op woensdag 9 december 2009 09:00 schreef Harmvt het volgende:
Ok, vergeet even die 6 bestanden. Het eerste dat ik wil bewerkstelligen is om de gegevens uit dat bestand dat ik in bovenstaande posts heb geupload te verzamelen in 1 verzamelsheet. Dat met die 6 bestanden lijkt er erg op, maar is de volgende stap.
Bovengenoemd bestand krijg ik wekelijks toegestuurd en ik wil gewoon dat alle gegevens toegevoegd worden aan 1 verzamelsheet, zodat ik er vervolgens grafieken etc op los kan laten om trends te ontdekken.
Handmatig kopiëren en plakken zou het meest voor de hand liggend zijn, maar ik wil dit trucje dus voor nog meer doeleinden gaan gebruiken. Zoals dat met die 6 bestanden. Dit alles moet ook nog eens fool-proof zijn voor de mensen die er mee gaan werken.
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 | ' ' FokTest Macro ' Dim datum, zoekdatum, bereik As String Dim startpunt, eindpunt As Integer datum = InputBox("Geef datum in te voeren bestand:(ddmmjj)") 'plaats hier je bestand open code zoekdatum = Left(datum, 2) & "/" & Mid(datum, 3, 2) & "/20" & Right(datum, 2) 'zoekdatum is datum waarop in excelsheet gezocht moet worden zoekdatum = DateValue(zoekdatum) 'datevalue converteert deze tekst naar een "echte datum" 'open bestand om in te zoeken Windows("WORegelInternWeek_091207(1).xls").Activate Range("A1").Select Do While ActiveCell.Value <> zoekdatum ActiveCell.Offset(1, 0).Select Loop 'nu is eerste cel met zoekdatum gevonden startpunt = ActiveCell.Row Do Until ActiveCell.Value <> zoekdatum ActiveCell.Offset(1, 0).Select Loop 'nu is laatste cel (eentje verder) met zoekdatum gevonden eindpunt = ActiveCell.Row - 1 Rows(startpunt & ":" & eindpunt).Select Selection.Copy Windows("Book2").Activate 'verzamelsheet openen Range("A10000").Select Selection.End(xlUp).Select ActiveCell.Offset(1, 0).Select 'eerste lege regel zoeken vanaf onderen ActiveSheet.Paste End Sub |
érg!quote:Op woensdag 9 december 2009 21:52 schreef Mendeljev het volgende:
Waarom zie ik dit topic nu pas? Hoe geniaal is deze reeks?
Voorwaardelijke opmaak. Te vinden in het lint in Excel 2007quote:Op woensdag 9 december 2009 21:32 schreef Cracka-ass het volgende:
Ik heb een cel met een formule waar een waarde uit komt.( ) Als de waarde onder de 200 komt moet hij rood worden en erboven groen.
Hoe doe ik dit?
Dit is de Fokking meest geniale reeks ever. Hij is zo fokking geniaal dat deze fokking geniale reeks opgenomen is in het guinessbook of records als meest fokking geniale reeks ever.quote:Op woensdag 9 december 2009 21:52 schreef Mendeljev het volgende:
Waarom zie ik dit topic nu pas? Hoe geniaal is deze reeks?
Thanks, ik ga ernaar kijken. Ik denk dat een tussenstap via Access toch gebruiksvriendelijker is.quote:Op woensdag 9 december 2009 13:57 schreef DaFan het volgende:
Ah dus aanvullen tot 80 karakters.
Ik heb het zo gedaan, met een eigen functie:
Ga naar Visual Basic editor (Alt-F11), en voeg een Module toe (rechtermuisknop op je bestandsnaam, Insert -> Module).
Voeg daar deze code toe:
[ code verwijderd ]
Nu kan je dmv VASTELENGTE(string) iets aanvullen tot 80 karakters (spaties aan het einde).
A1 = Pietersen
A2 = VASTELENGTE(A1)
A3 = LEN(A2)
A3 geeft dan waarde 80.
En nulwaarden negeren aanvinken?quote:Op donderdag 10 december 2009 11:42 schreef Reifendruck het volgende:
Excel 2003 NL. Ik wil graag in een grafiek met een trendlijn die 2 periodes vooruit loopt, de labels op de X-as toevoegen voor deze extra periodes.
Voorbeeld:
[ afbeelding ]
Hier zou ik dus in de grafiek onder de X-as ook Apr en Mei willen hebben.
Al geprobeerd:
- apr en mei in cellen E1 en F1 ingetikt en grafiekgebied uitgebreid -> foutmelding
- de cellen daaronder met nullen gevuld en grafiekgebied uitgebreid -> trendlijn klopt niet meer
Ik kom er niet uit, maar zou denken dat het wel zou moeten kunnen... Iemand een idee? Alvast dank!
Hm ja ik merk nu dat als ik van tevoren al apr en mei erbij zet, en dan pas de grafiek genereer (en daarna de trendlijn), dat het wel goed gaat, ook in 2003. Alleen achteraf aanpassen lijkt dus niet te lukken.quote:Op donderdag 10 december 2009 11:49 schreef Deetch het volgende:
In office 2007 werkt dat wel gewoon door in E1 en F1 apr en may te zetten en de cellen eronder leeg. In 2003 geen idee.
wtfquote:Op donderdag 10 december 2009 10:30 schreef Deetch het volgende:
[..]
Dit is de Fokking meest geniale reeks ever. Hij is zo fokking geniaal dat deze fokking geniale reeks opgenomen is in het guinessbook of records als meest fokking geniale reeks ever.
Verder heerst deze reeks zodanig omdat er alleen echte bazen in rondwaren.
Denk je dat =VASTELENGTE() niet te snappen is?quote:Op donderdag 10 december 2009 11:04 schreef Stpan het volgende:
[..]
Thanks, ik ga ernaar kijken. Ik denk dat een tussenstap via Access toch gebruiksvriendelijker is.
Als ik hem letterlijk c/p doet hij het niet.quote:Op donderdag 10 december 2009 13:58 schreef DaFan het volgende:
"Werknemer treedt in dienst van werkgever met ingang van " & Blad1!A1 & "De werkzaamheden bestaan uit blablabla.
Of ik moet blad1 vervangen door de echte naam en cel neem ik aanquote:Op donderdag 10 december 2009 14:42 schreef Deetch het volgende:
moet nog een = voor en de datum moet idd op blad1, cel 1 staan en ook nog een " aan het eind
1 |
Alvast bedankt voor de moeite! Ik ga het aankomende maandag proberen!quote:Op woensdag 9 december 2009 18:19 schreef Deetch het volgende:
Onderstaande macro kopieert de regels die voldoen aan je zoekcriterium naar een nieuwe sheet
[ code verwijderd ]
Die yyyy hangt zelfs gewoon af van de taal die bij je windows is ingesteld. we werken hier allemaal met een engelse excel, maar doordat windows soms franstalig en soms nederlandstalig staat ingesteld, werkt die code niet steeds. Erg vervelend.quote:Op donderdag 10 december 2009 14:53 schreef Deetch het volgende:
Sorry de datum moet ook nog naar een tekststring vertaald worden.
[ code verwijderd ]
Sheet1!A1 is de celverwijzing, als je datum ergens anders staat dan alszodanig aanpassen
Indien je NL versie van office gebruikt:
TEXT=TEKST en misschien dat je het format "dd/mm/yyyy" nog naar wens moet aanpassen.
Tnx allquote:Op donderdag 10 december 2009 15:23 schreef DaFan het volgende:
Komma wordt puntkomma, het werkt bij mij.
1 2 3 4 5 | Sheets(ActiveSheet.Index + 1).Activate End Sub |
1 2 3 4 5 6 7 8 9 | For i = 1 To Application.Sheets.Count a = Sheets( i).Range("A1").Value + a Next i Range("B1").Value = a End Sub |
quote:Op zaterdag 12 december 2009 16:55 schreef znarch het volgende:
Nu heb ik nog een misschien moeilijkere ? vraag.
Kan ik als ik 1 tab heb. Deze heel snel een keer of 70 klonen ? Wil exact dezelfde tab hebben, maar dan bv 70x in een excel doc. Nu moet de naam dus wel logisch oplopend zijn. Dus bv: auto1, auto2. enz.
Kan dat ook ?
1 2 3 4 | Sheets("Blad1").Copy ActiveWorkbook.Close savechanges:=True, Filename:="auto"&i next |
Werkt perfect. Alleen maakt hij geen 70 tabs aan maar 70 nieuwe excel bestandenquote:
ik dacht dat je dat wildequote:Op zaterdag 12 december 2009 19:45 schreef znarch het volgende:
[..]
Werkt perfect. Alleen maakt hij geen 70 tabs aan maar 70 nieuwe excel bestanden
1 2 3 4 | Sheets("Blad1").Copy After:=Sheets( i ) Sheets(1 + i).Name = "auto" & i Next i |
raar, ik zet em gewoon nog es bij mij in excel en het werkt gewoon.quote:Op zaterdag 12 december 2009 20:50 schreef znarch het volgende:
Het ligt aan mij denk ik, maar hij maakt er geen 70, maar gewoon 1 kopie aan. Hmm, wat ben ik er ook slecht in
Iemandquote:Op zaterdag 12 december 2009 18:20 schreef Poepoog het volgende:
Vraagje
heb Excel 2007 en heb allemaal trackingnummers die ik automatisch wil kunnen doorlaten klikken naar de trackingwebsite als ik er op klik.
Met welke functie kan ik dat oplossen?
Ik ben de grootste n00b
Dan zou je het heel simpel nog op kunnen lossen. Doe "macro opnemen" en maak een kopie van het werkblad: rechts klikken op de tab en selecteer "blad kopieren of verplaatsen" en vink "kopie maken" aan. Vervolgens klik je rechts op het nieuwe blad en selecteer "Naam wijzigen". Daarna stop je de macro opname en zet je de for loop er omheen.quote:Op zaterdag 12 december 2009 22:13 schreef znarch het volgende:
Ik zal wel iets fout gedaan hebben, ik zal morgen eens kijken
Bij 2 bedoelde ik eigenlijk gewoon een formule om te tellen :@ Ik las op internet dat je zo kunt tellen in een aantal tabs (als het om dezelfde cel gaat)quote:Op zaterdag 12 december 2009 09:32 schreef DaFan het volgende:
1.
[ code verwijderd ]
2.
[ code verwijderd ]
Succes :s)
1 |
heb je een ' om je tabnamen heen gezet?quote:Op zondag 13 december 2009 14:07 schreef znarch het volgende:
[..]
Bij 2 bedoelde ik eigenlijk gewoon een formule om te tellen Ik las op internet dat je zo kunt tellen in een aantal tabs (als het om dezelfde cel gaat)
[ code verwijderd ]
Maar die gaat huilen omdat er in mijn tabnamen spaties staan
hehe, niet bij nagedachtquote:Op maandag 14 december 2009 05:15 schreef qu63 het volgende:
[..]
heb je een ' om je tabnamen heen gezet?
Volgens mij wel.quote:Op maandag 14 december 2009 15:28 schreef jakees het volgende:
Hallo,
ik heb een formuliertje gemaakt met checkboxes en radiobuttons. Nu heeft mijn collega dit getest en hij zegt dat hij de radiobuttons niet kan selecteren. Nu blijkt dat hij in de ontwerpmodus zit. 2 vragen hierover:
1) Als ik een formulier beveilig wordt dan niet afgedwongen dat de ontwerpmodus wordt uitgeschakeld?
Gemiddeld of laag, bij gemiddeld wordt telkens de vraag gesteld of je de macro wilt uitvoeren. Bij laag krijg je geen vraag.quote:2) Wat moet het macroniveau zijn als je Zijn macro's nodig als je de radiobutton gebruikt van de "werkset besturingselementen"?
thx alvast!
Ik kan wel wat verzinnen, maar het hangt heel erg af van de opbouw van je werkroosters...quote:Op maandag 14 december 2009 16:38 schreef znarch het volgende:
Nu heb ik een lastigere vraag.
Ik heb een excelbestand met werk roosters. Hierin staan dus 52 sheets met het rooster per week.
Nu wil ik in een hoofdtabje kunnen zien hoeveel uur er gewerkt is in de huidige week. Iemand hoe zoiets moet werken ?
Welke info wil je allemaal hebben ?quote:Op maandag 14 december 2009 17:15 schreef qu63 het volgende:
[..]
Ik kan wel wat verzinnen, maar het hangt heel erg af van de opbouw van je werkroosters...
Meer info is dus gewenst (hoe meer hoe beter zelfs!)
Ehm...quote:Op maandag 14 december 2009 17:26 schreef znarch het volgende:
[..]
Welke info wil je allemaal hebben ?
1 |
Hi Poepoog,quote:Op zaterdag 12 december 2009 23:26 schreef Poepoog het volgende:
[..]
Iemand
Gaat om een URL waarachter automagisch een nummer geplakt moet worden. www.nummerkomthierachter.nl/track.jps[nummer]
quote:Op maandag 14 december 2009 19:03 schreef HeetBoven het volgende:
[..]
Hi Poepoog,
Extra kolommetje aanmaken naast je tracking nummer (H kolom = kolom met tracking nummers in onderstaande formule) en je link zonder tracking nummer op een fixed locatie zetten in je sheet ($i$1 hieronder) dan de formule hieronder doorkopieren.
=HYPERLINK($I$1&$H1;$H1)
Succes!
HeetBoven
Daar zet je gewoon de link van je website neer, of als je het helemaal geintegreerd wil hebben, vervang je $I$1 met "www.nummerkomthierachter.nl/track.jps/" ( " 2x niet vergeten!)quote:Op maandag 14 december 2009 20:05 schreef Poepoog het volgende:
[..]
Dank!
Nog een vraagje,
Hoe maak ik een fixed location aan met $i$1?
Echt een n00b dus
Stel in A1 staat "Sheet2" (zonder aanhalingstekens).quote:Op maandag 14 december 2009 18:11 schreef znarch het volgende:
Nu is de vraag dus, hoe zorg ik ervoor dat ik in mijn hoofdtab, het aantal gewerkte uren uit de tab van de huide werkweek weergeef ?
1 |
1 |
moet je een macrootje maken, ff uit het hoofd.quote:Op dinsdag 15 december 2009 18:51 schreef lobzorenzo het volgende:
Excel problemen! Wie kan helpen
Ik heb het volgende probleem. In cell A1 t/m A10 heb ik 10 verschillende getallen staan. Vervolgens zijn cell A11 tot en met A20 leeg. Dan komen er in A21 t/m A30 weer 10 getallen. Dit gaat steeds door, en de lijst breidt zich steeds verder uit naar onder (ja ik heb even een macro erin gegooid 8)).
Mijn vraag is nu, hoe kan ik in bijvoorbeeld column D1 tot en met D10 steeds de laatste 10 cells met getallen weergeven die in column A staan? Dus als A41-A50 de laatste zijn van het rijtje, hoe kan ik die dan in D1-D10 krijgen? En dat het telkens update als bijvoorbeeld A61-A70 weer gevuld worden met getallen?
Alvast héél erg bedankt!
1 2 3 4 5 6 7 8 9 10 | ActiveSheet.Range("a10000").End(xlUp).Select For i = 1 to 10 j=-1*i range("D"&i).value = activecell.offset(j,0) next i end sub |
Ik snap je Hij werkt alleen niet Ik krijg de ref foutquote:Op maandag 14 december 2009 22:24 schreef DaFan het volgende:
[..]
Stel in A1 staat "Sheet2" (zonder aanhalingstekens).
Stel op mijn Sheet2 in cel A1 staat "toet toet"
Dan geeft de volgende formule in Sheet1, de waarde uit A1 in Sheet2 weer:
=INDIRECT(A1 & "!A1")
Is dat duidelijk dan hoe je een sheetnaam uit een cel kan gebruiken?
Ik heb het geïmplementeerd, en het is een goede oplossing, maar toch is er iets mee. Ik heb hem inderdaad achter de update code gegooid, zodat het mee-update elke 30 seconden. Alleen het hele bestand wordt er gewoon te traag door. Omdat hij meer dan 1000 regels eerst om moet keren en vervolgens de 1e 10 moet pakken (ik neem aan dat het stukje code daarvoor zorgt, maar ik ben niet zo'n expert ). Zou het niet mogelijk zijn te kijken wat de laatst beschreven rij uit kolom A is, en vervolgens de onderste 10 te pakken?quote:Op dinsdag 15 december 2009 21:05 schreef Deetch het volgende:
[..]
moet je een macrootje maken, ff uit het hoofd.
[ code verwijderd ]
Elke keer als je dan wilt updaten kun je die code runnen. Je zou hem ook achter je code van het maken van je rijtje kunnen plakken, ben je in een keer klaar.
Beter nog je zou de code waarmee die 10 cellen worden gevuld ook kunnen grbruiken om de cellen D1 tm D10 te vullen.
Geef je formule eens?quote:Op dinsdag 15 december 2009 21:31 schreef znarch het volgende:
[..]
Ik snap je Hij werkt alleen niet Ik krijg de ref fout
Dus je geeft de 3 kolommen al aan ergens?quote:Op woensdag 16 december 2009 02:59 schreef Nerobacsi het volgende:
Kan iemand mij helpen met een formule?
Ik wil graag de waarden selecteren die in drie kolommen tegelijk voorkomen. Het lukt me nu wel in twee stappen via voorwaardelijke opmaak, maar ik zou het liefst een lijstje van de drie-dubbelen netjes in een aparte kolom gepresenteerd krijgen.
Waar ik het voor nodig heb: voor een forum op een torrentsite maak ik graag raadseltjes in een wedstrijd. Daarvoor heb ik van IMDB van zo'n 300 TV-series alle acteurs in excel gezet. Per kolom een serie. Voor de puzzeltjes wil ik weten welke acteurs allemaal in dezelfde drie TV-series hebben meegedaan. Ik kies zelf de drie kolommen uit.
Zo doe ik het nu:
[ afbeelding ]
Maar het moet handiger kunnen, alleen ik weet niet hoe.
Ja, ik kies willekeurig een drietal kolommen uit om te proberen of en hoeveel acteurs in alle drie daarvan gespeeld hebben. Soms zet ik die kolommen voor het gemak even naast mekaar; ze hoeven niet op alfabet te blijven of zo.quote:Op woensdag 16 december 2009 08:25 schreef DaFan het volgende:
[..]
Dus je geeft de 3 kolommen al aan ergens?
Dus je kijkt niet welke waarden in welke 3 kolommen komen, maar welke waarden in 3 vaste kolommen voorkomen?
Ik vind het een goed idee, maar dit gaat niet lukken, helaas. Ik heb het geprobeerd, maar het probleem is dat er niet altijd 10 gevulde cellen zijn. Bij minder dan 10 gevulde cellen krijg ik inderdaad 0.quote:Op woensdag 16 december 2009 08:13 schreef DaFan het volgende:
loblorenzo:
Als je in A1:A10 (of in A1034:A1044) je 10 waardes hebt staan, geeft de volgende formule in D1:D10 je laatste 10 waarden uit kolom A:
=INDIRECT(ADRES(VERGELIJKEN(9E+307;A:A)-(10-RIJ());1))
Dit werkt alleen als er 10 waarden achter elkaar staan, als er 9 staan bv dan wordt de eerste een 0 omdat de cel 10 rijen boven je laatste waarde leeg is.
Hoop dat je hier wat aan hebt.
Ik hoop het. Ik heb de macro van internet geplukt, maar dit is 'em:quote:Op woensdag 16 december 2009 12:01 schreef Deetch het volgende:
maar als je toch een macro hebt die steeds verse getallen toevoegt kun je die toch ook de verse getallen in cellen D1 tm D10 laten schrijven of ben ik nou debiel. Hoe ziet die macro voor je verse getallen eruit, ws. kun je daar door 1 regeltje toe te voegen precies krijgen wat je wilt.
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 | Public Const cRunIntervalSeconds = 30 ' one minute Public Const cRunWhat = "DoTheImport" ' the name of the procedure to run Sub StartTimer() RunWhen = Now + TimeSerial(0, 0, cRunIntervalSeconds) Application.OnTime EarliestTime:=RunWhen, Procedure:=cRunWhat, _ Schedule:=True End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' ImportTextFile ' This imports a text file into Excel. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Public Sub ImportTextFile(FName As String, Sep As String) Dim RowNdx As Long Dim ColNdx As Integer Dim TempVal As Variant Dim WholeLine As String Dim Pos As Integer Dim NextPos As Integer Dim SaveColNdx As Integer Application.ScreenUpdating = False 'On Error GoTo EndMacro: SaveColNdx = 1 RowNdx = 1 Open FName For Input Access Read As #1 While Not EOF(1) Line Input #1, WholeLine If Right(WholeLine, 1) <> Sep Then WholeLine = WholeLine & Sep End If ColNdx = SaveColNdx Pos = 1 NextPos = InStr(Pos, WholeLine, Sep) While NextPos >= 1 TempVal = Mid(WholeLine, Pos, NextPos - Pos) Cells(RowNdx, ColNdx).Value = TempVal Pos = NextPos + 1 ColNdx = ColNdx + 1 NextPos = InStr(Pos, WholeLine, Sep) Wend RowNdx = RowNdx + 1 Wend EndMacro: On Error GoTo 0 Application.ScreenUpdating = True Close #1 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' END ImportTextFile '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' End Sub Sub DoTheImport() ImportTextFile FName:=textbestand.txt", Sep:=" " StartTimer ' Reschedule the procedure End Sub |
HET WERKT!!quote:Op woensdag 16 december 2009 12:08 schreef DaFan het volgende:
Hm zou dit voor je werken Nero:
Ik heb in A2:C6 een aantal waarden staan, waarvan in alle drie kolommen een bepaalde waarde drie keer voorkomt.
Via Voorwaardelijke opmaak, kies ik A2:C6, vanaf A2, en voer dan in als formule:
=AANTAL.ALS($A$2:$C$6;A2)>2
=COUNTIF($A$2:$C$6,A2)>2)
En dan kies ik een opmaak.
Alles wat nu in alle drie de kolommen voorkomt, wordt gekleurd.
Nadeel hiervan is dat ook als een naam dubbel in de lijst staat, deze wordt gekleurd (dus zeg maar 2x in kolom 1 en 1x in kolom 2, dan kleurt ie).
Maarrrr er staan nooit 2 acteurs in dezelfde kolom toch?
Werkt dat voor je?
Met een macro kan je evt later nog dan de gekleurde cellen zoeken in een kolom en die in een apart deel als output genereren.
Was die voor mij?quote:Op dinsdag 15 december 2009 20:51 schreef Deetch het volgende:
staan die getallen allemaal in 1 regel? Dan eerst uitsplitsen naar kolommen. Daarna kun je gewoon van elke cel de kolompositie berekenen.
No problemo, succes met je quiz.quote:Op woensdag 16 december 2009 12:39 schreef Nerobacsi het volgende:
[..]
HET WERKT!!
En er komen inderdaad nooit dubbelen in dezelfde kolom voor, dus dat gaat perfect zo.
Geweldig bedankt voor de (snelle!) hulp!!
quote:Op woensdag 16 december 2009 11:50 schreef DaFan het volgende:
Denk dat het ook wel anders kan.
Wil je dan alsnog de laatste 10 waardes, dus als er 8 zijn ingevuld, wil je dan ook de laatste 2 van de vorige 10?
Nee helaas niet, steeds verschillend hoeveel rijen ertussen zitten.quote:Op woensdag 16 december 2009 13:29 schreef DaFan het volgende:
Het is makkelijker om er 10 weer te geven dan 8 als er maar 8 zijn.
Ik moet er nog wel ff over nadenken...
Beginnen je gegevens wel altijd op een vaste rij, dus altijd een meervoud van 10 + 1 (1, 11, 21 etc)
1 |
1 |
Wat zou dit moeten doen dan? Want volgens mij kopieert ie de 4e kolom, namelijk D, naar kolom 4+1, namelijk E.quote:Op woensdag 16 december 2009 13:38 schreef Deetch het volgende:
voeg onder regel 45
[ code verwijderd ]
de volgende regel toe:
[ code verwijderd ]
Volgens mij werkt het dan.
Aangepaste notatie > 000quote:Op woensdag 16 december 2009 14:37 schreef GuitarJJ het volgende:
Hallo,
even een simpele vraag; wat voor celinstellingen moet je gebruiken om het getaal 030 te kunnen typen? Hij verandert het telkens in 30 of 30,0
of begin met een ' (je kan er dan alleen niet meer mee rekenen, maar ik gok dat het om kengetallen gaat)quote:Op woensdag 16 december 2009 14:37 schreef GuitarJJ het volgende:
Hallo,
even een simpele vraag; wat voor celinstellingen moet je gebruiken om het getaal 030 te kunnen typen? Hij verandert het telkens in 30 of 30,0
Als ik de regel toevoeg aan de macro, dan kopieert ie alle gevulde cellen uit kolom E naar kolom D.quote:Op woensdag 16 december 2009 14:11 schreef Deetch het volgende:
is dat wat ie doet of wat je denkt dat ie doet?
Als ik die code goed heb gelezen leest je macro een regel en voegt elke waarde tussen spaties (sep=" ") in een nieuwe regel toe. Wat die nieuwe regel doet is dezelfde data in kolom D op dezelfde rij toevoegen.
Het is een grootboekrekeningnummer waar niet meer gerekend hoeft te wordenquote:Op woensdag 16 december 2009 14:41 schreef qu63 het volgende:
[..]
of begin met een ' (je kan er dan alleen niet meer mee rekenen, maar ik gok dat het om kengetallen gaat)
Dan kan je het ook doen dmv een apostrof (')quote:Op woensdag 16 december 2009 15:09 schreef GuitarJJ het volgende:
[..]
Het is een grootboekrekeningnummer waar niet meer gerekend hoeft te worden
Ik zal mijn vorige code nog eens herschrijven om hem sneller te maken, blijkbaar heb ik jouw gekopieerde macro verkeerd begrepen. Vanavond meer.quote:Op woensdag 16 december 2009 15:07 schreef lobzorenzo het volgende:
[..]
Als ik de regel toevoeg aan de macro, dan kopieert ie alle gevulde cellen uit kolom E naar kolom D.
De lege cellen van kolom E worden niet gekopieerd, daar blijft de data die oorspronkelijk in kolom D staat gewoon staan.
Maar wat nu
Of als je wel moet rekenen: je gaat naar celeigenschappen, dan maak je de bij Getal -> aangepast een nieuw type aan dmv onder Type zoveel nullen in te geven als je nodig hebt.quote:Op woensdag 16 december 2009 15:57 schreef qu63 het volgende:
[..]
Dan kan je het ook doen dmv een apostrof (')
ik was niet in staat eerder te reageren, sorry.quote:
1 |
quote:Op woensdag 16 december 2009 18:00 schreef HeetBoven het volgende:
[..]
Of als je wel moet rekenen: je gaat naar celeigenschappen, dan maak je de bij Getal -> aangepast een nieuw type aan dmv onder Type zoveel nullen in te geven als je nodig hebt.
quote:
je bent nu al m'n held, of het nou lukt of nietquote:Op woensdag 16 december 2009 16:20 schreef Deetch het volgende:
[..]
Ik zal mijn vorige code nog eens herschrijven om hem sneller te maken, blijkbaar heb ik jouw gekopieerde macro verkeerd begrepen. Vanavond meer.
je moet even met extra aanhalingstekens werken:quote:Op woensdag 16 december 2009 18:44 schreef znarch het volgende:
[..]
ik was niet in staat eerder te reageren, sorry.
Ik gebruik jouw formule:
[ code verwijderd ]
In cel A1 staat de naam van de Tab waar hij moet kijken genaamd: 2009 Week 51 (of zoiets) (de cel geeft de huidige week weer).
mijn !A1 (de 2de) staat op !S32, deze cel (op sheet 2009 Week 51) is de waarde die ik wil zien.
quote:Op woensdag 16 december 2009 22:20 schreef znarch het volgende:
Jep
Wellicht dat deze code sneller is:quote:Op woensdag 16 december 2009 19:16 schreef lobzorenzo het volgende:
[..]
je bent nu al m'n held, of het nou lukt of niet :D
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 'begin en eindrij zoeken van laatst toegevoegde data ActiveSheet.Range("a10000").End(xlUp).Select eindrij = ActiveCell.Row i = 0 Do While ActiveCell.Offset(-i, 0).Value <> "" i = i + 1 Loop beginrij = eindrij - i + 1 'MsgBox beginrij & ", " & eindrij 'array vullen met waarden myArray = Range("A" & beginrij & ":" & "A" & eindrij) 'kolom D leegmaken Range("D:D").Clear 'gegevens uit array plaatsen For i = 1 To UBound(myArray) Range("D" & i).Value = myArray(i, 1) Next i End Sub |
Ja dat werkt!!! Bedankt! Echt super!quote:Op donderdag 17 december 2009 11:25 schreef Deetch het volgende:
[..]
Wellicht dat deze code sneller is:
[ code verwijderd ]
hahaha ik roeleer. Toch geen verloren dag dan zo ingeschneeuwd in Groningen.quote:Op donderdag 17 december 2009 12:19 schreef lobzorenzo het volgende:
[..]
Ja dat werkt!!! Bedankt! Echt super!
Ben druk aan het thuiswerken. Wel zo lekker trouwens. Saaie stukken doornemen met Manowar, IRon Maiden enzo op de achtergond \m/ hail and kill \m/quote:Op donderdag 17 december 2009 14:47 schreef DaFan het volgende:
Luie donder ga gewoon werken!!
Klopt. Dat had ik ook gedaan. Bedanktquote:Op donderdag 17 december 2009 23:59 schreef qu63 het volgende:
of c11 vervangen door $c$11.. $ zorgt er voor dat de cellen niet veranderen..
Deze werkt. Let ook op de afrondfunctie om rekenfouten te corrigeren. En dat staat voor ( i ) (zonder spaties.quote:Op zondag 20 december 2009 14:33 schreef adbeentjes het volgende:
Om maar meteen te beginnen, het volgende probleem:
Ik moet een algoritme (in Excel VBA) schrijven dat berekent hoeveel wisselgeld een kassier moet teruggeven aan een klant. Niet enkel het totaal terug te geven bedrag moet worden afgedrukt, maar het wisselgeld moet worden opgesplitst in de verschillende coupures (bijv. ¤634,33 = 1x500 + 0x200+ 1x100 +0x50 + 1x20 + 2x5+ 2x2+ 0x1+ 0x0,50 + 1x0,20 + 1x0,10 + 0x0,05 + 1x0.02+1x0,01)
Ervan uitgaande: terug te geven bedrag kleiner is dan 1000 euro.
Al wat uurtjes 'gespeeld' met VBA, maar helaas zonder resultaat. Wie helpt?
Ad
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 | Dim check, pay, diff, bedrag As Double Dim change As String Dim flappen As Integer 'te betalen = check 'geld gegeven = pay 'diff = wisselgeld (tussengetal) 'bedrag = oorspronkelijk wisselgeld (totaal) check = Range("B1").Value pay = Range("B2").Value diff = pay - check bedrag = diff 'lijst met coupures myArray = Array(500, 200, 100, 50, 20, 10, 5, 2, 1, 0.5, 0.2, 0.1, 0.05, 0.02, 0.01) change = "" 'loop door elke coupure For i = 0 To 14 'als te geven wisselgeld 0 is dan is loopje klaar If diff = 0 Then Exit For 'het aantal coupures van de betreffende waarde bepalen (int maakt er een geheel getal van) 'myArray is het i-de item van de eerder aangemaakte array flappen = Int(diff / myArray) 'tekstregel maken met het aantalcoupures en het type change = change & flappen & "x" & myArray & " " 'oevrgebleven bedrag berekenen dat nog gewisseld moet worden, afronden op 2 decimalen om rekenfouten te voorkomen diff = Round((diff - flappen * myArray), 2) Next i 'tekst box met te wisselen bedrag en hoe deze te wisselen MsgBox bedrag & ":-->" & change End Sub |
idd. mooi gemaakt! Zo zou ik het ook ongeveer doen, denk ik.quote:Op maandag 21 december 2009 11:10 schreef Deetch het volgende:
Uit een ander topic even het volgende ter informatie (misschien heeft iemand anders er nog eens wat aan)
[..]
Deze werkt. Let ook op de afrondfunctie om rekenfouten te corrigeren. En dat staat voor ( i ) (zonder spaties.
[ code verwijderd ]
watquote:Op dinsdag 22 december 2009 10:30 schreef Deetch het volgende:
dan moet je eerst alle formats vastleggen van de kolommemn vastleggen (dus niet general maar text of number)
Vervolgens gebruik je als basis die VB functie die alles tussen "" zet en voeg je daar een regel aan toe:
if activecell.numberformat = "@" then
code om "" toe te voegen
else end if
end if
1 2 3 4 5 6 | for i = 1 to 100 range("H1").value = i printen van pagina code die je had opgenomen next i |
Waarom in VBA?quote:Op maandag 21 december 2009 11:10 schreef Deetch het volgende:
Uit een ander topic even het volgende ter informatie (misschien heeft iemand anders er nog eens wat aan)
[..]
Deze werkt. Let ook op de afrondfunctie om rekenfouten te corrigeren. En dat staat voor ( i ) (zonder spaties.
[ code verwijderd ]
Dank voor je snelle respons, maar het lukt niet echt Even een screenshot van het probleem...bij de vraagtekens dus moet 'nee' komen wanneer het gezin geen kinderen heeft. In kolom D zie je de dropdownbox en in kolom F de mogelijkheden voor die dropdownbox.quote:Op woensdag 23 december 2009 16:37 schreef qu63 het volgende:
Bij de cel voor vraag 2:
=ALS(OF(CELMETANTWOORDVRAAG1="alleenstaand';CELMETANTWOORDVRAAG1="gehuwd");"Nee";"")
Met VBA zou je de cel ook nog kunnen blokkeren denk ik, maar op deze manier vult ie automatisch Nee in als er alleenstaand of gehuwd is ingevuld bij vraag 1, en niets als er van de andere antwoorden gekozen is.
In B3 komt dit:quote:Op woensdag 23 december 2009 18:39 schreef RoaldReurink het volgende:
[..]
Dank voor je snelle respons, maar het lukt niet echt Even een screenshot van het probleem...bij de vraagtekens dus moet 'nee' komen wanneer het gezin geen kinderen heeft. In kolom D zie je de dropdownbox en in kolom F de mogelijkheden voor die dropdownbox.
[ afbeelding ]
geen idee wat je nu precies wilt... Je wilt iets laten selecteren op basis van de selectie man of vrouw, of wat?quote:Op maandag 28 december 2009 15:03 schreef RoaldReurink het volgende:
Ik vroeg mij af of dit mogelijk is:
[ afbeelding ]
De klant kiest bijvoorbeeld 'Man', 'Premieduur 15 jaar, geboren op 12-08-2008 (dus 1 jaar oud), dan wordt er automatisch 'leeftijd 1 MAN' gekozen = 5,00
Het lastige is de geboortedatum dat als ik nu invul 21-02-1986 dat Excel weet dat ik dan 23 ben, en de goede lengte van de premieduur.
Is dit mogelijk? Zou namelijk erg mooi zijn als dat zo is
Gr,
Roald
Dan krijg je je leeftijd in dagen, wat niet altijd even handig is om mee te rekenen.quote:Op maandag 28 december 2009 15:33 schreef kingjotte het volgende:
Je hebt in excel de NOW functie (zal wel NU heten in het Nederlands ofzo, achterlijke vertalingen altijd), die de huidige tijd teruggeeft, als je daar de geboortedatum vanaf haalt krijg je de leeftijd?
dat klopt niet, het moet dit zijn:quote:Op maandag 28 december 2009 15:38 schreef Beregd het volgende:
[..]
Dan krijg je je leeftijd in dagen, wat niet altijd even handig is om mee te rekenen.
je kunt ook bijvoorbeeld year(now())-year(a1)+(month(now())-month(a1)/12+(day(now())-day(a1))/365 doen
dat zei ik tochquote:Op maandag 28 december 2009 15:50 schreef kingjotte het volgende:
[..]
dat klopt niet, het moet dit zijn:
=YEAR(NOW())-YEAR(A1)+(MONTH(NOW())-MONTH(A1))/12+(DAY(NOW())-DAY(A1))/365
ja, als je enkel jaren moet hebben is dat idd het makkelijkste maar soms is het exact nodig.quote:Op maandag 28 december 2009 15:52 schreef DaFan het volgende:
Huh doe gewoon =ROUNDDOWN((TODAY()-A1)/365;0)
waar A1 de geboortedatum is. Of ben ik nou gek
jij: YEAR(NOW())-YEAR(A1)+(MONTH(NOW())-MONTH(A1)/12+(DAY(NOW())-DAY(A1))/365quote:Op maandag 28 december 2009 15:54 schreef Beregd het volgende:
[..]
dat zei ik toch
en waarom vraag je het dan?
Dat wordt pas na 100 jaar ofzo een issue, of de dag erna. Maar goed ik snap je puntquote:Op maandag 28 december 2009 16:33 schreef Beregd het volgende:
om nog even terug te keren op de formule van dafan, die zal niet altijd werken omdat sommige jaren 366 dagen tellen, zeker als je over vele jaren rekent
Wat is het regeltje om aan die 5 euro te komen, gegeven het geslacht en de leeftijd? Moet je dan niet ook de premieduur weten?quote:Op maandag 28 december 2009 16:48 schreef RoaldReurink het volgende:
Ja ok, met leeftijd uitrekenen is gelukt.
Echter nog niet dit probleem: uit tabel (zie figuur) moet er dus automatisch worden gekozen dat iemand 'man' is en '1 jaar', en premieduur '15 jaar', dus er moet automatisch 5,00 (euro) worden geselecteerd.
Die 5, is 5 euro, dus er moet komen:
Premiekosten: 5 euro (=man, 1jaar, premieduur 15 jaar --> hier een formule voor)
Hopelijk zo goed uitgelegd
Ja de premieverdeling heb ik anders ingevoerd omdat ik niet weet of ik die mag posten. Deze verdeling is zo als ik het gekregen, leeftijd vrouw begint bij 5 jaar.quote:Op maandag 28 december 2009 17:42 schreef kingjotte het volgende:
[..]
Wat is het regeltje om aan die 5 euro te komen, gegeven het geslacht en de leeftijd? Moet je dan niet ook de premieduur weten?
Als we het in een formule moeten vatten, zullen we toch eerst moeten weten wat de spelregels zijn.
Verder, wat is nou precies het gewenste resultaat? Je hebt het over automatisch 5,00 selecteren, maar hoe wil je dat weergeven? Als een regeltje onder Geboortedatum en Geslacht?
[offtopic]
Rare premieverdeling hanteer je en wat nou als er een vrouw van 3 langskomt?
[/offtopic]
om het wat leesbaarder te maken heb ik even een extra veld "leeftijd" toegevoegd, dan ziet het er zo uit:quote:=INDEX(prijzen;IF(geslacht="man";MATCH((YEAR(NOW())-YEAR(geboortedatum)+(MONTH(NOW())-MONTH(geboortedatum))/12+(DAY(NOW())-DAY(geboortedatum))/365);leeftijden_man);MATCH((YEAR(NOW())-YEAR(geboortedatum)+(MONTH(NOW())-MONTH(geboortedatum))/12+(DAY(NOW())-DAY(geboortedatum))/365);leeftijden_vrouw));MATCH(duur;premie_lengtes))
ik heb alle relevante cellen (of cellranges) een naam gegeven, dit houdt je "code" ook wat beter onderhoudbaar.quote:=INDEX(prijzen;IF(geslacht="man";MATCH(leeftijd;leeftijden_man);MATCH(leeftijd;leeftijden_vrouw));MATCH(duur;premie_lengtes))
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 | Const WeekNummerCel As String = "B1" Const DatumMaandag As String = "C2" Public NieuweAgenda As Object Sub MaakAgenda(Jaar As Long) Dim WeekNummer As Integer, DefaultSheets As Integer With Application 'Haal de flikkering weg .ScreenUpdating = False 'Zet het aantal sheets in nieuw workbook op 1 DefaultSheets = .SheetsInNewWorkbook .SheetsInNewWorkbook = 1 'Maak nieuw nieuwe agenda aan Set NieuweAgenda = .Workbooks.Add 'weken van het jaar WeekNummer = ISOweeknum(DateSerial(Jaar, 1, 1)) 'Week 52/53 If WeekNummer > 1 Then Call VulAgenda(WeekNummer, Jaar) End If 'Week 1 -> 52/53 For WeekNummer = 1 To ISOweeknum(DateSerial(Jaar, 12, 31)) Call VulAgenda(WeekNummer, Jaar) Next 'Opruimen .DisplayAlerts = False NieuweAgenda.Sheets(1).Delete NieuweAgenda.Sheets(1).Select 'ActiveWindow.ScrollWorkbookTabs Position:=xlFirst .DisplayAlerts = True Set NieuweAgenda = Nothing .SheetsInNewWorkbook = DefaultSheets .ScreenUpdating = True End With End Sub Sub VulAgenda(WeekNummer As Integer, Jaar As Long) Dim Maandag As Date, SheetName As String Maandag = ISOweeknumNaarDatum(Jaar, WeekNummer) ThisWorkbook.Sheets(SjabloonBladnaam).Copy After:=NieuweAgenda.Sheets(NieuweAgenda.Sheets.Count) With NieuweAgenda.ActiveSheet SheetName = CStr(" Week " & WeekNummer) If SheetExists(NieuweAgenda, SheetName) Then SheetName = SheetName & "-" .Name = SheetName .Range(WeekNummerCel) = WeekNummer .Range(DatumMaandag) = Maandag End With End Sub Public Function ISOweeknumNaarDatum(ByVal Jaar As Integer, ByVal Week As Integer) As Date Dim Maandag As Date, Weeknum As Integer Maandag = EersteMaandagJaar(Jaar) Weeknum = ISOweeknum(Maandag) 'If Weeknum = 53 Then Weeknum = 52 ISOweeknumNaarDatum = ((Week - Weeknum) * 7) + Maandag End Function Public Function ISOweeknum(ByVal Datum As Date) As Integer ISOweeknum = DatePart("ww", Datum, vbMonday, vbFirstFourDays) End Function Private Function EersteMaandagJaar(ByVal Jaar As Integer) As Date Const DONDERDAG = 4 Dim Nieuwjaar As Date, Weekdag As Integer Nieuwjaar = DateSerial(Jaar, 1, 1) Weekdag = DatePart("w", Nieuwjaar, vbMonday, vbFirstFourDays) - 1 EersteMaandagJaar = Nieuwjaar - Weekdag If Weekdag > DONDERDAG Then EersteMaandagJaar = EersteMaandagJaar + 7 End Function 'SheetExists Function -> Bestaat de sheet al in het workbook Private Function SheetExists(Book As Object, SheetName As String) As Boolean ' Geeft TRUE als sheet bestaat in het actieve workbook On Error Resume Next Dim x As Object SheetExists = False Set x = Book.Sheets(SheetName) If Err = 0 Then SheetExists = True On Error GoTo 0 End Function |
Gebruik dynamische tabellen (ook wel draaitabellen of pivot tabels genoemd). Er staat genoeg handleidingen online!quote:Iemand een oplossing??
1 |
Fantastisch, precies way ik zocht! Zo leer ik nog eens wat!quote:Op maandag 4 januari 2010 22:01 schreef DaFan het volgende:
[ afbeelding ]
Waar G2:
[ code verwijderd ]
En dan gewoon doorgetrokken naar beneden.
Hoop dat dat duidelijk genoeg is!
quote:Op dinsdag 5 januari 2010 00:08 schreef Deetch het volgende:
lol, toch weer een sumproduct kunnen slijten DaFan.
quote:
Ik raad je ook aan mijn tip eens te bekijken.. de mogelijkheden van die dynamische tabellen zijn legio!quote:Op maandag 4 januari 2010 23:34 schreef elkravo het volgende:
[..]
Fantastisch, precies way ik zocht! Zo leer ik nog eens wat!
PIvot tables zijn handig, maar in mijn zaak bestaat de uiteindelijke tabel al, en moet die veelvuldig berekend worden door mensen die nog slechter als ik in Excel zijn... dan heb ik liever een uitgekauwd stukje paraat... nevertheless bedankt voor je ideequote:Op dinsdag 5 januari 2010 15:46 schreef M-Bozz het volgende:
[..]
Ik raad je ook aan mijn tip eens te bekijken.. de mogelijkheden van die dynamische tabellen zijn legio!
Kan niemand mij helpen bij mijn vraag van gisteren?
Als je mij een voorbeeldbestand (of een van je echte bestanden, wat jij wil) stuurt, dan wil ik wel even proberen wat voor je in elkaar te draaien.. Het leuke ervan is dat het dynamisch is en je alleen de tabel of grafiek hoeft te updaten na het aanvullen van je sheet...quote:Op dinsdag 5 januari 2010 18:01 schreef elkravo het volgende:
[..]
PIvot tables zijn handig, maar in mijn zaak bestaat de uiteindelijke tabel al, en moet die veelvuldig berekend worden door mensen die nog slechter als ik in Excel zijn... dan heb ik liever een uitgekauwd stukje paraat... nevertheless bedankt voor je idee
Die werkt helaas niet.quote:
Die 2e doet precies wat ik zoek.quote:Op donderdag 7 januari 2010 14:57 schreef DaFan het volgende:
[ afbeelding ]
Waar D1 =
=VERT.ZOEKEN(C1;A1:B4;2;1)
Of:
=ALS(C1<10;1;ALS(C1<20;2;ALS(C1<30;3;4)))
Jij ook bedankt.quote:Op donderdag 7 januari 2010 14:59 schreef DaFan het volgende:
Dan moet je de VLOOKUP oplossing gebruiken.
Sorry ik heb op werk alleen Nederlandse versie, geen Engels.
Excel voor 2007quote:Op vrijdag 8 januari 2010 14:49 schreef kippiej het volgende:
Geen zin in de zoekfunctie, dus ik stel mn vraag hier maar
Ik heb een enorme hoeveelheid data, die excel niet kan verwerken. Excel heeft een limiet van 65000 gegevens in een rij.
Een grafiek heeft ene nog lagere limiet dan dat.
Is er een optie binnen excel dat dat wel kan? Of moet ik dan een ander spreadsheet programma gebruiken ?
zoals ik het lees, zou dit een oplossing zijn:quote:Op zaterdag 9 januari 2010 01:02 schreef ColaKoning het volgende:
Voor mijn afstudeeropdracht maak ik gebruik van een erg fijn instrument die een .txt output heeft met 280 regels. Elk van deze regels is een reeks van reactietijden op een bepaalde stimuli. Er zijn dus 280 stimuli aangeboden. Verder bestaat elke reactie op de stimuli uit 4 reactietijden en een 'break'. Maar, mensen kunnen ook fouten maken bij de stimuli, wat resulteert in meer dan 4 reactietijden weer incl een break.
Enfin, omzetten naar excel gaat prima. Ik krijg in excel de kolommen A tm M in het geval van een 'goede' trial. Deze bestaat uit kolom A B C met informatie over de aangeboden stimuli, D tm M bestaat uit 4 reactie tijden (D is de tekst RT1, en E is de daarbij horende RT), en een break. In het geval van een error loopt het aantal kolommen op. Dit kan bijvoorbeeld oplopen tot kolom AO.
Nu wil het geval, dat ik per regel, slechts kolom A B C, en de laatste 4 kolommen van deze zelfde regel nodig heb. Dit is handmatig niet te doen, ik heb 280 regels maal minimaal 20 personen.
Ik vraag me dus af of het met (wellicht een makro?) mogelijk is om per regel excel te laten kijken wat de laatste 4 kolommen zijn per regel, en deze samen met de kolommen ABC te kopieren naar een nieuw werkblad.
Daarnaast zou het ook helemaal geweldig zijn wanneer excel kijkt of de regel langer is dan kolom M, is dat het geval, deze dan het cijfer 1 te geven. Is dit niet het geval, dan krijgt hij het cijfer 2.
Ik zal zeker ook mee zoeken naar een manier om dit te realiseren, maar wellicht hebben jullie nog een goede ingeving
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 | 'loop maken om door de rijen heen te lopen rw = 1 Do 'nu een loopje om de laatste kolom te zoeken klm = 0 Do klm = klm + 1 Loop Until Cells(rw, klm).Value = "" 'nu op basis van rw en klm de gegevens over nemen op het 2e blad For j = 1 To 3 Sheets("Blad2").Cells(rw, j).Value = Sheets("Blad1").Cells(rw, j).Value Next j For j = 1 To 4 Sheets("Blad2").Cells(rw, (j + 3)).Value = Sheets("Blad1").Cells(rw, (klm - 5 + j)).Value Next j If klm>13 then Sheets("Blad2").cells(rw, 8).value = 1 else Sheets("Blad2").cells(rw, 8).value = 2 end if rw = rw + 1 Loop Until Cells(rw, 1).Value = "" End Sub |
ik weet niet of dit je helpt, maar je kan met ctrl en pijltje naar beneden naar de laatst gevulde cel van dat blokje gaan. Als je dat dan doet terwijl je shift ingedrukt houdt, dan heb je snel de 1e t/m de laatste cel van die kolom geselecteerd. Kun je toch handmatig een rand maken.quote:Op zaterdag 9 januari 2010 11:37 schreef EddyAlbena het volgende:
Hoe kan ik de onderkant van een werkblad verwijderen? Ik heb bijv. door op A te klikken en een lijn aan de zijkant van deze kolommen te doen een lijn naar het oneindige lopen, terwijl dat maar tot rij 200 ofzo moet. Nu zeg je misschien: dat kun je toch gewoon handmatig ff volledig wehalen en vervolgens enkel een lijn tot rij 200 zetten.
Neen dat kan niet, want dit blad is megagroot waardoor ik daar uren mee bezig ben.
Perfect! Alles weg Dank!quote:Op zaterdag 9 januari 2010 15:24 schreef Joooo-pi het volgende:
[..]
ik weet niet of dit je helpt, maar je kan met ctrl en pijltje naar beneden naar de laatst gevulde cel van dat blokje gaan. Als je dat dan doet terwijl je shift ingedrukt houdt, dan heb je snel de 1e t/m de laatste cel van die kolom geselecteerd. Kun je toch handmatig een rand maken.
1 2 3 4 5 | Application.EnableAutoComplete = False End Sub |
thx goede tip. Er zijn best wel wat mensen die dit document moeten gaan invullen. Veel mensen hebben macro's uitstaan vermoed ik. Ik heb het nu opgelost door een lege regel toe te voegen. Dan pakt hij hem ook niet mee.quote:Op dinsdag 12 januari 2010 13:11 schreef DaFan het volgende:
Plak dit in VBA editor - ThisWorkbook:
[ code verwijderd ]
Dan zet ie m automatisch uit als iemand het bestand opent.
je kan dan werken met de formule isfout en als. Iets als =als(isfout(som(g10+I10));"nog geen waarde of 0";G10+I10) of met de formula isgetal. Dan wordt het zoiets als =ALS(EN(ISGETAL(G10);ISGETAL(G11));G10+G11;"nog geen waarde ingevuld").quote:Op dinsdag 12 januari 2010 21:17 schreef mirelia het volgende:
Ik heb in een sheet de volgende formule staan =SUM(G10+I10). maar omdat gevraagde cellen nog leeg zijn geeft deze cel nu #VALUE! aan en dat vind ik er niet uitzien. wat kan je daar aan veranderen?
ofquote:Op dinsdag 12 januari 2010 23:32 schreef jakees het volgende:
[..]
je kan dan werken met de formule isfout en als. Iets als =als(isfout(som(g10+I10));"nog geen waarde of 0";G10+I10) of met de formula isgetal. Dan wordt het zoiets als =ALS(EN(ISGETAL(G10);ISGETAL(G11));G10+G11;"nog geen waarde ingevuld").
De engelse formule namen moet je even zelf opzoeken op http://www.applewood.nl/forms/3000/FRM-004/index.asp.
s6
Ja ik zou zeggen dat die cellen G10/G11 formules of vlookups bevatten die nog geen waarde hebben of een waarde in de trand van #NB of tekstueel iets. Weet jij wanneer er #VALUE in een kolom komt? Dat is volgens mij niet als je een optelsom doet met lege cellen. Dan komt er gewoon 0 te staan.quote:Op dinsdag 12 januari 2010 23:43 schreef qu63 het volgende:
[..]
of
ALS(OF(G10="";G11="");"leeg";G10+G11)
ok, zegt niks dus ...quote:
Volgens mij wel in de laatste versie van Office.quote:Op woensdag 13 januari 2010 08:17 schreef jakees het volgende:
[..]
Hoe bedoel je? Als het Xlsm is dan is het een macro of zo?
wie ik? Mis ik iets?quote:Op woensdag 13 januari 2010 08:35 schreef DaFan het volgende:
Jakees heeft gelijk, waarschijnlijk geeft een van de twee cellen al een error. Anders wordt een lege cel gewoon als 0 behandeld, en heeft de formule van joooo-pi dus geen nut.
Mirelia: Waarom gebruik je SUM(G1+F1). Dat is overbodige tekens gebruiken. "G1+F1" volstaat, óf SUM(G1;F1), maar das alleen handig als je een langere range hebt.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |