Ik ga mijn best doen. Bedankt!!quote:Op donderdag 28 september 2017 17:48 schreef Janneke141 het volgende:
[..]
Dan zul je op een of andere plek in je bestand een lijstje moeten maken waarbij de nummers en de juiste teksten naast elkaar staan. Beste is om dat op een apart werkblad te doen.
Daarna heb je de functie =VERT,ZOEKEN() nodig. Ik stel voor dat je eerst even de help over die formule leest, goed kans dat je er dan wel uitkomt.
NB: Het wordt daarna overigens wel zo dat je in een of andere cel een 1 zet, en dat er dan in de cel ernaast 'einde nachtdienst' komt te staan.
Volgens mij is ie er niet, en is het echt heel naar om er een te maken. Maar het kan wel.quote:Op donderdag 28 september 2017 17:51 schreef Nieuwschierig het volgende:
Ik kan het natuurlijk googelen maar dat doe ik niet: Is er een functie die kijkt of het wel zomertijd is of geen zomertijd (in Nederland)
En dan een 1 of een 0 geeft of zo?
Je kan ook werken met gegevensvalidatie. Dan is het alleen mogelijk om te kiezen uit een aantal geselecteerde opties.quote:Op donderdag 28 september 2017 17:52 schreef nattermann het volgende:
Ik ga mijn best doen. Bedankt!!
Heb wel een lijstje voor je.quote:Op donderdag 28 september 2017 17:51 schreef Nieuwschierig het volgende:
Ik kan het natuurlijk googelen maar dat doe ik niet: Is er een functie die kijkt of het wel zomertijd is of geen zomertijd (in Nederland)
En dan een 1 of een 0 geeft of zo?
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.
quote:Op donderdag 28 september 2017 18:16 schreef Jopie78 het volgende:
[..]
Heb wel een lijstje voor je.Mwa... wie weet dat ik nog wat aan heb ook.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.
Wie dit leest is gek
Het is wel degelijk berekenbaar, maar het is een akelige formule vanwege het feit dat 'de laatste zondag in maart' altijd op een andere datum valt.quote:
Beetjes stoeien, wat waardes aan toekennen, beetje verticaal zoeken.. Komt vast goed.quote:Op donderdag 28 september 2017 18:18 schreef Nieuwschierig het volgende:
Mwa... wie weet dat ik nog wat aan heb ook.
Heb de berekening bekeken, maar dat was inderdaad een monsterlijk ding. Zou dan alsnog alles handmatig willen controleren achteraf.quote:Op donderdag 28 september 2017 18:18 schreef Janneke141 het volgende:
Het is wel degelijk berekenbaar, maar het is een akelige formule vanwege het feit dat 'de laatste zondag in maart' altijd op een andere datum valt.
Dat er geen ingebouwde formule in excel is heeft ongetwijfeld te maken met het feit dat de datum van de zomer/wintertijd verschilt per land, als er al een DST is.quote:Op donderdag 28 september 2017 18:28 schreef Nieuwschierig het volgende:
Vreemd dat het er niet is want er zijn talloze toepassingen voor denk ik.
Bij mij gaat het om een uit SAP geëxporteerde tabel de UTC tijden om te zetten naar MET
Op reddit staan nog wel wat formules, wie weet zit daar iets tussen?quote:Op donderdag 28 september 2017 18:28 schreef Nieuwschierig het volgende:
Vreemd dat het er niet is want er zijn talloze toepassingen voor denk ik.
Bij mij gaat het om een uit SAP geëxporteerde tabel de UTC tijden om te zetten naar MET
Dat kan met voorwaardelijke opmaak.quote:Op dinsdag 10 oktober 2017 16:34 schreef Heeinz het volgende:
Ik heb in mijn eerste kolom verschillende datums staan, is het mogelijk om elke datum automatisch een kleur te geven afhankelijk van hoe dichtbij de datum is bij vandaag?
Bijvoorbeeld:
Rij 1: 11-10-2017
Rij 2: 20-10-2017
Rij 3: 01-11-2017
Waarbij datums die binnen een week van vandaag vallen een groene kleur krijgen, tussen 8 en 15 dagen krijgen een oranje kleur en langer dan 15 dagen een rode kleur?
Thanks!quote:Op dinsdag 10 oktober 2017 16:39 schreef Janneke141 het volgende:
[..]
Dat kan met voorwaardelijke opmaak.
Kies 'een formule gebruiken om...'
en gebruik dan (wel even de goede celverwijzing invullen natuurlijk)
=A1-VANDAAG()<8
etc.
quote:Op zondag 22 oktober 2017 23:23 schreef Heeinz het volgende:
Daar ben ik weer Ik wil graag met Excel automatisch teksten genereren. Ik heb bijvoorbeeld als volgt een tekst:
Maar in C1 staat een datum, voluit geschreven. Hoe krijg ik deze erin?
1 | ="Tijdens "&A1&" wordt "& B1&" gedaan op "&C1 |
1 | ="Tijdens "&A1&" wordt "& B1&" gedaan op "&TEXT(C1,"MM/DD/YY") |
Het is inderdaad als datum opgemaakt, er staat bijvoorbeeld 'zondag 22 oktober 2017', en zo wil ik ook dat het in de tekst gegenereerd wordt. Met de regel die jij stuurde krijg ik het niet voor elkaarquote:Op zondag 22 oktober 2017 23:47 schreef The_vice het volgende:
[..]
[ code verwijderd ]
Als in C1 een "datum" als datum is opgemaakt (vanaag is bijvoorbeeld 43030) kom je weg met:
[ code verwijderd ]
of iets van die strekking.
Of bedoel je dat de text in C1 nu is:
"Zondag, 22 oktober 2017"?
Dan is het wellicht gewoon tekst en kan je naar C1 verwijzen.
dddd dd mmmm yyyy zou het moeten doen, jjjj in de nederlandse versie van excel.quote:Op maandag 23 oktober 2017 00:16 schreef Heeinz het volgende:
[..]
Het is inderdaad als datum opgemaakt, er staat bijvoorbeeld 'zondag 22 oktober 2017', en zo wil ik ook dat het in de tekst gegenereerd wordt. Met de regel die jij stuurde krijg ik het niet voor elkaar
quote:Op maandag 23 oktober 2017 00:33 schreef The_vice het volgende:
[..]
dddd dd mmmm yyyy zou het moeten doen, jjjj in de nederlandse versie van excel.
1 | ="Tijdens "&D4&" wordt "&E4&" gedaan op "&TEKST(A4,"dddd/dd/mmmm/jjjj") |
"punt komma" ; in plaats van "komma" , in de Nederlandse versie? Isoleer eerst de text verwijs functie zelf in een cell. Dat werkt meestal het best om fouten op te sporen, door het naar kleine componenten terug te brengen. Dus eerst alleen =text(A4,"opmaak die je er wilt hebben") in een enkele cell.quote:Op maandag 23 oktober 2017 00:45 schreef Heeinz het volgende:
[..]
[ code verwijderd ]
Geeft foutmelding, wat doe ik verkeerd?
Voor de duidelijkheid, in A4 heb ik 22-10-2017 ingevuld en wordt deze weergegeven als; zaterdag 22 oktober 2017
denk dat je deze zoekt:quote:Op woensdag 25 oktober 2017 19:48 schreef MrNiles het volgende:
iemand een idee hoe dit op te lossen??
ja klopt, maar dan moet de andere sheet geopend zijn...en dat is nou net wat ik niet wilquote:Op woensdag 25 oktober 2017 20:03 schreef The_vice het volgende:
[..]
denk dat je deze zoekt:
Dynamic workbook reference, middels "Indirect" formule
Het antwoord op deze vraag is helaas dat het niet mogelijk is. De functie INDIRECT kan alleen werken met geopende bestanden.quote:Op vrijdag 27 oktober 2017 18:26 schreef MrNiles het volgende:
[..]
ja klopt, maar dan moet de andere sheet geopend zijn...en dat is nou net wat ik niet wil
Het kan in ieder geval metquote:Op dinsdag 7 november 2017 14:57 schreef nils7 het volgende:
Hi allen
Win 10, Excel 2016
Ik zit met een datum probleem.
Mijn excel staat op NL maar mijn datafeed (CSV bestand) is US format in een NOW() timestamp (datum + tijdstip).
Nu kan ik dit met left en rights best omzetten naar een NL format maar dat lukt me niet omdat hij het volgende US timestamp "11/01/17 00:33" ziet als "42746" als ik hem benader met een left.
Dat ziet hij dus als de NL 11 januari, maar dus eigenlijk 1 november is.
In dezelfde kolom staat dus ook een US "10/31/2017 11:36:53 PM" daar kan hij dus geen NL datum van maken dus mijn Left(timestamp,10) is dus ook gewoon 10/31/2017 als TEXT.
Ik zou dit graag met een formule op willen lossen, waar google vaak met formatting of left/right/mid oplossingen komt. Kom ik hier niet aan uit.
Iemand een idee?
[edit]
Deze oplossing werkt niet:
https://stackoverflow.com(...)o-european-date-date
Nee mag best met Left en Mids maar kreeg het er niet uit.quote:Op dinsdag 7 november 2017 16:30 schreef Janneke141 het volgende:
[..]
Het kan in ieder geval met
=DATE(MID(A1;4;2);LEFT(A1;2);MID(A1;7;2)+2000)
Misschien is er wel een charmantere oplossing, maar die ken ik ook niet. Waarom wil je eigenlijk een oplossing zonder LEFTs en MIDs?
Opgenomen macro's zijn niet zo geschikt om flexibel te maken, daar er harde verwijzingen in komen (A1 etc.). (Maar wel handig om even snel iets te bedenken en te kijken welke methodes er zijn.)quote:Op woensdag 8 november 2017 21:46 schreef langverhaal het volgende:
Aanvulling op mijn bovenstaande vraag; ik heb een macro opgenomen, maar bij uitvoer doet deze precies wat ik ervan verwacht, namelijk op de rij waar ik de macro opnam de waarden wegschrijven.
Hoe pas ik deze macro aan zodat deze wegschrijft vanuit de cel die op dat moment is geselecteerd?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | Sub Macro1() Dim SheetnaamBron As String Dim SheetnaamDoel As String SheetnaamBron = "Sheet2" SheetnaamDoel = "Sheet1" Dim Rij As Long Dim Kolom As Long 'data uit 5 kolommen, 1 rij over te halen Rij = 1 Kolom = 5 For j = 1 To Rij 'Insert Row Above Row 2 'met bijv kolomnamen op eerste rij Sheets(SheetnaamDoel).Rows(2).Insert Shift:=xlDown, _ CopyOrigin:=xlFormatFromLeftOrAbove 'or xlFormatFromRightOrBelow 'dan door kolommen wandelen. For i = 1 To Kolom '+0 aanpassen in geval van offset op bron sheet Sheets(SheetnaamDoel).Cells(2, i).Value = Sheets(SheetnaamBron).Cells(j + 0, i + 0).Value Next i Next j End Sub |
Misschien kun je iets met de functie VERGELIJKEN()quote:Op woensdag 15 november 2017 11:23 schreef edward_v het volgende:
Goedemorgen,
in het verre verleden heb ik redelijk wat met Excel gedaan maar helaas is veel kennis verdwenen.
Ik zit met het volgende:
Ik heb twee sheets met data. Ik wil kolommen in sheet 1 met kolommen in sheet 2 vergelijken.
Oftwel:
komt waarde voor in kolom 1 en in kolom 2 dan ja en indien niet dan nee.
Is zoiets te gieten in een formule?
en die waardes moeten wel gelijk zijn?quote:Op woensdag 15 november 2017 11:23 schreef edward_v het volgende:
Goedemorgen,
in het verre verleden heb ik redelijk wat met Excel gedaan maar helaas is veel kennis verdwenen.
Ik zit met het volgende:
Ik heb twee sheets met data. Ik wil kolommen in sheet 1 met kolommen in sheet 2 vergelijken.
Oftwel:
komt waarde voor in kolom 1 en in kolom 2 dan ja en indien niet dan nee.
Is zoiets te gieten in een formule?
1 | =IF(Sheet1!B3=Sheet2!B3;TRUE;FALSE) |
waar staat die b3 voor in dit geval?quote:Op woensdag 15 november 2017 12:05 schreef mschol het volgende:
[..]
en die waardes moeten wel gelijk zijn?
volstaat dan niet het volgende:
[ code verwijderd ]
geen nederlandse variant beschikbaar, dus nederlandse commando's moet je even uitzoeken.. Echt, welke idioot maakte daar ooit nederlandse functienamen voor
De cel op het werkblad (respectievelijk werkblad 1 en werkblad 2 in mijn voorbeeld, waar je de daadwerkelijke naam van moet gebruiken)quote:Op woensdag 15 november 2017 12:27 schreef edward_v het volgende:
[..]
waar staat die b3 voor in dit geval?
1 | =IF(jantje!A3=pietje!D10;TRUE;FALSE) |
wat als ik alle waarden uit kolom a met alle waarden in kolom b wil vergelijken.quote:Op woensdag 15 november 2017 12:28 schreef mschol het volgende:
[..]
De cel op het werkblad (respectievelijk werkblad 1 en werkblad 2 in mijn voorbeeld, waar je de daadwerkelijke naam van moet gebruiken)
dus als je werkbladen jantje en pietje heten en je cellen A3 en D10 moet vergelijken wordt het:
[ code verwijderd ]
de cel waarin je deze formule plaatst toont het resultaat
Met MATCH, COUNTIF of VLOOKUP kan je bepalen of een bepaalde waarde voorkomt in een een kolom. Als je wil weten of die waarde voorkomt in zowel kolom A als B, dan kan je er nog een AND eromheen plaatsen.quote:Op woensdag 15 november 2017 13:10 schreef edward_v het volgende:
[..]
wat als ik alle waarden uit kolom a met alle waarden in kolom b wil vergelijken.
oftewel komen ze zowel voor in a en b dan true. maakt niet uit welk positie
Excel rekent met tijden alsof het fracties van 24 zijn. De tijd '12:00' ziet Excel dus als 0,5, omdat het de helft van een etmaal (24) is.quote:Op vrijdag 5 januari 2018 12:24 schreef gekkie000000 het volgende:
Hallo, beginnersvraagje
Ik ben een excel aan het maken om de gewerkte uren van mijn vriend in bij te houden.
Ik heb diverse kolommen gemaakt zoals gewerkte uren , verlof, storingsuren etc. Het optellen werkt ook door de (u):mm:ss.
Nu wil ik een kolom waarin de overuren automatisch berekend worden. Dus kolom werkuren bevat bijvoorbeeld de waarde 11:30, en dan zou kolom overuren moeten worden :
waarde kolom werkuren - 8 uur (standaard werkdag), maar ik krijg het niet voor elkaar.
Iemand die me op weg kan helpen zonder dat ik een extra kolom hoef te maken?
Alvast bedankt!
Oh super, bedankt voor de uitleg! Ik ga het proberen.quote:Op vrijdag 5 januari 2018 12:29 schreef Janneke141 het volgende:
[..]
Excel rekent met tijden alsof het fracties van 24 zijn. De tijd '12:00' ziet Excel dus als 0,5, omdat het de helft van een etmaal (24) is.
Als je in een of andere cel een tijdsduur hebt gezet en je wil daar acht uur vanaf halen, dan zul je er dus het getal 8/24 vanaf moeten halen. D.w.z.: als in A1 de tijd '11:30' is ingevoerd, en in cel B1 zet je de formule =A1-8/24, en de celopmaak van B1 is ook 'tijd', dan komt er 03:30 in te staan.
Alleen nu wil ik het bestand wel op kunnen slaan zonder dat ik de cellen moet vullen Hoe doe ik dat? Ik las al iets dat je bijvoorbeeld cel A100 Skipip noemt, en dan onderstaande macro gebruikt dus als je bijvoorbeeld in A100 "TRUE" zet, hij dan hem leeg op slaat:quote:Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Application.Sheets("form").Range("B14").Value = "" Then
Cancel = True
MsgBox "B14 is empty"
End If
If Application.Sheets("form").Range("B15").Value = "" Then
Cancel = True
MsgBox "B15 is empty"
End If
If Application.Sheets("form").Range("B16").Value = "" Then
Cancel = True
MsgBox "B16 is empty"
End If
If Application.Sheets("form").Range("B19").Value = "" Then
Cancel = True
MsgBox "B19 is empty"
End If
If Application.Sheets("form").Range("B27").Value = "" Then
Cancel = True
MsgBox "B27 is empty"
End If
If Application.Sheets("form").Range("B28").Value = "" Then
Cancel = True
MsgBox "B28 is empty"
End If
If Application.Sheets("form").Range("B30").Value = "" Then
Cancel = True
MsgBox "B30 is empty"
End If
If Application.Sheets("form").Range("B32").Value = "" Then
Cancel = True
MsgBox "B32 is empty"
End If
If Application.Sheets("form").Range("B39").Value = "" Then
Cancel = True
MsgBox "B39 is empty"
End If
End Sub
Gefeliciteerd, altijd goed om je in deze materie te verdiepen.quote:Op donderdag 11 januari 2018 15:07 schreef Zocalo het volgende:
Ik heb mijn eerste macro ooit gebouwd, jeej
Ja prima methode om zo de zaak te bypassen.quote:[..]
Alleen nu wil ik het bestand wel op kunnen slaan zonder dat ik de cellen moet vullen Hoe doe ik dat? Ik las al iets dat je bijvoorbeeld cel A100 Skipip noemt, en dan onderstaande macro gebruikt dus als je bijvoorbeeld in A100 "TRUE" zet, hij dan hem leeg op slaat:
...
Maar ik krijg die niet werkend. Waar zou deze moeten? Of iemand anders een idee?
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 | Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) 'https://msdn.microsoft.com/en-us/vba/excel-vba/articles/workbook-beforesave-event-excel Dim strSheet As String Dim arrRange() As String Dim result As String strSheet = "Sheet1" arrRange = Split("B14,B15,B16,B27,B30,B32", ",", -1, vbTextCompare) 'eerst kijken of er geskipt moet worden If Bypass Then Cancel = False Exit Sub Else 'anders mogen de cellen gechecked worden For Each Item In arrRange If CheckFilledCells(strSheet, CStr(Item)) Then 'één of meerdere cellen zijn niet ingevuld Cancel = True If result = "" Then 'eerste item result = Item Else result = Item & ", " & result End If End If Next Item If Not result = "" Then MsgBox "empty item(s) in: " & result & vbCrLf & _ "Fill these in to be able to save sheet" End If End If End Sub '----------------------------------------------------------------------- Private Function CheckFilledCells(sheetname As String, strRange As String) As Boolean Dim Mytest As String Mytest = Application.Sheets(sheetname).Range(strRange).Value If Mytest = "" Then CheckFilledCells = True End Function '----------------------------------------------------------------------- Private Function Bypass() As Boolean Dim Skip As Boolean Skip = Range("Skipit").Value Debug.Print "SKIP", Skip If Skip Then Bypass = True 'reset naar niks, of beter FALSE Range("Skipit").Value = False End If End Function |
1 2 | Dim strSheet As String strSheet = "Sheet1" |
1 2 | Dim arrRange() As String arrRange = Split("B14,B15,B16,B27,B30,B32", ",", -1, vbTextCompare) |
1 2 | For Each Item In arrRange Next item |
1 | Private Function CheckFilledCells(sheetname As String, strRange As String) As Boolean |
Wow, wat een uitleg Super bedankt! Ik had het inmiddels wel werkend gekregen maar had al zo'n vermoeden dat het in te korten viel Ik wou dat ik dit allemaal 5 jaar geleden al geleerd had, maar je bent nooit te oud om te leren...quote:Op donderdag 11 januari 2018 20:44 schreef The_vice het volgende:
Wellicht meer dan je als antwoord op had gehoopt, maar ik zou willen dat ik dit allemaal had geweten toen ik net begon met programmeren.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If Range("Skipit").Value = "TRUE" Then 'indien skipit == 'true' Range("Skipit").Value = "" 'maak leeg zodat deze leeg is bij het opslaan. De volgende keer moet je weer 'true' in die cel zetten Exit Sub 'je hoeft niets te controleren, we laten toch al toe dat er opgeslagen wordt End If Dim cell As Range, msg As String 'altijd variabelen declareren, dan helpt de editor je For Each cell In Application.Sheets("form").Range("A1,A3,A4") 'voeg hier de cellen toe, gescheiden met komma If IsEmpty(cell.Value) Then 'als cell leeg is dan ... msg = msg & ", " & cell.Address(False, False) 'voeg zijn adres toe aan de 'msg' string End If Next cell 'loop door alle cellen in bovenstaande lijstje If Len(msg) > 0 Then 'indien cellen gevonden, melding geven MsgBox Mid(msg, 2) & " empty, please fill in to continue" Cancel = True 'je mag niet opslaan End If End Sub |
Dat kan wel, maar dat gaat je een paar hulpkolommetjes kosten.quote:Op zondag 28 januari 2018 09:46 schreef Blue_note het volgende:
Ik heb een Excel bestand waarbij op tab 2 t/m 15 in kolom A tekst staat. Het aantal rijen waarin tekst staat is per tab anders en kan veranderen.
Ik zou graag op tab 1 een overzicht maken van al die kolom A teksten die op de tabs 2 t/m 15 staan.
Ik snap dat je kan celverwijzen, maar dat is statisch. Het liefst zou ik een overzicht maken waarbij rekening wordt gehouden met het aantal gevulde rijen en er in het overzicht geen witregels tussen komen.
Iemand een idee voor een oplossing?
Thanks. Eens even mee spelen. Gevaar zit hem erin dat er dan veel geknoopt wordt. Blad2 t/m 15 kan in theorie ook t/m 50 gaan worden.quote:Op zondag 28 januari 2018 09:57 schreef Janneke141 het volgende:
[..]
Dat kan wel, maar dat gaat je een paar hulpkolommetjes kosten.
In steno een oplossing die werkt:
- Maak een blad16 waarop je een rijtje maakt met AANTALARG(A:A)-functies voor ieder werkblad van 2 t/m 15
- Op Blad1 in A1 zet je de tekst 'Blad2'
- Ernaast in B1 zet je een 1
- Nu ga je in de rijen daar beneden de celwaarde erboven vergelijken met het totaal aantal regels op het betreffende werkblad. Zo lang dat niet is bereikt gaat de teller telkens 1 omhoog en blijft de bladnaam hetzelfde. Beetje klooien met ALS-functies en VERT.ZOEKEN.
- In kolom C kun je nu met een combinatie van INDEX en INDIRECT je celwaardes van al die bladen oplepelen.
Behalve dan dat je op het 'telblad' voor ieder blad dat erbij komt handmatig nieuw regeltje moet maken, zie ik niet wat er misgaat. Alleen wordt het hele spul natuurlijk wel trager als het aantal bladen en regels oploopt.quote:Op zondag 28 januari 2018 10:17 schreef Blue_note het volgende:
[..]
Thanks. Eens even mee spelen. Gevaar zit hem erin dat er dan veel geknoopt wordt. Blad2 t/m 15 kan in theorie ook t/m 50 gaan worden.
Ben bang dat verknopingen naar verloop van tijd dan misgaan, niet?!
Blad0 wordt dan je hulpsheet, Blad1 geeft je het overzicht.quote:Op zondag 28 januari 2018 10:17 schreef Blue_note het volgende:
[..]
Thanks. Eens even mee spelen. Gevaar zit hem erin dat er dan veel geknoopt wordt. Blad2 t/m 15 kan in theorie ook t/m 50 gaan worden.
Ben bang dat verknopingen naar verloop van tijd dan misgaan, niet?!
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |