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.Bij macro's die een bepaalde, merkbare, tijd nodig hebben om hun werk te doen is het van belang de gebruiker een idee te geven van wat er gebeurt, zeker met macro-optimalisatie aan kan het lijken alsof Excel is vastgelopen. Je kan bijvoorbeeld de statusbar een waarde geven, met eventueel een percentage van de reeds uitgevoerde code.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.Password kwijt?
Soms heb je een worksheeet beveiligd met een password maar ben je die kwijt. Gelukkig is dat geen groot probleem want de interne beveiliging van Excel stelt niet heel veel voor.
Hier vind je meer info en een downloadbare macro die alle interne passwords verwijdert.
DISCLAIMER: Denk erom dat je met het breken van de beveiliging van een excelsheet mogelijk wet- of regelgeving overtreedt. Als de spreadsheet van jezelf is zou het geen probleem moeten zijn.
In andere gevallen: vraag toestemming aan de originele schrijver.
Bij twijfelgevallen: NIET DOEN
Mooi, grappig en cool
Een uitgebreide site met nuttige en minder nuttige excelsheetjes. Van kekke grafieken om je manager of leraar te betoveren via oscillogrammen en simulatoren tot pong voor als het weer een typische vrijdagmiddag is: Excelunusual
Verder
Alle vorige topics zijn hier terug te vinden.
Nieuw topic? Haal de OP uit de wiki
[ Bericht 5% gewijzigd door Deetch op 05-10-2012 12:05:14 ]Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
Neuh, ik moest daar gewoon meteen aan denken toen ik je post lasquote:Op vrijdag 5 oktober 2012 11:38 schreef Deetch het volgende:
[..]
Zo te zien is het baggeruurtje begonnen?
Geen ervaring mee.quote:Op zaterdag 6 oktober 2012 09:28 schreef Holy_Goat het volgende:
Iemand ervaring met Excel projectjes op licentie verkopen?
100% krijg je het niet dicht, maar qua security wil ik het wel een beetje de non Excel savvi gebruiker ontmoedigen kopien rond te sturen...
die lijkt er wel op..maar je ziet dat ik een staafdiagram en een curve door elkaar heb...en de curve volgt niet de staaf...wel het gemiddelde ervan, dat is de moeilijkheidquote:Op maandag 8 oktober 2012 12:29 schreef VorteXxX het volgende:
http://www.tushar-mehta.c(...)stribution/index.htm
Zoiets?
Gebruik een listbox, maak zelf iets in vba (veel werk!) of voeg de control toe middels een xladdon vanuit DotNet (C# of VB#)quote:Op maandag 8 oktober 2012 13:06 schreef Holy_Goat het volgende:
Betere vraag is wellicht:
ik zou graag iets hebben dat bijna hetzelfde kan als een listview control.
Ofwel: meerdere rijen+kolommen, liefst een scrollbar, en evt aanpassen opmaak per rij.
Ook klik/dubbelklik moet werken.
Ik neem aan dat je wel een histogram kunt maken? Deze moet je normaliseren (ywaarde/som(totaal)) en dan heb je dat gedeelte.quote:Op maandag 8 oktober 2012 12:26 schreef MrNiles het volgende:
is er hier een excel-guru die me kan helpen met het maken van onderstaande grafiek
[ afbeelding ]
het heet iets van sigma curve / gausse curve / normal distribution curve
op internet vind ik wel wat, maar geen goede uitleg hoe ik m kan maken
Of deze: http://www.vertex42.com/ExcelArticles/mc/Histogram.htmlquote:Op maandag 8 oktober 2012 12:29 schreef VorteXxX het volgende:
http://www.tushar-mehta.c(...)stribution/index.htm
Zoiets?
Is je data wel normaal verdeeld dan? heb je de juiste waarde voor gemiddelde en stdev gebruikt?quote:Op maandag 8 oktober 2012 12:43 schreef MrNiles het volgende:
[..]
die lijkt er wel op..maar je ziet dat ik een staafdiagram en een curve door elkaar heb...en de curve volgt niet de staaf...wel het gemiddelde ervan, dat is de moeilijkheid
en volgens niet het geval in je voorbeeld
Dat laatste lijkt me niet zo handig, aangezien de gebruikers dan ook die addin moeten hebben, toch?quote:Op maandag 8 oktober 2012 15:36 schreef ralfie het volgende:
[..]
Gebruik een listbox, maak zelf iets in vba (veel werk!) of voeg de control toe middels een xladdon vanuit DotNet (C# of VB#)
[..]
Tsja, je schijnt er om heen te kunnen werkenquote:Op maandag 8 oktober 2012 16:55 schreef Holy_Goat het volgende:
[..]
Dat laatste lijkt me niet zo handig, aangezien de gebruikers dan ook die addin moeten hebben, toch?
1 | Call createfield("Zaak nr", 7, "Zaak naam", 20, "Open taken", 24.8, "Omschrijving", 35, "(1e) Afronddatum", 13) |
1 2 | Call destroyfield() Call createfield("iets anders", 50, "Nog iets anders",50) |
Wat een mooie, mag ik hebben?quote:Op dinsdag 9 oktober 2012 11:44 schreef Holy_Goat het volgende:
Heb trouwens al eens eerder iets geklust dat ik in best veel projectjes gebruik, aangezien de datepicker control uit mscomctl.ocx ook gekut geeft op andere office versies. Maar listview dinges is wel iets lastiger
[ afbeelding ]
Volledig dynamisch aan huidige datum. Springen kan met pijltjes per maand, groen is huidige datum, donkergrijs andere data.
Dat was precies waarom ik deze gemaakt hebquote:Op dinsdag 9 oktober 2012 16:19 schreef Deetch het volgende:
[..]
Wat een mooie, mag ik hebben?
Ik had er vroeger ook één (2000 versie) maar die doet het niet in excel 2010 en de datepicker control wordt niet meer ondersteund door MS.
Weet je ook toevallig welke optie ik dan moet kiezen.quote:Op woensdag 10 oktober 2012 17:02 schreef VorteXxX het volgende:
heeft dat dan niet met de cel eigenschappen te maken? als ie standaard staat maakt hij geen onderscheid tussen positief en negatief
uuuhhhmm... raar? is dit niet gewoon een 'foutje' in de formule?quote:Op woensdag 10 oktober 2012 16:59 schreef -Mirrie- het volgende:
Excel 2007 - NL
Ik ben bezig met een scriptie en heb een vraag over het gebruik van formules in Excel.
Wellicht kan ik hier een oplossing vinden.
Ik wil de mutatie berekenen tussen 2 ratio's.
Bijv. jaar t = 0,5 en jaar t1 = 0,3 (de ratio wordt hierbij negatiever)
Ik wil hierbij niet de absolute mutatie berekenen, maar de percentuele mutatie.
Dus: mutatie = (t1 - t) / t = (0.3 - 0.5) / 0.5 = -0,4
Alles prima, maar nu komt mijn probleem.
Indien jaar t = -0,5 en jaar t1 = -0,3 (de ratio wordt positiever)
mutatie = (t1 - t) / t = (-0.3 - -0.5) / -0.5 = -0,4
Beide mutaties zijn dus -0,4, terwijl de mutatie bij de eerste negatief is en bij de tweede positief.
Zijn er bij jullie formules bekend waarmee dit probleem ondervangen wordt?
Je bent geweldig!!! Dit werktquote:Op woensdag 10 oktober 2012 19:44 schreef Holy_Goat het volgende:
Ik denk dat ik em heb
Volgens mij is het:
[ code verwijderd ]
[ afbeelding ]
Met visual basic zou dat wel mogelijk moeten zijn maar dan opent hij op de achtergrond toch dat bestand.quote:Op donderdag 11 oktober 2012 09:24 schreef Frixel het volgende:
Kan je sorteren in een bestand terwijl het gesloten blijft?
Omdat in een .csv bestand elders op het netwerk de data staat waaruit ik een LOOKUP moet doen.quote:Op donderdag 11 oktober 2012 09:57 schreef Basp1 het volgende:
een csv bestand gaan sorteren? Dat bestand zul je dan eerst in een excel instantie moeten importeren.
Waarom wil je dit buiten het opstarten van excel doen?
Waarom niet gewoon dan in vba die csv binnenhalen in een array en daar sorteren?
Hoe dan ook zal dat csv bestand geopend worden om te sorteren en daarna gesloten worden.quote:Op donderdag 11 oktober 2012 10:13 schreef Frixel het volgende:
[..]
Omdat in een .csv bestand elders op het netwerk de data staat waaruit ik een LOOKUP moet doen.
Dat is een heel groot bestand en wil ik ook niet open hebben.
Ik heb inmiddels begrepen dat een bestand eerst gesorteerd moet zijn voordat je een LOOKUP functie doet anders krijg je de verkeerde regel.
.csv kan je toch gewoon sorteren?
1 2 3 4 | Dim wkb As Workbook, sht As Worksheet 'Deze regel opent Wel het bestand, maar als object. Het is niet zichtbaar of oproepbaar vanuit excel. Set wkb = GetObject("P:\bestand.csv") 'hier je pad + bestand Set sht = wkb.Sheets(1) '1 is eerste werkblad, of anders werkbladnaam invoeren |
Ook al heet de schijf overal anders dan moet je ook niet de schijfmapping gebruiken maar de directe windows mapping. Dus niet op p:\ maar iets van servernaam\directory\ enz...quote:Op donderdag 11 oktober 2012 10:29 schreef Frixel het volgende:
Nee openen is geen optie om diverse redenen.
Meerdere mensen gebruiken dit bestand.
Bij ieder persoon heet de schijf waar die opstaat weer anders.
openen buiten excel lukt me ook wel in VBA en ook de eerste sheet selecteren(dank aan google) alleen weet ik nu niet hoe ik dat sorteren doe.
Als dat sorteren "vlot gaat" hoeft het daarna niet opgeslagen te worden anders wel.
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 | Dim wkb As Workbook, sht As Worksheet Set wkb = GetObject("P:\voorbeeld.xls") Set sht = wkb.Sheets(1) Set tst = Sheets("Sheet2").Select Range("A17").Select Range("A1:B44").Sort Key1:=Range("B2"), Order1:=xlAscending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal Sheets("Sheet1").Select |
op regel 4 "wkb.activate" toevoegenquote:Op donderdag 11 oktober 2012 11:17 schreef Frixel het volgende:
Ik heb nu onderstaande (na de alinea) ingebouwd maar dan sorteertt hij een bestand dat op het moment actief is en niet het genoemde bestand.
[ code verwijderd ]
Nee werkt helaas niet. Blijft bij het (ander) bestand dat aktief isquote:Op donderdag 11 oktober 2012 11:32 schreef Deetch het volgende:
[..]
op regel 4 "wkb.activate" toevoegen
Helaas een foutmeldingquote:Op donderdag 11 oktober 2012 11:30 schreef Basp1 het volgende:
Wat gebeurt er als je in regel 5 ipv Set tst = Sheets("Sheet2").Select
iets van Set tst = wkb.Sheets("Sheet2").Select zou zetten?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | GetObject ("P:\bestand.csv") Dim wkb As Workbook, sht As Worksheet Set wkb = GetObject("P:\bestand.csv") 'hier je pad + bestand Set sht = wkb.Sheets(1) '1 is eerste werkblad, of anders werkbladnaam invoeren wkb.Activate Range("A1:P60000").Sort Key1:=Range("H2"), Order1:=xlAscending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal With Sheets(1) .Columns(3).Insert .Range("C3") = "Collo No" .Range("C4").Resize(.Cells(Rows.Count, 2).End(xlUp).Row) = "=LOOKUP(C[-1],bestand.csv!R2C8:R60000C8,bestand.csv!R2C6:R60000C6)" On Error Resume Next Application.ScreenUpdating = False wkb.Close False 'anders blijft het wkb in VBA als geopend achter |
Je moet hier het volgende doenquote:Op donderdag 11 oktober 2012 11:17 schreef Frixel het volgende:
Ik heb nu onderstaande (na de alinea) ingebouwd maar dan sorteertt hij een bestand dat op het moment actief is en niet het genoemde bestand.
[ code verwijderd ]
1 2 3 4 5 6 7 8 | Dim wkb As Workbook, sht As Worksheet Set wkb = GetObject("P:\voorbeeld.xls") Set sht = wkb.Sheets(1) wkb.sht.Range("A1:B44").Sort Key1:=wkb.sht.Range("B2"), Order1:=xlAscending, Header:= _ xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal |
selecteren, wbk actief hebben of sheet actief hebben is niet nodig.quote:Op donderdag 11 oktober 2012 11:30 schreef Basp1 het volgende:
Wat gebeurt er als je in regel 5 ipv Set tst = Sheets("Sheet2").Select
iets van Set tst = wkb.Sheets("Sheet2").Select zou zetten?
iemand?quote:Op donderdag 11 oktober 2012 12:42 schreef Xperia het volgende:
Hallo allemaal.. ik heb een vraagje:
Ik heb een excel bestand die beveiligd moet worden d.m.v. een wachtwoord, maar tegelijkertijd mag iedereen het Excel bestand wel lezen echter mogen ze geen wijzgingen uitvoeren.
Dus zodra ze het bestand willen openen en wijzigen dienen ze een wachtwoord in te voeren, maar wanneer ze op de button "Alleen lezen" klikken wordt het bestand wel geopend maar dan alleen voor leesrechten.
Hoe stel ik dat in?
Versie: Excel 20120
Zie printscreen om het te verduideleken:
[ afbeelding ]
wat als je dat ding nou eerst echt eens opent als een excel instance. Dat doe ik ook namelijkquote:Op donderdag 11 oktober 2012 13:41 schreef Frixel het volgende:
Jammer, een foumelding op die regel wkb.sht.Range etc
melding is:
Object doesn`t support this property or method.
1 2 3 4 5 6 7 8 | dim srcwbk As Workbook dim sht As Worksheet Set srcwbk = Workbooks.Open(filename:=strlocation, UpdateLinks:=False) srcwbk.sht.range(....).sort en dan die key ook srcwbk.sht.range(keyrange) Afsluiten kan dan weer met srcwbk.Close savechanges:=true Set srcwbk = Nothing |
Bij werkmap beveiligen kun je aangeven wat er beveiligd moet worden.quote:
Hulp gevraagd van MS Excel professionalsquote:Op donderdag 11 oktober 2012 15:21 schreef Holy_Goat het volgende:
[..]
bij opslaan als > wachtwoord? of snap ik nu iets niet
Helemaal top Merciquote:Op donderdag 11 oktober 2012 15:21 schreef Holy_Goat het volgende:
[..]
bij opslaan als > wachtwoord? of snap ik nu iets niet
Volgende keer googelenquote:
quote:Open de betreffende file. Dan klik linksboven op bestand, dan op opslaan als.. In het nieuwe venster zie je rechts EXTRA staan. Klik hierop en selecteer dan "Algemene Opties". Voeg een wachtwoord in bij " wachtwoord voor openen". Klik op OK. Je moet het wachtwoord dan nog eens ingeven. Klik weer op OK. Geef de file een naam ( je mag dezelfde houden als die je had bij het openen) en klik op opslaan. Nu kan je het bestand alleen nog openen met dat wachtwoord.
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.
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 | Sub test() ' Macro recorded 9-10-2012 by xxx GetObject ("P:\bestand.csv") Dim wkb As Workbook, sht As Worksheet 'Deze regel opent Wel het bestand, maar als object. Het is niet zichtbaar of oproepbaar vanuit excel. Set wkb = GetObject("P:\bestand.csv") 'hier je pad + bestand Set sht = wkb.Sheets(1) '1 is eerste werkblad, of anders werkbladnaam invoeren sht.Range("A1:P60000").Sort Key1:=Range("H2"), Order1:=xlAscending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal With Sheets(1) .Columns(3).Insert .Range("C3") = "Collo No" .Range("C4").Resize(.Cells(Rows.Count, 2).End(xlUp).Row) = "=LOOKUP(C[-1],bestand.csv!R2C8:R60000C8,bestand.csv!R2C6:R60000C6)" On Error Resume Next Application.ScreenUpdating = False wkb.Close False 'anders blijft het wkb in VBA als geopend achter End With End Sub |
je bedoelt dat het niet lukt als het NIET fysiek door excel is geopend?quote:Op maandag 15 oktober 2012 09:20 schreef Frixel het volgende:
Ik kom er nog steeds niet uit met onderstaande macro.
Mijn probleem is dat de file .bestand niet fysiek geopend dient te worden en dat likt dan ook met de optie GetObject ("P:\bestand.csv")
Daardoor is het wel aktief en zichtbaar in VBA.
Dan moet het bestand dus gesorteerd worden (kolom H) en dat wil maar niet lukken als het bestand fysiek door excel geopend is.
Is hier nog een oplossing of aanpassing op de code voor te bedenken?
[ code verwijderd ]
klopt, Als het niet fysiek door Excel is geopend lukt het niet.quote:Op maandag 15 oktober 2012 10:00 schreef Holy_Goat het volgende:
[..]
je bedoelt dat het niet lukt als het NIET fysiek door excel is geopend?
Hoeveel kolommen gaat het om?quote:Op maandag 15 oktober 2012 10:16 schreef Frixel het volgende:
[..]
klopt, Als het niet fysiek door Excel is geopend lukt het niet.
Het vervelende is dat het bestand groot en op netwerk staat dus duurt het (te)lang voordat het geopend, en bewerkt is.
Dan komt erbij dat de macro meerdere keren per dag gebruikt word en dan hele ritueel steeds herhaald moet worden. Of het moet kunnen zien dat het de eerste keer al gesorteerd is en dat die bewerking niet meer hoeft plaats te vinden!
Dan hoeft het daarna ook niet steeds meer geopend te worden.
Iedere dag is het een nieuw bestand dus 1 keer bewerken en dan nvoorlopig niets meer aan doen is ook geen optie.
Maar ja, dat gaat mijn pet te boven om zoiets te maken
Hmmja. dit gaat me dus te ver. daar moet ik bij afhaken...quote:Op maandag 15 oktober 2012 10:44 schreef Holy_Goat het volgende:
Je zou ook eens kunnen kijken naar het gebruik van ActiveX data objects
Ik zal eens zoeken op "quicksort " maar vrees dat ik er niet veel verder mee kom. Ik weet waar ik een macro kan maken en plakken in VBA maar dan houd het wel op.quote:Op maandag 15 oktober 2012 11:11 schreef Holy_Goat het volgende:
ik snap alleen niet echt waarom openen vanuit netwerk meer tijd zou kosten als je het echt IN EXCEL opent, dan wanneer je het niet echt opent.
Zou het voor jou ook te ver gaan om alles in te lezen in een 2D array en dan via een quicksort op de key (zoek maar op quicksort, best leuk) alles sorteren + terugstoppen in csv
dus op zich is openen geen probleem, als het maar niet 10x gedaan word? (om te sorteren)quote:Op maandag 15 oktober 2012 11:15 schreef Frixel het volgende:
[..]
Ik zal eens zoeken op "quicksort " maar vrees dat ik er niet veel verder mee kom. Ik weet waar ik een macro kan maken en plakken in VBA maar dan houd het wel op.
Dat openen vergt toch wel tijd iedere keer als de macro gebruikt word. (zeker 10x per dag) en dan doet ie steeds dat openen en sorteren.
klopt. 1x is genoeg als het gesaved word.quote:Op maandag 15 oktober 2012 11:20 schreef Holy_Goat het volgende:
[..]
dus op zich is openen geen probleem, als het maar niet 10x gedaan word? (om te sorteren)
Dan zou ik toch met mijn eerdere code de file echt in excel openen, dan de .sort gebruiken en opslaan.quote:Op maandag 15 oktober 2012 11:21 schreef Frixel het volgende:
[..]
klopt. 1x is genoeg als het gesaved word.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | dim welkedag as date open "locatie/issorted.txt" for input as #1 input #1, welkedag close #1 if welkedag == Date() then exit sub dim srcwbk As Workbook dim sht As Worksheet Set srcwbk = Workbooks.Open(filename:="je locatie hier", UpdateLinks:=False) srcwbk.sht.range(....).sort en dan die key ook srcwbk.sht.range(keyrange) Afsluiten kan dan weer met srcwbk.Close savechanges:=true Set srcwbk = Nothing open "locatie/issorted.txt" for output as #1 write #1, Date close #1 |
Echt heel erg bedankt voor de moeite hoor maar ik haak af.quote:Op maandag 15 oktober 2012 11:25 schreef Holy_Goat het volgende:
[..]
Dan zou ik toch met mijn eerdere code de file echt in excel openen, dan de .sort gebruiken en opslaan.
Verder kun je een bestandje ernaast maken bijvoorbeeld issorted.txt en daarin bv de datum van vandaag. Als de datum gisteren is, dan openen en sorteren en datum aanpassen in bestandje. Anders als datum al vandaag is, lekker niet openen en sorteren.
De csv wordt dagelijks gemaakt, toch?quote:Op maandag 15 oktober 2012 11:36 schreef Frixel het volgende:
[..]
Echt heel erg bedankt voor de moeite hoor maar ik haak af.
Dit gaat me te ver om te snappen!
Foutje van mij maar wekelijkse update en bestand word vervangen door bestaand bestand met dezelfde naam.quote:Op maandag 15 oktober 2012 13:43 schreef qu63 het volgende:
[..]
De csv wordt dagelijks gemaakt, toch?
Kan je niet een macro schrijven die eerst checkt of er al een .xlsx is (die dus netjes gesorteerd opgeslagen is), en zo niet deze aanmaakt? En dat deze dus netjes op volgorde gemaakt wordt.
En dan ook nog een check op datum, verwijder alle .xlsx-bestanden die niet van vandaag zijn ofzo?
Nou ja, dan kan mijn verhaal nog steeds, maar dan wekelijksquote:Op maandag 15 oktober 2012 13:47 schreef Frixel het volgende:
[..]
Foutje van mij maar wekelijkse update en bestand word vervangen door bestaand bestand met dezelfde naam.
Tja, makkelijker gezegt dan gedaan...quote:Op maandag 15 oktober 2012 13:50 schreef qu63 het volgende:
[..]
Nou ja, dan kan mijn verhaal nog steeds, maar dan wekelijks
Met je macro de bestandsdatum van je csv controleren, als die nieuwe is dan je xslx een nieuw xlsx maken, zo niet dan gebruik je de netjes gesorteerde xlsx
Volgens mij is de grote fout die je maakt, dat je je object niet aan een variabele koppelt. Je moet in mijn ogen iets in deze trant ondernemen:quote:Op maandag 15 oktober 2012 09:20 schreef Frixel het volgende:
Ik kom er nog steeds niet uit met onderstaande macro.
Mijn probleem is dat de file .bestand niet fysiek geopend dient te worden en dat likt dan ook met de optie GetObject ("P:\bestand.csv")
Daardoor is het wel aktief en zichtbaar in VBA.
Dan moet het bestand dus gesorteerd worden (kolom H) en dat wil maar niet lukken als het bestand fysiek door excel geopend is.
1 2 3 4 5 6 7 | Sub test() Dim xl As Excel.Application Dim a As String Set x1 = GetObject("P:\bestand.csv") a = x1.Sheets("Blad1").Range("A1").Value x1.Close End Sub |
Het verhaal is wat lastig te volgen en ook niet te controleren van afstand. Wellicht gebruik je dezelfde bestandsnamen waardoor excel naar het verkeerde geopende bestand blijft kijken. In mijn ogen dien je de registratie van je (bron)prijzen te veranderen. Je zou niet afhankelijk moeten zijn van de oude versie, er dient 1 volledige juiste versie te zijn. Dit kan je bijvoorbeeld realiseren door gebruik te maken van de datum wanneer je prijzen muteert en de datum van je verkoop.quote:
Nope, maar volgens mij kan je dat beter met Visio doen, die kan ook Excel als input verwerken.quote:Op donderdag 18 oktober 2012 16:47 schreef kostertim het volgende:
Iemand al eens geprobeerd om een organogram te maken vanuit een draaitabel? (Excel 2010)
Ja klopt inderdaad wel denk ik, hebben we alleen niet geïnstalleerd staan op onze werk pc's. Heb het besteld, bedankt voor je tip!quote:Op vrijdag 19 oktober 2012 22:21 schreef qu63 het volgende:
[..]
Nope, maar volgens mij kan je dat beter met Visio doen, die kan ook Excel als input verwerken.
document sluiten en weer opnieuw openen.quote:Op dinsdag 23 oktober 2012 13:15 schreef SummerBreeze het volgende:
Topic niet doorgelezen, excuus als het antwoord al ergens staat.
Excel 2007. Ik heb een koptekst toegevoegd en daarna wil ik mijn spreadsheet weer zien zoals gebruikelijk. Ik druk dus op de knop 'normaal' onder het tabblad 'Beeld'. Helaas krijg ik dan de printmargelijnen te zien. Aangezien ik de huidige sheet wil gaan gebruiken in een presentatie wil ik die stippellijn niet hebben. Hoe krijg ik deze weg?
Dat ik daar nou niet aan gedacht heb... Heel erg stom.quote:Op dinsdag 23 oktober 2012 13:25 schreef Deetch het volgende:
[..]
document sluiten en weer opnieuw openen.
graag gedaanquote:Op dinsdag 23 oktober 2012 13:27 schreef SummerBreeze het volgende:
[..]
Dat ik daar nou niet aan gedacht heb... Heel erg stom.
Dank je wel in ieder geval
Dat zou moeten kunnen werken inderdaad. Helaas maak ik het op een 2007-versie. De doel-pc draait Office 2012 als t goed is..quote:Op donderdag 25 oktober 2012 14:39 schreef Deetch het volgende:
Misschien met deze add-in: http://www.microsoft.com/en-us/download/details.aspx?id=15011
Ik ga wel even spelen, thanks En jij ook Deetchquote:Op donderdag 25 oktober 2012 18:12 schreef ralfie het volgende:
Je zou eigenlijk zelf een algoritme moeten schrijven, bijvoorbeeld door gebruik te maken van een zogenaamde metafoon index
http://en.wikipedia.org/wiki/Metaphone
Qua werk valt het wel mee, en je hoeft niet te neuken met *tjes etc. Even een functie schrijven in vba en je bent klaar. In de wikipedia referenties staan nog wat bronnen genoemd waaronder een implementatie in vba. Ik zou zeggen, probeer het eens. Je zult wel de metafoon bibliotheek moeten veranderen naar het nederlands, wellicht dat er een nederlandse versie op het internet rondwaart.
http://nodexl.codeplex.com/quote:NodeXL is a free, open-source template for Microsoft® Excel® 2007 and 2010 that makes it easy to explore network graphs. With NodeXL, you can enter a network edge list in a worksheet, click a button and see your graph, all in the familiar environment of the Excel window.
Ik kom net achter deze plugin: http://research.microsoft(...)6-a06c-b609df29756f/quote:Op donderdag 18 oktober 2012 16:47 schreef kostertim het volgende:
Iemand al eens geprobeerd om een organogram te maken vanuit een draaitabel? (Excel 2010)
Misschien dat je er wat aan hebt?quote:Microsoft Treemapper with Excel Add-In
Treemapper is an Excel Add-In that allows an Excel user to quickly and easily generate a treemap visualization of any hierarchical data in Excel, or from a CSV or XML file. Treemapper is based on the Data Visualization Components also available from this group.
http://research.microsoft(...)8-9ebc-c3e9b43a0683/quote:Excel 2007 Web Data Add-In
The Excel 2007 Web Data Add-In makes it easy to use a Web page as a data source in Excel. The add-in plugs into Excel 2007 seamlessly, its entry point located on the Data Tab under the From Web option. The system extracts data by learning from a user’s selection of data they wish to capture into Excel.
http://research.microsoft(...)6-9df2-109dbb8d0867/quote:WinMine Toolkit
The WinMine Toolkit contains a set of tools that allow you to build statistical models from data.
Je zou een macro kunnen scrhijven om de rijen waar de waardering van de vraag gegeven wordt verplaatst achter de antwoord rij, daarna werkt je verticaal zoeken wel.quote:Op vrijdag 26 oktober 2012 17:31 schreef draadstalig het volgende:
Ik moet voor iemand een analyse over een enquete houden. Nu is de enquete al afgenomen en hebben de mensen de mogelijkheid gehad om over 20 vragen een beoordeling van uitstekend t/m slecht en waardering van zeer belangrijk tot onbelangrijk te geven. Jammer genoeg heeft de maker van de enquete geen rekening gehouden met de analyse-fase. Hoe kan ik het beste een uitslag eruit halen hoevaak een bepaald antwoord is gegegeven op een bepaalde vraag. Bv hoevaak hebben mensen op vraag 1 uitstekend gezegd. Als bijlage een voorbeeld.
ik dacht zelf al de X veranderen door een 1, maar vervolgens loop ik helemaal vast. Aantal.als kan niet, verticaal zoeken niet. HELLUP
http://speedy.sh/amBPR/1enquete.xls
Zet in J2 de volgende formule:quote:Op vrijdag 26 oktober 2012 17:31 schreef draadstalig het volgende:
Ik moet voor iemand een analyse over een enquete houden. Nu is de enquete al afgenomen en hebben de mensen de mogelijkheid gehad om over 20 vragen een beoordeling van uitstekend t/m slecht en waardering van zeer belangrijk tot onbelangrijk te geven. Jammer genoeg heeft de maker van de enquete geen rekening gehouden met de analyse-fase. Hoe kan ik het beste een uitslag eruit halen hoevaak een bepaald antwoord is gegegeven op een bepaalde vraag. Bv hoevaak hebben mensen op vraag 1 uitstekend gezegd. Als bijlage een voorbeeld.
ik dacht zelf al de X veranderen door een 1, maar vervolgens loop ik helemaal vast. Aantal.als kan niet, verticaal zoeken niet. HELLUP
http://speedy.sh/amBPR/1enquete.xls
1 | =ALS(HORIZ.ZOEKEN($I$2;B2:G3;2;ONWAAR)="X";1;0) |
1 | =SOM.ALS(J:J;"<>#N/B") |
Geprobeerd, maar dit is geen geldige formule.quote:Op dinsdag 30 oktober 2012 10:04 schreef Jesse_ het volgende:
countif(OR(DU>8;R="E";R="F";R="G";R="H";))
Zou zoiets niet werken?
Je hebt gelijk. Geen idee hoe je dit zou kunnen doen, zonder een macro.quote:Op dinsdag 30 oktober 2012 10:37 schreef Saekerhett het volgende:
[..]
Geprobeerd, maar dit is geen geldige formule.
Dat is ook logisch aangezien je verkeerd verwijst naar de kolom.quote:Op dinsdag 30 oktober 2012 10:37 schreef Saekerhett het volgende:
[..]
Geprobeerd, maar dit is geen geldige formule.
Bedankt voor je uitgebreide uitleg! In kolom R heb ik alleen 'A', 'B'.... 'G', 'H' staan, dus geen kruisje. En van die acht verschillende letters, moeten er dus vier geteld worden (E, F, G, H).quote:Op dinsdag 30 oktober 2012 12:47 schreef Deetch het volgende:
Met sumproduct kun je dat allemaal in 1 keer doen:
=SUMPRODUCT((DU2:DU250>9)+(R2:R250<>""))-SUMPRODUCT((DU2:DU250>9)*(R2:R250<>""))
De eerste sumproduct telt op voor welke rijen het criterium DU>9 geldt of waar R niet leeg is. Deze neemt dus de dubbelingen mee. OF doe je dus met een +
De tweede sumproduct telt alleen de rijen waarin geldt dat zowel DU>9 als R is niet leeg. Dit zijn de dubbelingen
Door nu het aantal dubbelingen af te trekken van het totaal inclusief dubbelingen houdt je alleen het aantal rijen over waar of DU>9 of R <> leeg of allebei geld..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | R DU A 4 F 9 F 1 G 2 A 2 B 3 C 1 C 6 E 10 F 4 E 3 E 5 D 5 H 6 H 9 C 11 F 7 |
1 2 3 4 | Ma Di Wo Do Vr Total Workload 20 18 19 21 22 ? Handled items 19 18 18 20 20 ? Open items 1 0 1 1 2 ? |
1 2 3 4 | Ma Di Wo Do Vr Total Workload 0 50 71 0 85 ? Handled items 0 30 40 0 85 ? Open items 0 20 31 0 0 ? |
Bedankt Deetch! Krijg nu nog een #N/A-fout btw, maar de formule lijkt op zich te kloppenquote:Op dinsdag 30 oktober 2012 14:41 schreef Deetch het volgende:
@Saekerhett:
Zo dan?
=SUMPRODUCT(--(DU2:DU250>8))+SUMPRODUCT(--(R2:R250={"E","F","G","H"}))-SUMPRODUCT((DU2:DU250>8)*(R2:R250={"E","F","G","H"}))
Bovenstaande formule moet je zelf even aanpassen voor andere ranges
Dank je, ik kijk even.quote:Op dinsdag 30 oktober 2012 15:51 schreef Deetch het volgende:
Dan heb je ws. nog ergens een fout in de formule. In deze link staat hoe je een en ander kunt oplossen. Je kunt dan nl. zien wat de fout veroorzaakt.
http://office.microsoft.c(...)ror-HP005203936.aspx
Klopt, hier heb ik een Engelse Office 2010.quote:Trouwens ik ben steeds uitgegaan van office 2007 of 2010 met engels als taal, dat klopt toch?
Zal dat ook eens proberen. Maar een #N/A-fout betekent toch wel dat in elk geval de structuur van de formule klopt?quote:Variaties met de tekst tussen accolades { } die ik wel eens ben tegengekomen is:
{"E"\"F"\"G"\"H"}
Dit net gedaan en ik kreeg geen foutmelding meer! Alleen klopt de waarde niet. Ik krijg nu het getal 41 te zien, terwijl er 1 moet komenquote:Op dinsdag 30 oktober 2012 15:51 schreef Deetch het volgende:
Variaties met de tekst tussen accolades { } die ik wel eens ben tegengekomen is:
{"E"\"F"\"G"\"H"}
Wat voor waarde geven de afzonderlijke delen van de formule? Zelf even de goeie syntax gebruiken.quote:Op dinsdag 30 oktober 2012 16:09 schreef Saekerhett het volgende:
[..]
Dit net gedaan en ik kreeg geen foutmelding meer! Alleen klopt de waarde niet. Ik krijg nu het getal 41 te zien, terwijl er 1 moet komen
Deze geeft 39, terwijl het 1 moet zijn.quote:Op dinsdag 30 oktober 2012 17:43 schreef Deetch het volgende:
[..]
Wat voor waarde geven de afzonderlijke delen van de formule? Zelf even de goeie syntax gebruiken.
sumproduct --DU>8 :
Deze geeft 1, en dat klopt, dus dit deel is goed!quote:sumproduct R=E\F\G\H :
Deze geeft de #N/A-fout.quote:sumproduct R=E,F,G,H :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 0 3 1 8 2 3 3 9 4 8 5 5 6 5 7 1 8 5 9 0 10 0 11 0 12 1 13 0 14 0 15 0 16 0 |
Je hebt helemaal gelijk. Ik moest handmatig de kolom DU converteren naar nummers, en nu werkt het perfectquote:Op woensdag 31 oktober 2012 10:04 schreef Deetch het volgende:
De cellen in kolom DU moeten wel echte getallen bevatten en geen tekst. Een getal kan ook als tekst in je kolom staan. Dan staat hij meestal links uitgelijnd. Getallen staan standaard rechts uitgelijnd. Dit kun je checken door de functie =ISTEXT(celverwijzing) of =ISNUMBER(celverwijzing)
Als er tekst in een cel staat telt deze ook als meer dan 8, een spatie is ook tekst
Als er een formule staat waarvan de uitkomst een lege teksttring is (zoals: =IF(B5="","","") ) telt deze ook als meer dan 8. "" betekent namelijk een tekststring met lengte 0.
tja dat is de wondere wereld van office 2010 waarin de software voor de gebruiker denkt ook als hij dat niet wilquote:Op woensdag 31 oktober 2012 10:16 schreef Saekerhett het volgende:
[..]
Je hebt helemaal gelijk. Ik moest handmatig de kolom DU converteren naar nummers, en nu werkt het perfect
Maar wel gek, want ik had al heel vaak de hele kolom geselecteerd en het format op number gezet. Geen idee waarom hij dit telkens weer omzet naar tekst.
Zal nog wel even verder zoeken of dat een optie in Excel 2010 in, maar voor nu hartstikke bedankt!quote:Op woensdag 31 oktober 2012 10:35 schreef Deetch het volgende:
[..]
tja dat is de wondere wereld van office 2010 waarin de software voor de gebruiker denkt ook als hij dat niet wil
Maar fijn dat het nu werkt.
1 2 3 4 5 | 1 3511MR 2 2233RL 1 3511MR 1 1234LL 2 2233RL |
nee hoeft niet automatisch.. Maar dit werkt niet natuurlijk... stel ik voeg ze beide samen ( 95K + 80K).. haal alle dubbele er uit, dan zit ik weer met 95K want ik heb immers 80K dubbele toegevoegd.. Terwijl ik de 15K unieke wil hebbenquote:Op vrijdag 2 november 2012 11:22 schreef Hiya het volgende:
Móet het automatisch gebeuren? Anders zou je de eerste kolom onder de tweede kolom kunnen kopiëren. Daarna via data remove doubles selecteren.
ik begrijp het niet helemaal.. Misschien was mijn voorbeeld ook heel slecht.. even een beter voorbeeld:quote:Op vrijdag 2 november 2012 11:36 schreef DaFan het volgende:
Als het maar eenmalig even hoeft is het makkelijkst om in kolom B, als alles onder elkaar staat in A, te tellen hoe vaak A1 voorkomt in hele kolom A en dat doortrekken. Daarna filteren waar er 1 staat.
Pivot Table zou moeten werken-quote:Op vrijdag 2 november 2012 11:26 schreef RanTheMan het volgende:
[..]
nee hoeft niet automatisch.. Maar dit werkt niet natuurlijk... stel ik voeg ze beide samen ( 95K + 80K).. haal alle dubbele er uit, dan zit ik weer met 95K want ik heb immers 80K dubbele toegevoegd.. Terwijl ik de 15K unieke wil hebben
Oh nog makkelijker, dan doe je in kolom Dquote:Op vrijdag 2 november 2012 11:51 schreef RanTheMan het volgende:
[..]
ik begrijp het niet helemaal.. Misschien was mijn voorbeeld ook heel slecht.. even een beter voorbeeld:
naam a naam B naam C
11 11 11
11 11 11
22 222 22222
22 222 22222
5555 555 555
5555 555 555
444 555 444
als ik beide lijsten onder elkaar zet.. en sorteer krijg ik zoiets.. ik wil alleen de rij 444 555 444 overhouden.. Maar ik kom er niet uit
1 | =A1=B1=C1 |
als je de data sorteert op de linker kolom kun je het vrij eenvoudig handmatig doen, zeker als het een malig moet gebeuren.quote:Op vrijdag 2 november 2012 09:55 schreef Regenbui het volgende:
Gents,
Na heel wat pogingen met vlookup, match en index kom ik er toch niet uit. Onderstaand twee kolomen met in kolom A een nummering en in B een postcode. Nu wil ik controleren of alle cellen in kolom A met een waarde van 1, dezelfde naastliggende waarde (postcode) in kolom B hebben.
Maar..., zodra ik de formule naar beneden trek en in kolom A een nieuwe waarde tegenkom (2 in dit geval) hij controleert of alle waarde met 2 in kolom A, dezelfde naastliggende waarde in kolom B hebben. Is dit mogelijk?
[ code verwijderd ]
nee dat klopt niet want abc zijn niet per definitie gelijk aan elkaar.. t ging om gelijke rijen.. maar ik heb t opgelost met een sql oplossingquote:Op vrijdag 2 november 2012 17:55 schreef DaFan het volgende:
[..]
Oh nog makkelijker, dan doe je in kolom D
[ code verwijderd ]
En filter je daarna op ONWAAR.
Ik gok dat het zal komen door de < en >. Maak er eens 0-25 en 50-99 van? (Of 50-150)..quote:Op zondag 4 november 2012 13:35 schreef einzeinz het volgende:
Ik geraak gedemotiveerd van Excel. Het programma doet niet wat het moet doen.
Kan iemand me helpen of uitleg geven? Eén van de vragen is de volgende.
Geef aan in welke leeftijdscategorie u thuishoort
<25 / 7 / 4%
25-30 / 34 / 20%
30-35 / 38 / 22%
35-40 / 25 / 15%
40-45 / 23 / 13%
45-50 / 17 / 10%
>50 / 28 / 16%
Vraag is duidelijk denk ik? Kolom 2 zijn de aantal ingevulde en kolom 3 is het percentage.
Nu zou ik dus graag kolom 1 en 2 hebben om een grafiek te maken, ik kies een staafgrafiek.
Maar dan gooit Excel ineens alles om en is >50 de eerste en <25 de laatste in de grafiek. En dan begin ik pietje precies en wil ik de gegevens zoals ik ze opgeef maar een mogelijkheid om de selectie om te draaien is er niet.
Mijn grafiek moet met <25 beginnen en met >50 eindigen.
Ik zoek er nu al 6 uur op maar heb nog geen antwoord gevonden, wie helpt me?
Waarom verdraait Excel de gegevens in de grafiek?
Wat moet de output worden??quote:Op vrijdag 2 november 2012 09:55 schreef Regenbui het volgende:
Gents,
Na heel wat pogingen met vlookup, match en index kom ik er toch niet uit. Onderstaand twee kolomen met in kolom A een nummering en in B een postcode. Nu wil ik controleren of alle cellen in kolom A met een waarde van 1, dezelfde naastliggende waarde (postcode) in kolom B hebben.
Maar..., zodra ik de formule naar beneden trek en in kolom A een nieuwe waarde tegenkom (2 in dit geval) hij controleert of alle waarde met 2 in kolom A, dezelfde naastliggende waarde in kolom B hebben. Is dit mogelijk?
[ code verwijderd ]
Oude excel, of gesaved als xls ipv xlsx?quote:Op dinsdag 6 november 2012 08:32 schreef Holy_Goat het volgende:
Irritant!
Wil ik een kolom toevoegen met een macro; mag het niet. 'To prevent loss of data .... you try to shift non blank cells off the sheet blbalabla' zoiets.
Echter, ik heb vanaf kolom AB niets meer in het werkblad staan.
Ik heb ook geen afbeeldingen, niets.
Er staat ook nog iets als: or define what blank cells are in the settings etc. Maarja, dat kan ik nergens vinden. Hulp?
nieuwe Excel. Met de hand alle ovrrbodigeo kolommen verwijderen en daarna met de hand kolom invoegen werkt ook nietquote:Op dinsdag 6 november 2012 08:44 schreef Basp1 het volgende:
[..]
Oude excel, of gesaved als xls ipv xlsx?
Tot 2003 had je maar 65535 rijen, daarna zo goed als onbeperkt.
Ook zou je anders in je macro gewoon eerst de laatste rij laten verwijderen als er toch niets staat.
1 | = SMALL(IF(Rooster!D$4:D$58=1;ROW(Rooster!D$4:D$58));ROW(1:1)) |
1 | =SMALL(IF(Rooster!$D4:$AI4=1;COLUMN(Rooster!$D4:$AI4));??) |
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.En ja, Transpose nemen van de huidige tabel op een extra worksheet zou ook een oplossing zijn.
NVM. Hij deed het gewoon, had alleen niet door dat de eerste waarde een #NUM error zou gaan geven.
[ Bericht 2% gewijzigd door Ofresca op 15-11-2012 23:34:33 ]
Er van uitgaande datquote:Op dinsdag 20 november 2012 14:37 schreef hello_moto1992 het volgende:
Ik heb een overzicht van lengte en hoogte resp. een andere hoogte
Dus
lengte - hoogte1
1 - 43
2 - 34
3 - 94
4 - 6
5 - 92
En
lengte - hoogte2
2 - 34
3 - 20
5 - 60
6 - 45
7 - 50
Nu wil ik dat dit wordt:
1 - 43 - (leeg)
2 - 34 - 34
3 - 94 - 20
4 - 6 - (leeg)
5 - 92
6 - (leeg)
7 - (leeg) - 60
Weet iemand hoe ik dit het beste kan aanpakken?
Op een nieuw tabblad alle dagen van t jaar in kolom A zetten. In kolom B dvm vert/horiz.zoeken (ligt aan de opbouw van je tabel) bij iedere dag kijken of er meterstanden beschikbaar zijn. Zelfde voor kolom C, maar dan voor gas.quote:Op woensdag 21 november 2012 16:44 schreef davidvp01 het volgende:
Ik heb een excelfile, waarin ik mijn energie en gasstanden bijhoud.
Hier wil ik een grafiek/staafdiagram van maken, van verbruik van bijvoorbeeld om de 7 dagen.
ik houd niet precies iedere 7 dagen bij (soms iedere dag, soms weer 2 weken niet), dus grafiek mag een gemiddelde berekenen, wat hij die betreffende dag weer geeft.
Kom er niet uit hoe ik dit het beste kan doen, blijf steeds haken op de gemeten standen en dagen. En kan dus niet de interval instellen, met de "geschatte" standen.
Wie kan me helpen?
Het bestand.
Excel 2007, regional settings: dutch.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | A B C D noord q2 groente ¤ 1.000,00 noord q4 fruit ¤ 2.000,00 zuid q1 vlees ¤ 4.000,00 oost q4 vlees ¤ 1.000,00 west q4 groente ¤ 2.000,00 west q3 groente ¤ 1.000,00 oost q3 fruit ¤ 5.000,00 oost q2 fruit ¤ 7.000,00 zuid q3 groente ¤ 6.000,00 oost q1 vlees ¤ 3.000,00 noord q2 fruit ¤ 2.000,00 noord q2 groente ¤ 1.000,00 |
Geen idee of t werkt (en te brak om het in te voeren), maar probeer eens C14 (groente) te vervangen door OF("groente";"fruit")?quote:Op woensdag 21 november 2012 22:55 schreef Holenbeer het volgende:
Ik ben een beetje met excel aan het kloten om mijn skills wat te updaten. Dit omdat ik momenteel aan het solliciteren ben en wel eens de vraag krijg hoe goed ik met excel ben. Dit ben ik voor mijzelf even wat aan het opfrissen. Ik werk overigens met de 2010 versie
hierbij een vraag over de functie SOMMEN.ALS en de criteria
op internet bij de uitleg kwam ik de volgende data tegen (die ik zelf wat uitgebreid heb)
[ code verwijderd ]
nu is het voor mij wel duidelijk hoe ik met de SOMMEN.ALS functie een totaal bedrag van 1 type eten in 1 kwartaal uit 1 regio krijg, maar krijg ik het niet voor elkaar om een totaal bedrag te krijgen van bijvoorbeeld groente en fruit in een bepaalde periode.
De criteria in rij 14 zijn bij mij een dropdown menu's en de formule achter D14 is bij mij =SOMMEN.ALS(D2:D12;C2:C12;C14;B2:B12;B14;A2:A12;A14)
iemand die mij de goede richting in kan sturen?
Als ik bij de criteria niet naar een andere cell verwijs maar met "groente" werk, is er dan een manier om meerdere etenswaren te pakken?
Om de groente fruit optie toe te voegen aan je sumifs moet je een trucje met arrays uitvoeren.quote:Op donderdag 22 november 2012 00:16 schreef Holenbeer het volgende:
thanks voor de suggestie, maar het is niet de oplossing.
Ik verwacht ook eerder dat het iets is met de term "AND"
ik heb in de formule C14 al eens vervangen voor verschillende combinaties met de strekking groente and fruit, maar nog niet de oplossing gevonden.
ook als criterium meerdere cellen selecteren (bijvoorbeeld c14 en c15 en dan in 1 "groente" zetten en in de ander "fruit" is niet de oplossing.
Iets met vert zoeken alhoewel dat soms problematisch is bij niet gesorteerde kolomen, rij 5 is trouwens alternatief 4 moet dat er niet uit komen.quote:Op maandag 26 november 2012 15:01 schreef draadstalig het volgende:
En min. werkt wel, maar dan krijg ik alleen het getal te zien en niet de naam die daarbij hoort.
Uitgangspunt:quote:Op maandag 26 november 2012 15:11 schreef Janneke141 het volgende:
De kolommen van plaats verwisselen en dan VERT.ZOEKEN(MIN(verw);verw;2;ONWAAR) ?
Ik ben even uitgegaan van dat de bedragen in cellen A3 tm E3 staan en de tekst in cel A2:E2quote:Op maandag 26 november 2012 15:18 schreef draadstalig het volgende:
De kolommen staan als volgt en kan ik niet wisselen:
Huidig Leverancier 1 Leverancier 2 Leverancier 3 etc.
10¤ 20¤ 15¤ 8¤
Indien 8 de goedkoopste is moet er dus Alternatief 3 uitkomen.
welke?quote:
1 2 3 | Public Function RN() As Long value = ActiveWorkbook.BuiltinDocumentProperties(8) End Function |
Nope..quote:
1 2 3 | Public Function RN(ByVal prop As Integer) RN = ActiveWorkbook.BuiltinDocumentProperties(prop) End Function |
1 2 3 4 5 6 7 8 9 10 11 12 13 | Sub tst() On Error Resume Next rw = 1 Worksheets(1).Activate For Each p In ActiveWorkbook.BuiltinDocumentProperties Cells(rw, 1).Value = p.Name Cells(rw, 2).Value = p.Value rw = rw + 1 Next End Sub |
Waar doe ik dat dan? Het is niet hetzelfde als 'wijzigingen bijhouden' iig..quote:Op maandag 26 november 2012 16:45 schreef Deetch het volgende:
optie 8 is je revision number, maar dan moet je dat wel aanzetten voor dit bestand.
hmmz nope, wel van ozgrid, misschien staat ie ook daar?quote:Op maandag 26 november 2012 16:44 schreef qu63 het volgende:
Hmm, met deze code
[ code verwijderd ]
en =RN(1) in Excel krijg ik wel netjes de titel van m'n document te zien.
Blijkbaar werkt de 8e optie (volgens http://msdn.microsoft.com(...)8v=office.12%29.aspx ) dus niet
Iemand al lid van Excelforum.com? Daar schijnt wel een werkende functie te staan.. http://www.excelforum.com(...)erties-on-sheet.html
De property is er blijkbaar nog wel maar hij wordt niet automatisch bijgehouden voor exdcel bestanden. http://support.microsoft.com/kb/214393quote:Op maandag 26 november 2012 16:50 schreef qu63 het volgende:
[..]
Waar doe ik dat dan? Het is niet hetzelfde als 'wijzigingen bijhouden' iig..
Er staan wel werkende voorbeelden, althans volgens de reacties, maar hij blijft bij mij "0" als output geven..quote:Op maandag 26 november 2012 16:52 schreef Deetch het volgende:
[..]
hmmz nope, wel van ozgrid, misschien staat ie ook daar?
Heb de code uit dat document gecopy-pasted, maar helaas zonder resultaat..quote:Op maandag 26 november 2012 16:56 schreef Deetch het volgende:
[..]
De property is er blijkbaar nog wel maar hij wordt niet automatisch bijgehouden voor exdcel bestanden. http://support.microsoft.com/kb/214393
Aan dit document heb je misschien ook iets aan?
http://www.google.nl/url?(...)deWb1L9a1o-xr3CNcEnQ
Volgens mij moet je bij het opslaan het revisie nummer zelf updaten via vba en dan kun je hem uitlezen.
1 2 3 | Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Range("A8") = Range("A8") + 1 End Sub |
Custom format aanmaken "ddd dd mmm"quote:Op dinsdag 27 november 2012 12:17 schreef Chandler het volgende:
Weet iemand hoe ik een datum kan laten zien op de volgende manier
Za 6 juli
?
bij mij doet ie dat automatisch (engelse versie)quote:Op dinsdag 27 november 2012 12:41 schreef Chandler het volgende:
Top! dat werkt inderdaad goed, is er ook nog een mogelijkheid om de v van vrijdag als hoofdletter te krijgen?
Onderstaande codes werken in excel 2010 ook (getest een Deetch approved ;-) ). In principe doet jouw workaround hetzelfde alleen hou je het getal bij in de verborgen gegevens van je spreadsheet in plaats van op cel A8.quote:Op maandag 26 november 2012 22:16 schreef qu63 het volgende:
Workaround gevonden:
[ code verwijderd ]
A8 heb ik nu aangepast opgemaakt met "Versie: "#, nu doet t precies wat ik wilde
1 2 3 4 5 6 7 8 9 10 11 | Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) 'voor het opslaan de revision number met 1 ophogen ActiveWorkbook.BuiltinDocumentProperties(8).Value = ActiveWorkbook.BuiltinDocumentProperties(8).Value + 1 End Sub Private Sub Workbook_Open() 'zet revisie nummer op moment van openen in cel A1 ActiveSheet.Range("A1").Value = "Huidige versie: " & ActiveWorkbook.BuiltinDocumentProperties(8).Value End Sub |
Dan zal hij dat bij een donderdag ook wel niet doen. Niets aan te doen tenzij je zelf een ingewikkelde functie wilt gaan schrijven in vba?quote:
Je kan het ook zonder VBA doen hoor, zelf een matrixje maken met dagnummers in kolom A en dagnamen in kolom Bquote:Op dinsdag 27 november 2012 13:01 schreef Deetch het volgende:
[..]
Dan zal hij dat bij een donderdag ook wel niet doen. Niets aan te doen tenzij je zelf een ingewikkelde functie wilt gaan schrijven in vba?
Hmm, grote kans dat het inderdaad niet werkte omdat ie geen versienummers bij aan het houden was. Jouw variatie doet dat idd wel.quote:Op dinsdag 27 november 2012 13:00 schreef Deetch het volgende:
[..]
Onderstaande codes werken in excel 2010 ook (getest een Deetch approved ;-) ). In principe doet jouw workaround hetzelfde alleen hou je het getal bij in de verborgen gegevens van je spreadsheet in plaats van op cel A8.
Als iemand cel A8 verwijderd en dan opslaat wordt het revisienummer gereset naar 1.
[ code verwijderd ]
Als ik het goed begrijp wil je het volgende:quote:Op woensdag 28 november 2012 15:53 schreef Stickers het volgende:
Hier naartoe verwezen door Deetch... Dus kleine copy paste van mijn topic, zodat het oude gesloten kan worden.
De voorwaardelijke opmaak van Excel is voor mij nog een beetje een raadsel... Daarom probeer ik het hier dus ook.
http://img59.imageshack.us/img59/121/voorbeeldn.jpg (copy/paste deze link) (copy/paste deze link)
Iemand ideeën?
als je tabel er zo uitziet:quote:Op woensdag 28 november 2012 15:59 schreef draadstalig het volgende:
Ik heb weer een mooie..
Ik heb een aantal getallen op rij staan als volgt:
Huidige getal: getal x getal y getal z
Bij de getallen horen personen (bv 1, 2 en 3) Ik wil nu een formule uitzetten waarbij hij het huidige getal vergelijkt met de nieuwe getallen. De kleinste daarvan neemt en daarvan aangeeft of het huidig, persoon 1, 2 of 3 is. De formule werkt, behalve dat wanneer persoon 1, 2 EN 3 geen aanbieding hebben (getal hebben) er alsnog persoon 1 uitkomt.
=ALS(L8<MAX($F8);INDEX($H$6:$K$6;VERGELIJKEN(L8;H8:K8;0));"Current") Dit is hem op het moment en ik ga dus ergens de fout in.
1 2 3 4 | A B C D 1 Current Pers1 Pers2 Pers3 2 5 4 6 8 3 9 13 4 6 |
1 | =INDEX($A$1:$D$1;1;VERGELIJKEN(MIN(A2:D2);A2:D2;0)) |
quote:Op woensdag 28 november 2012 16:20 schreef ralfie het volgende:
[..]
als je tabel er zo uitziet:
[ code verwijderd ]
Kun je de volgende formule gebruiken:
[ code verwijderd ]
Waar A2:D2 het bereik van je rij is.
1 2 3 | Huidige A B C D New price Persoon ¤ 20,00 ¤ 15 ¤ 10 ¤ 5 ¤ 8 ¤ 5 C ¤ 10,00 0 0 0 0 0 A |
Ok nu ben ik al een heel eind. Ik wil echter dat het 'van toepassing op'-bereik zich aanpast aan de hand van de huidige maand. De vorige maanden(gerealiseerde cijfers dus) moeten dus niet opgemaakt worden. alleen vanaf de huidige maand en verderquote:Op woensdag 28 november 2012 16:04 schreef ralfie het volgende:
[..]
Als ik het goed begrijp wil je het volgende:
alle maanden kolommen muv eerste selecteren
Daarna, voorwaardelijke opmaak, 'celwaarde niet gelijk aan' en dan vul je als waarde in de verwijzing naar de eerste cel van de eerste maand.
c'est tout.
Dit gaat het makkelijkste als je twee voorwaardelijke opmaak regels gebruikt.quote:Op woensdag 28 november 2012 17:01 schreef Stickers het volgende:
[..]
Ok nu ben ik al een heel eind. Ik wil echter dat het 'van toepassing op'-bereik zich aanpast aan de hand van de huidige maand. De vorige maanden(gerealiseerde cijfers dus) moeten dus niet opgemaakt worden. alleen vanaf de huidige maand en verder
Of vraag ik nu te veel?
Zelf heb ik al geprobeerd te kloten met adres en index, maar dat wordt een beetje erg complex.
=ADRES(6;VERGELIJKEN(INDEX($A$13:$B$24;VERGELIJKEN($J$1;$B$13:$B$24;0);1);D5:H5;0)+3)
Resultaat = $G$6
Hier heb ik november gebruikt als huidige maand
Waarom moet er B uitkomen? Omdat A3=C2? Ik volg je logica niet.quote:Op woensdag 28 november 2012 16:35 schreef draadstalig het volgende:
[..]
[ code verwijderd ]
`
Korte toelichting. Bij 10 euro huidig en A t.m D hebben geen prijs geeft hij alsnog A aan, en niet B. Formule is momenteel zo opgesteld: =ALS(L8<MAX($F8);INDEX($H$6:$K$6;VERGELIJKEN(L8;H8:L8;0));"Current")
=A1*indirect("Z"&A1)quote:Op vrijdag 30 november 2012 10:37 schreef xyntarsus het volgende:
Goeiemorgen allemaal,
ik heb een (denk ik) vrij simpele vraag, maar ik kom er even niet uit.
ik heb een variabele (7 mogelijkheden) en per mogelijkheid moet de variabele met de waarde uit een cel vermenigvuldigd worden.
Ik kan dit wel in een "als" functie stoppen, maar dat wordt zo onoverzichtelijk.
(als(A1="1";A1*Z1;(als(A1="2";A1*Z2;(als.....)
Kunnen jullie me op weg helpen met een macro'tje hiervoor?
Alvast bedankt
je omshcrijving is niet helemaal duidelijk maar kan het zijn dat de waarde die niet gevonden wordt misschien net iets anders geschreven wordt in de regel waar je hem zou willen vinden?quote:Op donderdag 29 november 2012 10:28 schreef marcb1974 het volgende:
Ik moet een grote zoekactie houden in excel. Omdat dit met 2 voorwaarden moet viel verticaal zoeken af en gebruik ik nu index met vergelijken. Hiermee gaat het zoeken goed.
Echter stopt hij op een bepaald moment en vindt dan niets meer. De waarde die een regel eerder nog gevonden werd is dan ineens niet meer te vinden, aan het eind van het bestand ziet hij ze dan wel weer. Iemand enig idee hoe dat kan? Het is nu een bestand van ruim 16.000 regels, maar dat gaan er meer worden.
Ik werk in excel 2007.
AHA! Dan heb je vert.zoeken nodigquote:Op vrijdag 30 november 2012 11:30 schreef xyntarsus het volgende:
die begrijp ik niet helemaal, wellicht ook dat ik mijn voorbeeld achteraf gezien verkeerd geformuleerd heb.
de waardes die ik in een cel invul (niet persé A1 dus) zijn vooraf vastgestelde lengtes
(600-900-1250-1600-1800-2400-3000) en hier moet uit een andere cel een prijs aangehangen worden.
(die weer uit een extern bestand komt)
das wat ik eigenlijk probeer te maken is iets dat kijkt welke lengte er ingevoerd is, vervolgens in een lijstje kijkt welke prijs erbij hoort en tot slot vermenigvuldigd met een in een andere cel vaststaand (niet variabel) aantal
ja hoor een pulldown menu is ook maar gewoon een getalquote:Op vrijdag 30 november 2012 11:46 schreef xyntarsus het volgende:
thx dit lijkt het idd te zijn.
werkt dit overigens ook met een pulldown menu?
(dan kan ik voorkomen dat mensen de verkeerde waarde invullen)
1 | [ss].000 |
De waarden zijn allemaal gelijk, komen uit 1 bestand. Er staan geen spaties voor of achter, geen afrondingen, het zijn verrichtingscodes.quote:Op vrijdag 30 november 2012 11:32 schreef Deetch het volgende:
[..]
je omshcrijving is niet helemaal duidelijk maar kan het zijn dat de waarde die niet gevonden wordt misschien net iets anders geschreven wordt in de regel waar je hem zou willen vinden?
Misschien staat er stiekem een spatie voor of achter?
Is het getal afgerond?
Kun je een voorbeeld geven van je functie en waarop het dan mis gaat?
Kan het zijn dat het mis gaat in de ALS functie?quote:Op maandag 3 december 2012 09:23 schreef marcb1974 het volgende:
[..]
De waarden zijn allemaal gelijk, komen uit 1 bestand. Er staan geen spaties voor of achter, geen afrondingen, het zijn verrichtingscodes.
De functie is: {=INDEX('DBC Services'!C:C;VERGELIJKEN(Factuur!B6994;ALS('DBC Services'!B:B=Factuur!C6994;'DBC Services'!A:A);0))}
Dan zou het atlijd fout moeten gaan. En nu gaat het maar voor een deel fout. Dat is het deel waar ik dus tegenaan blijf lopen.quote:Op maandag 3 december 2012 09:42 schreef Deetch het volgende:
[..]
Kan het zijn dat het mis gaat in de ALS functie?
Als namelijk de voorwaarde niet klopt dan heb je geen array om de waarde van vergelijken in te zoeken waardoor je geen rijnummer hebt voor je INDEX functie.
Het gaat alleen fout als Factuur!C6994 niet in 'DBC Services'!B:B zou staan of als Factuur!B6994 niet in 'DBC Services'!A:A staatquote:Op maandag 3 december 2012 09:43 schreef marcb1974 het volgende:
[..]
Dan zou het atlijd fout moeten gaan. En nu gaat het maar voor een deel fout. Dat is het deel waar ik dus tegenaan blijf lopen.
Het is een bestand dat bestaat uit veel zich herhalende waarden. Zowel in A:A als B:B. De kans dat een waarde niet voorkomt in 'DBC Services' is hierdoor klein. Van de waarden die inderdaad niet voorkomen weten we welke dat zijn en verwachten we ook een #N/B.quote:Op maandag 3 december 2012 09:49 schreef Deetch het volgende:
[..]
Het gaat alleen fout als Factuur!C6994 niet in 'DBC Services'!B:B zou staan of als Factuur!B6994 niet in 'DBC Services'!A:A staat
Soms helpt het om de functie uit te splitsen om te zien welk deel verkeerd lopt. Dus eerst een kolom met de ALS-functie, dan de VERGELIJKEN en dan de INDEX.
Wat gebeurt er als je de spreadsheet opnieuw opbouwt vanuit een lege spreadsheet?quote:Op maandag 3 december 2012 10:11 schreef marcb1974 het volgende:
[..]
Het is een bestand dat bestaat uit veel zich herhalende waarden. Zowel in A:A als B:B. De kans dat een waarde niet voorkomt in 'DBC Services' is hierdoor klein. Van de waarden die inderdaad niet voorkomen weten we welke dat zijn en verwachten we ook een #N/B.
Het probleem zit hem echt erin dat hij een deel (van rij 6980 tm 14664) altijd als #N/B geeft. Een heel aantal van de waarden uit die range is handmatig opgezocht en staat er netjes in. Zonder spaties, afronden, etc.
Ik zoek echt naar het rare, in de formule opzich zit, voor zover wij hier weten, niets fout.
1 2 3 4 5 6 7 | Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Range("IN1") = Range("IN1") + 0.1 End Sub Private Sub Save_File() ActiveWorkbook.SaveAs "C:\Users\Sven\School\Hoofdfase\Afstuderen\Planning\Planning Afstuderen - " & Format(Date, "dd-mm-yyyy") & ".xlsm" End Sub |
Ik ga het eens proberenquote:Op maandag 3 december 2012 12:06 schreef Deetch het volgende:
[..]
Wat gebeurt er als je de spreadsheet opnieuw opbouwt vanuit een lege spreadsheet?
Dus alle "kale" data (alles wat puur getal of tekst zou moeten zijn en geen resultaat van formules) kopieren en dan plakken speciaal als waarden en vervolgens de kolommen met formules opnieuw maken?
syntax:quote:Op maandag 3 december 2012 12:31 schreef qu63 het volgende:
Wat is er niet goed aan deze VBA-code?
[ code verwijderd ]
Ik wil dat iedere keer dat ik bestand opsla cel IN1 met 0,1 verhoogd wordt (het versienummer) en dat het bestand daarna (ook) opgeslagen wordt in "C:\Users\Sven\School\Hoofdfase\Afstuderen\Planning\" als "Planning Afstuderen - 03-12-2012.xlsm" in dit geval.
1 | Range("IN1").value = Range("IN1").value + 0.1 |
Dat stuk code werkt juist probleemloos op de manier zoals het in mijn post staat, het tweede deel doet t nietquote:Op maandag 3 december 2012 16:29 schreef Deetch het volgende:
[..]
syntax:
range("IN1") betekent een cel adres
range("IN1").value betekent de waarde van de cel met adres IN1
je code moet dus worden:
[ code verwijderd ]
Waar roep je de sub aan dan?quote:Op maandag 3 december 2012 17:49 schreef qu63 het volgende:
[..]
Dat stuk code werkt juist probleemloos op de manier zoals het in mijn post staat, het tweede deel doet t niet
Die staat in ThisWorkbook, niet onder modules.quote:
Nee, je moet in je beforesafe zoiets doenquote:Op maandag 3 december 2012 18:56 schreef qu63 het volgende:
[..]
Die staat in ThisWorkbook, niet onder modules.
Verder geen verwijzing naar die sub, dacht dat ie op dezelde manier zou werken als Workbook_BeforeSafe()
1 2 3 4 5 6 | sub Workbook_BeforeSafe( blah blah) application.enableevents = false cancel=true workbook.saveas naamvanjewerkboek.xls application.enableevents = true end sub |
Nee natuurlijk niet, het is nu gewoon een macro. Die moet je wel aanroepen.quote:Op maandag 3 december 2012 18:56 schreef qu63 het volgende:
[..]
Die staat in ThisWorkbook, niet onder modules.
Verder geen verwijzing naar die sub, dacht dat ie op dezelde manier zou werken als Workbook_BeforeSafe()
Top, die werktquote:Op maandag 3 december 2012 19:24 schreef ralfie het volgende:
[..]
Nee, je moet in je beforesafe zoiets doen
[ code verwijderd ]
Waarom werkte Private Sub Workbook_BeforeSave() dan wel Deze werd nergens aanders aangeroepen..quote:Op maandag 3 december 2012 19:24 schreef DaFan het volgende:
[..]
Nee natuurlijk niet, het is nu gewoon een macro. Die moet je wel aanroepen.
bepaalde events in vba worden automatisch aangeroepen. Workbook_open wordt aangeroepen wanneer het object Workbook het 'open' event triggered. Je kunt niet zomaar subs toevoegen en verwachten dat excel/vba zomaar weet wanneer die het moet runnen.quote:Op maandag 3 december 2012 19:47 schreef qu63 het volgende:
[..]
Waarom werkte Private Sub Workbook_BeforeSave() dan wel Deze werd nergens aanders aangeroepen..
Ik vond die safe_file() code ergens en ging er van uit dat die op dezelfde manier werkte als Workbook_BeforeSafe()quote:Op maandag 3 december 2012 19:51 schreef ralfie het volgende:
[..]
bepaalde events in vba worden automatisch aangeroepen. Workbook_open wordt aangeroepen wanneer het object Workbook het 'open' event triggered. Je kunt niet zomaar subs toevoegen en verwachten dat excel/vba zomaar weet wanneer die het moet runnen.
bovenaan de code editor staan van die leuke dropdown menuutjes die je altijd per ongeluk indrukt, maar die eigenlijk WEL handig zijn als je een event nodig hebt.quote:Op maandag 3 december 2012 19:58 schreef qu63 het volgende:
[..]
Ik vond die safe_file() code ergens en ging er van uit dat die op dezelfde manier werkte als Workbook_BeforeSafe()
My bad
Sven tochquote:Op maandag 3 december 2012 19:58 schreef qu63 het volgende:
[..]
Ik vond die safe_file() code ergens en ging er van uit dat die op dezelfde manier werkte als Workbook_BeforeSafe()
My bad
Sorry... Lui hequote:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Public Function FileFolderExists(strFullPath As String) As Boolean On Error GoTo EarlyExit If Not Dir(strFullPath, vbDirectory) = vbNullString Then FileFolderExists = True EarlyExit: On Error GoTo 0 End Function Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Range("IN1") = Range("IN1") + 0.1 Application.EnableEvents = False Cancel = True If FileFolderExists("C:\Users\Sven\School\Hoofdfase\Afstuderen") Then ActiveWorkbook.SaveAs "C:\Users\Sven\School\Hoofdfase\Afstuderen\Planning\Planning Afstuderen - " & Format(Date, "dd-mm-yyyy") & " - " & Format(TimeSerial(Hour(Now()), Minute(Now()), Second(Now())), "hh-mm-ss") & ".xlsm" Application.DisplayAlerts = False ActiveWorkbook.SaveAs "C:\Users\Sven\School\Hoofdfase\Afstuderen\Planning Afstuderen.xlsm" Application.DisplayAlerts = True Application.EnableEvents = True Else Application.Dialogs(xlDialogSaveAs).Show Application.EnableEvents = True End If End Sub |
quote:Op woensdag 5 december 2012 14:22 schreef marcb1974 het volgende:
Ik wil de functie =lengte() gebruiken in een =als(). Dit lukt niet omdat excel dat blijkbaar niet kan. Weet iemand waarom dit is? Is dit een bekend probleem?
1 | =ALS(LENGTE(A1)>4;"meer dan vier tekens";"vier tekens of minder") |
In C1 de volgende formule: =ALS(B1<>0;1;"") en dan doortrekken naar beneden.quote:Op donderdag 6 december 2012 10:49 schreef draadstalig het volgende:
ik heb de volgende gegevens:
1: 2:
5¤ 7¤
10¤ 0¤
8¤ 3¤
Nu wil ik indien in 2 een getal voorkomt (dus niet 0) 1 meenemen en in totaal optellen. Ik heb het al geprobeerd via sommen.als( maar dit is nog niet gelukt.
Iemand?
1 = A1:A20quote:Op donderdag 6 december 2012 10:49 schreef draadstalig het volgende:
ik heb de volgende gegevens:
1: 2:
5¤ 7¤
10¤ 0¤
8¤ 3¤
Nu wil ik indien in 2 een getal voorkomt (dus niet 0) 1 meenemen en in totaal optellen. Ik heb het al geprobeerd via sommen.als( maar dit is nog niet gelukt.
Iemand?
Werkt! Thnxquote:Op donderdag 6 december 2012 15:52 schreef Deetch het volgende:
[..]
1 = A1:A20
2 = B1:B20
=SOMPRODUCT(--(B1:B20<>0);A1:A20)
De functie kijkt of de waarde in B1 tm B20 niet 0 is en maakt er dan een 1 van als die voorwaarde klopt en een 0 als de voorwaarde niet klopt (lege cel of waarde = 0). Deze enen en nullen worden vermenigvuildigd met hert bijbehorende getal in kolom A en dan opgeteld.
Nee dat is niet juist. Hij moet dus 2 en 3 vergelijken met 1 en indien één van deze lager is kwa aantal (in euro's) dan moet hij deze pakken. Echter rekent hij ook de 0 als getal en eigenlijk moet hij 0 dus overslaan. Ik had hem zo:quote:Op donderdag 6 december 2012 18:43 schreef ralfie het volgende:
als A1:C1 je cellen zijn
[ code verwijderd ]
enteren met ctr+shift+enter
Nvm.quote:Op donderdag 6 december 2012 19:16 schreef draadstalig het volgende:
[..]
Nee dat is niet juist. Hij moet dus 2 en 3 vergelijken met 1 en indien één van deze lager is kwa aantal (in euro's) dan moet hij deze pakken. Echter rekent hij ook de 0 als getal en eigenlijk moet hij 0 dus overslaan. Ik had hem zo:
=ALS(I4+S4=0;F4;MIN(I4;S4))
I4 = 2
S4 = 3
F4 = 1
Dus 2+3 = 0 geef me dan 1 (huidig), zo niet geef me dan minimale van 2 of 3
Bij die laatste moet hij 0 dus overslaan.
Sorry ik lees het net terug en ben het veels te moeilijk aan het maken.quote:Op donderdag 6 december 2012 19:21 schreef DaFan het volgende:
[..]
Nvm.
Wat moet je output zijn dan in je eerste voorbeeld want je praat wel een beetje vaag.
Ralfie zijn oplossing had ik ook gezegd.
Kolom 1 is leeftijden (horizontale as), de andere 2 zijn absolute en relatieve aantallen?quote:Op donderdag 6 december 2012 23:34 schreef einzeinz het volgende:
Ik heb nu nog steeds problemen met het volgende
<25 17 7%
25-30 45 17%
30-35 49 19%
35-40 34 13%
40-45 35 14%
45-50 30 12%
>50 48 19%
Ik wil dat de gegevens in een staafgrafiek worden weergegeven startend bij de -25-jarigen.
Dat lukt me dus niet!
Ik moet de taak maandag indienen.
Kolom 1 zijn inderdaad leeftijden, kolom 2 zijn het aantal deelnemers en kolom 3 is het percentage.quote:Op vrijdag 7 december 2012 00:13 schreef qu63 het volgende:
[..]
Kolom 1 is leeftijden (horizontale as), de andere 2 zijn absolute en relatieve aantallen?
Even snel in elkaar gezet: klikquote:Op vrijdag 7 december 2012 00:24 schreef einzeinz het volgende:
[..]
Kolom 1 zijn inderdaad leeftijden, kolom 2 zijn het aantal deelnemers en kolom 3 is het percentage.
Nu wil ik uiteraard ook de gegevens logisch ordenen en daar loopt het mis.
Je wil de kleur van de staafdiagram af laten hangen van het percentage?quote:Op vrijdag 7 december 2012 00:55 schreef einzeinz het volgende:
Ik zat persoonlijk meer te denken aan zoiets.
[ afbeelding ]
In een staafdiagram dus
Nee klopt niet. De cellen staan niet achter elkaar maar er zit er steeds één tussen dus : gebruiken kan niet. De volgende cellen moeten dus vergeleken worden, waarbij 0 wordt uitgesloten:quote:Op donderdag 6 december 2012 19:57 schreef DaFan het volgende:
De formule van Ralfie klopt dan wel gewoon hoor, denk eraan dat je bevestigt met Ctrl-Shift-Enter.
Dat lijkt niet te kunnen, ook niet als je van de cellen een named range maakt.quote:Op vrijdag 7 december 2012 10:03 schreef draadstalig het volgende:
[..]
Nee klopt niet. De cellen staan niet achter elkaar maar er zit er steeds één tussen dus : gebruiken kan niet. De volgende cellen moeten dus vergeleken worden, waarbij 0 wordt uitgesloten:
F4 I4 en S4
Hoe werkt dit dan?
Oke, eens kijken. Kan ik die raadplegen via de functie module?quote:Op dinsdag 11 december 2012 19:39 schreef DaFan het volgende:
Dat is niet voorwaardelijke opmaak.
Kijk naar de ALS() functie.
Jawel. En via de help. En anders hier maar kan krijg je het voorgekauwd en leer je niksquote:Op dinsdag 11 december 2012 21:00 schreef Landgeld het volgende:
[..]
Oke, eens kijken. Kan ik die raadplegen via de functie module?
Je zou een import-macro kunnen maken. Nieuw Excel-document openen, macro starten en dan importeren. Na afloop macro stoppen en aanpassen zodat ie de cellen invoegt na de laatste rij.quote:Op woensdag 12 december 2012 12:25 schreef DarkSavior het volgende:
Ik download wel eens CSV files vanuit mijn bank. Deze gegevens zijn dan gescheiden met een komma, punt of puntkomma teken. Hoe kan ik deze gegevens geautomatiseerd in een tabel stoppen per kolom?
Opslaan als?quote:Op woensdag 12 december 2012 13:02 schreef DarkSavior het volgende:
Nu probeer ik kolommen weer om te zetten naar tekst met een komma als scheidingsteken en dan op te slaan als .csv file, maar ik kan de functie niet vinden. Iemand een idee?
Ja, .csv's kunnen niet omgaan met functies, die hebben alleen data.quote:Op woensdag 12 december 2012 13:11 schreef DarkSavior het volgende:
Het bestand zelf is een .xlsx bestand, als ik dan vervolgens opslaan als... .csv dan krijg ik een waarschuwing. De file bevat mogelijk functies die niet compatibel zijn.
Als het een echte csv is dan zijn de gegevens met een , gescheiden. Als je in je windows als lijstscheidingsteken ook een , hebt dan kun je het bestand direct openen met excel.quote:Op woensdag 12 december 2012 12:25 schreef DarkSavior het volgende:
Ik download wel eens CSV files vanuit mijn bank. Deze gegevens zijn dan gescheiden met een komma, punt of puntkomma teken. Hoe kan ik deze gegevens geautomatiseerd in een tabel stoppen per kolom?
en ook maar 1 tabbladquote:Op woensdag 12 december 2012 13:19 schreef qu63 het volgende:
[..]
Ja, .csv's kunnen niet omgaan met functies, die hebben alleen data.
Je syntax klopt niet helemaal: de door jou genoemde formule hoort er te staan alsquote:Op donderdag 13 december 2012 21:17 schreef Landgeld het volgende:
Ik kom er niet uit met de IF (ALS) functie..
Dit wil ik bereiken in 1 cel (Dus met 1 formule):
getal tussen 0-10 -> automatisch (in andere cel) het cijfer 1 tevoorschijn
getal tussen 10-20 -> automatisch (in andere cel) het cijfer 2 tevoorschijn
getal tussen 20-30 -> automatisch (in andere cel) het cijfer 3 tevoorschijn.
Heb net allerlei tuturials gelezen en 1 formule lukt, namelijk: =IF(A1 <10, 1)
Het combineren van de bovengenoemde voorbeelden lukt echter niet en weigert Excel 2010 (foutmelding).
Iemand enig idee hoe ik deze IF formulie werkend kan krijgen in mijn bovengenoemde voorbeeld? Ik werk met IF (Engels) en in Excel 2010.
Ik heb een oplossing die niet heel super is maar wel werkt. In de kolom C heb ik nu gezet als formule:quote:Op vrijdag 14 december 2012 01:21 schreef jakees het volgende:
Ik heb een lijst met veel waarden in 2 kolommen. In kolom A een id en in kolom B de waarde. Een voorbeeld:
ID Naam
1 Jan
1 Piet
1 Klaas
1 Henk
2 Wim
2 Leo
3 Sjors
4 Dirk
Wat ik wil is naast de ID's de waarden in 1 cel zetten dus
C D
1 Jan, Piet, Klaas, Henk
2 Wim, Leo
3 Sjors
4 Dirk
Transponeren zeg maar dan met heel veel unieke waarden in kolom A en B. Verticaal zoeken is niet te doen omdat bij de ene ID wel 20 waarden zijn dan krijg je een if met 20 then / else. Draaitabellen is volgens mij ook geen optie. Heeft iemand een idee? Thx alvast!
Die puntcomma en komma is geheel afhankelijk van je windows instellingen en wat je daar als lijstscheidingsteken (list-seperator) gebruikt. Over het algemeen is het zo dat een Nederlands ingestelde computer ALS gebruik icm ; en een Engels/Amerikaans ingestelde computer IF icm met , . Combinaties komen ook voor maar dat is imho verwarrend.quote:Op donderdag 13 december 2012 21:22 schreef Janneke141 het volgende:
[..]
Je syntax klopt niet helemaal: de door jou genoemde formule hoort er te staan als
=IF(A1<10;1) dus zonder spaties en met een ; in plaats van , tussen de argumenten.
Om een als-clausule te maken waarbij de waarde tussen twee getallen moet zitten gebruik je AND:
=IF(AND(A1>10;A1<20);2)
Bedenk je zelf even wat er moet gebeuren als A1=10?
Je kunt een eigen functie maken. Kopieer en plak onder staande code in een visual basic module van je spreadsheet.quote:Op vrijdag 14 december 2012 01:46 schreef jakees het volgende:
[..]
Ik heb een oplossing die niet heel super is maar wel werkt. In de kolom C heb ik nu gezet als formule:
=ALS(B2<>B1;A2;TEKST.SAMENVOEGEN(B1;A2)) ==> hiermee bouw ik dan het samenvoegen op net zo lang tot een nieuwe sleutel komt.
Daarnaast heb ik de volgende formule aangemaakt:
=ALS(B2<>B3;"ja";"nee")
Met die formule selecteer ik dan de laatste samenvoeging en dit geheel heb ik gekopieerd naar een ander blad en voila. Niet erg onderhoudsvriendelijk dus als jullie iets beters weten graag!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Public Function ConcatIf(varCriteria, rngConcat As Range, iOffset As Integer) As String 'concatenates strings from rngConcat if varCriteria is met in column iOffset to the range (negative values for left) Dim r As Range For Each r In rngConcat If r.Offset(0, iOffset) = varCriteria Then If ConcatIf = "" Then ConcatIf = r Else ConcatIf = ConcatIf & "," & r End If End If Next r End Function |
calculatie was ik vergeten ja..quote:Op zaterdag 15 december 2012 01:42 schreef snabbi het volgende:
1) zorg dat de calculatie uit staat wanneer je je cellen muteert
2) gebruik een reguliere expressie om je replace uit te voeren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Sub RemoveLeadingSpaces() Dim R As Range Application.EnableEvents = False On Error GoTo ErrH: If TypeOf Selection Is Excel.Range Then For Each R In Selection.Cells If R.HasFormula = False Then R.Value = Trim(R.Value) R.Value = Application.WorksheetFunction.Clean(R.Value) End If Next R End If ErrH: Application.EnableEvents = True End Sub |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | Sub RemoveLeadingSpaces() Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Application.EnableEvents = False Dim R As Range On Error GoTo ErrH: If TypeOf Selection Is Excel.Range Then For Each R In Selection.Cells If R.HasFormula = False Then R.Value = Trim(R.Value) R.Value = Application.WorksheetFunction.Clean(R.Value) End If Next R End If ErrH: Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic Application.EnableEvents = True End Sub |
Die van snabbi is alleen handiger, scheelt weer een if-loopquote:Op maandag 17 december 2012 08:50 schreef Deetch het volgende:
Handig zeg die HasFormula, gaat in het "lijstje"
1 | =KLEINSTE(ALS('[Lijst obv SBI 2008 493 + 79 opgeschoond.xlsx]Lijst'!$B$2:$B$31357=$C2;RIJ('[Lijst obv SBI 2008 493 + 79 opgeschoond.xlsx]Lijst'!$B$2:$B$31357));RIJ($1:$1)) |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |