1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Realisatie Norm Tijd % gehaald 8:06:00 8:00 8:00 100 8:02:00 8:00 8:01 99 8:01:00 8:00 8:02 98 8:03:00 8:00 8:03 97 11:01:00 8:00 8:04 96 7:26:00 8:00 8:05 95 7:09:00 8:00 8:06 94 6:55:00 8:00 8:07 93 6:35:00 8:00 8:08 92 6:35:00 8:00 8:09 91 6:51:00 8:00 8:10 90 8:30:00 8:00 8:11 89 7:00:00 8:00 8:12 88 8:13 87 8:14 86 8:15 0 |
Tijdstipquote:Op vrijdag 29 april 2016 18:35 schreef Modus het volgende:
^^Zijn de gegevens in kolom A en B een tijdstip of een tijdsduur?
In E2 zou dan zoiets moeten komenquote:
1 | =ALS(A2<=B2;100;VERT.ZOEKEN(A2;C:D;2;ONWAAR)) |
Zonder hier naar te kijken vanmorgen een scriptje gemaakt met FSO en dat werkte zoals ik wilde, dus ook zonder die laatste enter nu. Thanks. Als dat vinkje een vereiste is, neem ik aan dat het toen aanstond.quote:Op woensdag 27 april 2016 12:13 schreef The_vice het volgende:
(Wel eerst in VBA in -> References -> "Microsoft Scripting RunTime" aanvinken.)
Kan ook zijn dat een ander process het nog open had (bijv. preview in Windows Explorer.) Of dat tijdens debuggen het bestand nog niet goed was afgesloten.quote:
Als de formulerijen in alle 50 sheets écht op dezelfde adressen staan.quote:Op woensdag 23 maart 2016 10:59 schreef Doevelaer het volgende:
Wie weet of dit kan en hoe het dan werkt:
Ik wil graag opmaak, formules e.d. van het werkblad A naar werkblad B kopiëren, echter zonder dat de gegevens in werkblad B overschreven worden.
.......
Hm lastig, nog nooit eerder zoiets gedaan. Ik denk dat ik 2 opties heb om uit te werken:quote:Op vrijdag 29 april 2016 20:59 schreef The_vice het volgende:
Speciale karakters zijn vaak struikelpunten in code. Je wilt niet weten hoe vaak ik me blind zit te staren op dubbele spaties, Non-Breaking spaties etc. Wat ik soms dan doe is "vbLf" of chr(10) even tijdelijk vervangen door de tekst "[Linefeed]". En dan verderop weer terug omzetten Replace(.... "[Linefeed]" -->chr(10) ) o.i.d. Niet al te sjiek, maar zorgt er wel voor dat je weer verder kan.
Integendeel, lijkt me juist heel onlogisch dat die op het einde van de regel slaat en niet op een 'losse entry'. Heb je het al geprobeerd?quote:Op vrijdag 29 april 2016 19:44 schreef Modus het volgende:
Bij het inlezen van de csv kan ik nog een paar dingen instellen, zoals de seperator (werkt verder goed nu) en de line break, maar ik neem aan dat die slaat op einde van de hele regel en niet op 1 'losse entry'.
Ja. Hij liep vast op de 2e regel in de csv (dus de 1e regel met data). Toen gezorgd dat de cel die daarbij hoort geen line breaks had, en opnieuw geprobeerd. Toen begon de appl. te miepen over hetzelfde item, maar dan 1 regel lager. De meldingen die die app. geeft zijn nogal summier, maar geeft wel aan welke regel (en welk item op die regel) van de csv problemen geeft.quote:Op vrijdag 29 april 2016 22:09 schreef ralfie het volgende:
[..]
Integendeel, lijkt me juist heel onlogisch dat die op het einde van de regel slaat en niet op een 'losse entry'. Heb je het al geprobeerd?
Heb je notepad++? Daarin kan je met knop "¶" (Show all characters) controleren wat in je csv zit (of terecht is gekomen).quote:Op vrijdag 29 april 2016 22:17 schreef Modus het volgende:
[..]
Ja. Hij liep vast op de 2e regel in de csv (dus de 1e regel met data). Toen gezorgd dat de cel die daarbij hoort geen line breaks had, en opnieuw geprobeerd. Toen begon de appl. te miepen over hetzelfde item, maar dan 1 regel lager. De meldingen die die app. geeft zijn nogal summier, maar geeft wel aan welke regel (en welk item op die regel) van de csv problemen geeft.
Is gratis te downloaden en ook als portable van usb stick te draaien, mocht je niet kunnen installeren.quote:
Kan wel kloppen, de Array is als een Variant gedefinieerd, die zal dus zelfstandig nummer afronding toepassen, als een waarde numeriek is. In je directe opgeslagen CSV wordt het aantal cijfers achter de komma zoals je in Excel hebt ingesteld (per veld) als tekst opgeslagen.quote:Verder moeten ingevoerde getallen altijd 3 cijfers achter de komma hebben voor de app. Mijn eerste versie deed dat zonder problemen, maar jouw script door elke cel uit te lezen naar een tekststring pakt die niet, ondanks ingestelde veldsettings. Moet ik ook nog uitzoeken.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | For j = 1 To kolommen 'met aangepaste formatting 'rij 1 is header in voorbeeld, 'vanaf kolom 2 data If j > 1 And i > 1 Then 'format "#,##0.00" naar wens tekst = tekst & _ Format(myArray(i, j), "#,##0.00") _ & ";" Else tekst = tekst & myArray(i, j) & ";" End If 'en andere gewenste opmaak Next j |
iig wel VBA: https://support.microsoft.com/en-us/kb/2815384quote:Op zaterdag 30 april 2016 13:56 schreef Janneke141 het volgende:
Is er een formule om het aantal cellen in een reeks te tellen met een bepaalde opmaak?
Een collega van mij is zo slim geweest om een heel schema te maken met gekleurde vakjes zonder waarde...
Dank. Na het weekend eens naar kijken.quote:Op zaterdag 30 april 2016 14:50 schreef qu63 het volgende:
[..]
iig wel VBA: https://support.microsoft.com/en-us/kb/2815384
Of met filters: http://trumpexcel.com/201(...)ound-color-in-excel/
Of met XL4 Macro's die geenmacro's zijn*? http://stackoverflow.com/(...)el/20491479#20491479
*Die zijn voor mij ook nieuw.. Meer info hierover is hier te vinden.
Windows kent wel verschillende newlines he, \n en \r (newline en carriage return). in VBA dus chr(10) en chr(13), misschien dat ie daar over struikeld?quote:Op vrijdag 29 april 2016 21:41 schreef Modus het volgende:
[..]
Hm lastig, nog nooit eerder zoiets gedaan. Ik denk dat ik 2 opties heb om uit te werken:
-de harde enters in de cellen laten staan en VBA die bij het uitlezen van de cellen laten herkennen en op 1 of andere wijze in de tekststring verwerken; geen idee of dat kan en zo ja hoe
-de harde enters in die cellen weghalen en in betreffende celtekst op de juiste plekken iets van chr(10) ertussen fietsen??
dus een celtekst a la adres1chr(10)plaats1 ??
-edit
na wat googelen denk ik dat ik wellicht het beste die cellen met line breaks in mijn basislijst kan vervangen door losse cellen met elk 1 regel
En in de code die ik nu heb die de tekststring samenstelt daar waar nodig een char(10) tussen plakken
-edit2
dat laatste heb ik net getest, dat krijg ik werkend
vandeweek verder
Zulke dingen zou ik eigenlijk gewoon aan collega teruggeven, onder motto "Onwerkbare troep, maak er eerst maar data van".quote:Op zaterdag 30 april 2016 13:56 schreef Janneke141 het volgende:
Een collega van mij is zo slim geweest om een heel schema te maken met gekleurde vakjes zonder waarde...
1 2 3 4 5 6 7 8 9 10 11 | Sub LoopRange() Dim rCell As Range Dim rRng As Range 'Aanpassen voor gekleurde range die je hebt Set rRng = ActiveSheet.Range("A1:B6") For Each rCell In rRng.Cells Debug.Print rCell.Address, rCell.Interior.Color 'herhaal originel cell waarde (zou leeg moeten zijn in collega geval) rCell.Value = rCell.Value & " [" & rCell.Interior.Color & "]" Next rCell End Sub |
Thanks! Al een heel stuk verder hiermeequote:Op vrijdag 29 april 2016 19:30 schreef Modus het volgende:
[..]
In E2 zou dan zoiets moeten komen
[ code verwijderd ]
en dan doortrekken, maar om mij nog onduidelijke reden kan ie dan de 08:03:00 en de 08:06:00 niet vinden die er wel degelijk in staan, dan geeft ie een #N/B, de 8:02 en 8:01 kan ie wel vinden. Echt GEEN IDEE hoe dit kan. Ms toch iets met dat tijdrekenen, dat is altijd gekut.
11:01:00 vindt ie logischerwijs ook niet, want die staat niet in kolom C.
Vervang C:D eens door $C$1:$D$999 (of hoe lang je rij ook is)quote:Op zaterdag 30 april 2016 20:46 schreef GotC het volgende:
[..]
Thanks! Al een heel stuk verder hiermee
Alleen idd 8:03, 8:06 en 8:10 blijven een #N/B geven.
edit: En opgelost, door de tijden nogmaals in te typen
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 | Sent time: 01/01/2010 12:26:01 PM To: email@adres.com Subject: subject Formulier Tekst Ritdatum: 01012000 Naam contact: Email contact: Woonplaats contact: Naam bedrijf: Soort: Van: Naar Start: Vanaf: Tijd 1: Tijd 2: Tijd 3: Tijd 4: Vervolg: Eindadres: Onkosten: Vertraging: Nee Bestanden: Timestamp: 12345678 |
Ik zou voor mijn eigen gemak denk ik een hulpkolommetje maken met een ALS-lus die enen genereert op de gewenste regels, en nullen op de rest.quote:Op woensdag 4 mei 2016 18:38 schreef RacerDKB het volgende:
Ik heb de inhoud van 330 mailtjes in Excel weten te krijgen in één bestand, onder elkaar.
De inhoud is als volgt, en dat dus 330 keer (duizenden regels dus):
[ code verwijderd ]
Ik wilde een filter maken voor een aantal van deze gegevens, namelijk "Ritdatum, Naam Bedrijf, Soort, Van, Naar, Bestanden". Alle overige informatie uit die mails wil ik verwijderen.
Ik geloof dat dit mogelijk is met advanced filter, maar ik kom er niet uit. Wie helpt?
Dat is op zich een goed idee, maar als ik bijvoorbeeld "Ritdatum" wil pakken, de waarde die daar achter staat is uiteraard telkens een andere waarde.quote:Op woensdag 4 mei 2016 19:02 schreef Janneke141 het volgende:
[..]
Ik zou voor mijn eigen gemak denk ik een hulpkolommetje maken met een ALS-lus die enen genereert op de gewenste regels, en nullen op de rest.
1 | =IF(A6="Ritdatum:",1,0) |
Gisteren en vandaag minder lang aan kunnen werken dan gehoopt. Ben nu zover dat ik een mooie csv kan wegschrijven, op het oog (Notepad) helemaal compleet. 1 regel met kopteksten, daaronder 4 regels met data. Alle eerste items van die 4 regels zijn gevuld.quote:Op zaterdag 30 april 2016 13:08 schreef The_vice het volgende:
In voorbeeld slechts met 2 cijfers achter de komma. Ik ga het je natuurlijk niet te makkelijk maken.
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 | Dim myArray() As Variant Dim myArray2() As Variant Dim text As String myArray = Range("A1:J1") Dim s Dim intColumns1 intColumns1 = UBound(myArray, 2) For s = 1 To intColumns1 text = text & myArray(1, s) & ";" Next s text = Left(text, Len(text) - 1) text = text & vbCrLf myArray2 = Range("A2:N" & InpLRow) Dim j, k Dim intColumns2 Dim intRows intColumns2 = UBound(myArray2, 2) intRows = UBound(myArray2, 1) For j = 1 To intRows For k = 1 To intColumns2 If k = 2 Then text = text & """" & myArray2(j, k) & Chr(10) & myArray2(j, (k + 1)) & Chr(10) & myArray2(j, (k + 2)) & Chr(10) & myArray2(j, (k + 3)) & Chr(10) & myArray2(j, (k + 4)) & """" & ";" k = 6 Else text = text & myArray2(j, k) & ";" End If Next k text = Left(text, Len(text) - 1) text = text & vbCrLf Next j text = Left(text, Len(text) - 2) |
Gebruik de functie LINKS, die pakt het linkerdeel van een tekst.quote:Op woensdag 4 mei 2016 20:46 schreef RacerDKB het volgende:
[..]
Dat is op zich een goed idee, maar als ik bijvoorbeeld "Ritdatum" wil pakken, de waarde die daar achter staat is uiteraard telkens een andere waarde.
<troepregels>
Ritdatum: 01052016
<troepregels>
Ritdatum: 02052016
<troepregels>
Hoe pak ik die dan allemaal?
[ code verwijderd ]
Een sterretje * er achter zetten werkt niet
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |