Je kan de hele kalender maken en volgooien met vert.zoeken() formules. Als je het wil krijgen zoals in jouw screenshot ben je (of iig ik) langer bezig met het mooi maken dan het werkend te krijgenquote:Op zondag 10 april 2016 00:17 schreef einzeinz het volgende:
Ik ben met iets nieuws bezig.
Ik heb een werkplanning voor het personeel. Gegevens zijn als volgt geranschikt in het werkblad 'werkplanning 2016'
- kolom A staan alle data van 2016
- Rij 1 staat de locatie waar die persoon met werken bv. in winkel 1, 2, 3 of bv. een stad (ik zeg maar wat)
- Rij 2 staan de uren want het personeel kan ofwel een dagdienst hebben, een vroege dienst ofwel een late dienst
Alle cellen (het bereik) zijn de namen van de werknemers. Deze planning wordt geregeld aangepast (dienstwissels) en het is gebeurd dat werknemers zich vergissen of de tabel niet zo goed afgelezen hebben.
Daarom zou ik ook in een nieuw werkblad een werkrooster (per maand) per werknemer willen integreren.
In cel A1 bv. kunnen ze hun naam kiezen uit een keuzelijstje (gegevensvalidatie). Dit werkt maar ik zou vervolgens willen dat Excel ook de data mooi in agenda vorm gaat plaatsen en ook de locatie en het tijdstip vermeld in de cellen.
Is dit mogelijk? Ik ben nu al even aan het zoeken maar ik kan het niet vinden hoe ik die naam aan de juiste informatie kan koppelen.
Het is hoogst waarschijnlijk met VB maar ik zit helaas vast.
Zie dit voorbeeld
[ afbeelding ]
De werknemer kiest zijn naam en liefst ook de maand en hij ziet zijn eigen rooster. Zo kan hij/zij dit afdrukken.
Ik zal het hem even vragenquote:Op zondag 10 april 2016 16:54 schreef qu63 het volgende:
[..]
Als de code openbaar gemaakt kan worden zou dat fijn zijn
https://www.dropbox.com/s(...)ZwHX_KEA3eyewMa?dl=0quote:Op zondag 10 april 2016 16:54 schreef qu63 het volgende:
[..]
Als de code openbaar gemaakt kan worden zou dat fijn zijn
If it works, it works! Thanks voor t delenquote:Op zondag 10 april 2016 17:35 schreef heywoodu het volgende:
[..]
https://www.dropbox.com/s(...)ZwHX_KEA3eyewMa?dl=0
IBU Points Template is het bestand dat de lijst uiteindelijk creeërt, ik heb er even de resultaten van twee willekeurige wedstrijden van afgelopen seizoen bij gezet. Die kunnen geïmporteerd worden, juiste jaar invullen, juiste trimester invullen (1 in het geval van de twee bijgevoegde resultaten) en op "Standings" klikken
Degene die het gemaakt heeft zei er bij dat het niet perfect of professioneel is of iets dergelijks, maar voor mij doet het exact wat het moet doen dus dat boeit me niet zo
Met verticaal zoeken in een tabel waar de postcodes en plaatsnamen in staan?quote:Op woensdag 13 april 2016 16:00 schreef einzeinz het volgende:
Sorry dat ik jullie terug stoor.
Ik zou graag hebben, dat als ik een postcode typ in Excel, hij automatisch de gemeente gaat geven. Is daar een goeie tutorial voor?
Het zijn zowel alle Nederlandse als Belgische postcodes (aangezien onze klanten uit beide landen komen).
Uiteraard is het ook zo dat er soms dubbele postcodes zijn waarbij meerdere gemeenten zijn. Het zou leuk zijn mocht er dan een keuzelijstje zijn.
=som(Kolom3)/(max(Kolom2)-min(Kolom2))*365.25quote:Op vrijdag 15 april 2016 10:56 schreef superZjozz het volgende:
Beste iedereen,
Ik wil graag een formule om een prognose te maken van het aantal uren dat ik in een jaar met iets bezig ben.Oftewel:
Kolom 1 Kolom 2 Kolom 3
Activiteit 1 1 januari 3 uur
Activiteit 2 7 januari 1 uur
Activiteit 3 10 januari 2 uur
Totaal: 6 uur
Prognose jaartotaal: 6 uur/10 dagen*365 *
Maar dan een formule die ook werkt als ik een 4e activiteit invul.
Alvast bedankt voor het meedenken!
SUMIF()quote:Op dinsdag 26 april 2016 22:21 schreef Cikx het volgende:
Ik heb een vraagje:
Ik heb 2 kolommen met data (zeg A en B) die niet op alle plekken gevuld zijn. Nu heb ik een IF functie toegepast die me een 1 geeft wanneer A1 en B1 tegelijkertijd een willekeurige waarde in hun cel hebben staan en de functie geeft me een 0 wanneer er in beide of in 1 van beide cellen geen waarde staat, dus: =IF (AND(A1>0;B1>0);1;0).
Deze functie heb ik naar beneden gesleept (zeg in kolom D) en beslaat nu zo'n 2000 rijen met 1-en en 0-len overeenkomstig met de data. Op het einde tel ik alle 1-en op, dus ik neem de som van de hele kolom om zo te zien hoe vaak er een waarde in kolom A en tegelijkertijd in kolom B staat en dat werkt eigenlijk prima. Maar nu vroeg ik me af of het mogelijk is om dit alles in 1 formule te zetten. Zodat ik geen 2000 rijen hoef te beslaan om vervolgens alle cellen op te tellen.
Ik hoop dat de vraag een beetje duidelijk is, als het nodig is kan ik misschien wat meer informatie geven, misschien met screenshots.
Alvast Bedankt!
Als je een beetje ervaring hebt met vba, dan je hele csv export doen via macro. En dan met stream read/write voorbeeld de text inlezen en dan iets van StrStream = left(StrStream, len(StrStream )-2)quote:Op dinsdag 26 april 2016 13:34 schreef Modus het volgende:
Ik denk dat het ergens best werkbaar zal zijn voor de gebruiker om deze eenmalige handeling nog in Notepad te doen, omdat we met deze csv sowieso al heel veel tijd gaan winnen, maar ik heb ergens het idee dat ook dit probleem gewoon opgelost zou moeten kunnen worden.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | Sub test() Dim filenaam As String Dim StrStream As String filenaam = "D:\Folder\book1.csv" Set objFSO = CreateObject("Scripting.FileSystemObject") Set objfile = objFSO.OpenTextFile(filenaam, 1) Do Until objfile.AtEndOfStream StrStream = StrStream & objfile.ReadLine & vbCrLf Loop Debug.Print StrStream objfile.Close Set objFSO = CreateObject("Scripting.FileSystemObject") 'Opnieuw zelfde CSV (leeg) aanmaken om in te schrijven Set objfile = objFSO.CreateTextFile(filenaam, True) 'Hier gebruike Write, niet Writeline 'Met 2 karakters inkorten. Enter (vbcrlf = 2 karakters lang) objfile.Write (Left(StrStream, Len(StrStream) - 2)) 'objfile.Write (1) objfile.Close End Sub |
Dankje! Het wil echter nog niet zo vlotten aangezien ik steeds 0 uit krijg op welke manier ik de de functie ook verander.quote:
Eigenlijk bedoelde ik SUMPRODUCT()quote:Op woensdag 27 april 2016 13:51 schreef Cikx het volgende:
[..]
Dankje! Het wil echter nog niet zo vlotten aangezien ik steeds 0 uit krijg op welke manier ik de de functie ook verander.
Is het mogelijk om als "criteria" in de SUMIF functie de functie IF(AND(A1>0;B1>0);1;0) te nemen? Alhoewel, dan kijkt die ook maar naar één cel, dus misschien iets als: IF(AND(A1:A2000>0;B1:B2000>0);1;0). Ben de draad kwijt
Ha interessant. Wat ik tot nu toe heb gaat ook via VBA, en stream gedoe ken ik wel maar gebruik het niet vaak dus ook niet meteen aan gedacht.quote:Op woensdag 27 april 2016 12:13 schreef The_vice het volgende:
[..]
Als je een beetje ervaring hebt met vba, dan je hele csv export doen via macro. En dan met stream read/write voorbeeld de text inlezen en dan iets van StrStream = left(StrStream, len(StrStream )-2)
en dan StrStream weer wegschrijven.
[ code verwijderd ]
(Wel eerst in VBA in -> References -> "Microsoft Scripting RunTime" aanvinken.)
Gelukt! Bedankt!quote:Op woensdag 27 april 2016 14:37 schreef qu63 het volgende:
[..]
Eigenlijk bedoelde ik SUMPRODUCT()
=SOMPRODUCT(--(A1:A2000<>"");--(B1:B2000<>""))
Door in de laatste stap het opnieuw te open (met zelfde filenaam), maar dan middels "ForWrite" wordt alles overschreven met de inhoud van je stream.quote:
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 | Sub RangeToArray() Dim myArray() As Variant Dim tempTekst As Variant Dim tekst As String myArray = Range("A1:D14") 'of welke range je hebt Dim i, j Dim kolommen Dim rijen kolommen = UBound(myArray, 2) rijen = UBound(myArray, 1) For i = 1 To rijen For j = 1 To kolommen 'variant naar string (Cstr) tekst = tekst & myArray(i, j) & ";" 'en andere gewenste opmaak Next j 'laatste ";" weghalen tekst = Left(tekst, Len(tekst) - 1) 'linefeed toevoegen tekst = tekst & vbCrLf Next i 'laatste linefeed weer weghalen tekst = Left(tekst, Len(tekst) - 2) 'en door naar je stream 'of "immediate window" Debug.Print tekst End Sub |
Na enig zoeken en testen heb ik een code gevonden die werkt:quote:Op vrijdag 29 april 2016 11:25 schreef Puckzzz het volgende:
Excel 2013 Engels.
Is er een manier om ervoor te zorgen dat de data die ik omzet naar een tabel altijd tot de laatste cel in die tabel gaat? Ik heb hier een macro voor maar de tabellen verschillen dus elke keer in het aantal regels.
De complete macro verzamelt verschillende tekst bestanden, laadt deze allemaal onder elkaar in 1 sheet, zet de data om naar kolommen en vervolgens zet ik die kolommen om naar een tabel.
Nu is het zo dat die lijsten elke keer verschillend zijn qua aantal regels. Uit voorzorg selecteer ik tot regel 10.000 voordat ik het omzet naar tabel. Maar daarna maak ik nog weer een overzicht in een pivot, die pivot telt natuurlijk al die lege regels ook mee. Dat kan ik uitzetten in het filter maar ik heb liever dat tijdens het omzetten naar tabel gewoon alle gevulde regels worden omgezet.
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$L$10000"), , xlYes).Name _
= "Table1"
De range zou ik dus graag aangepast hebben zodat ie elke keer de laatste cel met data van de tabel vindt.
quote:ActiveSheet.ListObjects.Add(xlSrcRange, Range([A1].End(xlDown), [A1].End(xlToRight)), , xlYes).Name = "Table1"
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |