Check! Er staan idd formules inquote:Op woensdag 15 juni 2011 13:48 schreef DaFan het volgende:
[..]
Is je waarde in cl leeg leeg of is hij leeg door een formule?
Want dan is cl.Formula natuurlijk nooit ""
cl.Value <> "" is dan beter
vb;
Als ik A1:A10 heb staan
[ code verwijderd ]
(doorgetrokken)
Dan geeft cl.Value = 9
cl.Formula = 10
Edit, zo dus:
[ code verwijderd ]
http://www.contextures.com/xldataval02.htmlquote:Op woensdag 15 juni 2011 14:35 schreef McCandless het volgende:
Ik werk met Excel 2003 en heb daar een 2 keuzelijsten gemaakt. Alleen wil ik hierbij iets bewerkstelligen waarvan ik me afvraag of dit mogelijk is.
Ik heb dus 2 keuze-lijsten, stel 1 in A1 en 1 in A2.
De keuze's die ik bij A2 wil laten verschijnen moeten echter afhankelijk zijn van wat ik bij A1 gekozen heb. Bijvoorbeeld:
Keuze's A1:
Kosten
Opbrengsten
Keuze's A2:
Directe kosten
Indirecte kosten
Vaste opbrengsten
Losse opbrengsten
Directe kosten en indirecte kosten moeten dan alleen verschijnen als ik in A1 kosten heb gekozen.
Kan dit?
Niet veranderd, maar nu hoef ik niet om lege cellen heen te werkenquote:
Mooi! Nextquote:Op woensdag 15 juni 2011 14:38 schreef qu63 het volgende:
[..]
Niet veranderd, maar nu hoef ik niet om lege cellen heen te werken
De macro die te lang duurde is sneller geworden door het uitschakelen van het berekenen
Mijn dank is groot!quote:Op woensdag 15 juni 2011 14:37 schreef DaFan het volgende:
[..]
http://www.contextures.com/xldataval02.html
Sorry, ik heb even niets meer M'n sheets zijn nu weer snel en ze doen wat ze moeten doen!quote:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | Sub ShowOrHide(tabloid As String, sColumn As Integer, startRow As Integer, endRow As Integer, Hide, Level) Dim wsData As Worksheet Set wsData = Worksheets(tabloid) Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Call UnProtect_WorkSheets(tabloid) For i = startRow To endRow Select Case Hide Case 0: If Cells(i, sColumn) <= Level Then wsData.Rows(i).Hidden = True 'Hide Case 1: If Cells(i, sColumn) <= Level Then 'Unhide wsData.Rows(i).Hidden = False Else wsData.Rows(i).Hidden = True End If Case 2: 'Unhide extra Level If Cells(i, sColumn) <= Level + 1 Then wsData.Rows(i).Hidden = False Else wsData.Rows(i).Hidden = True End If End Select Next i Call Protect_WorkSheets(tabloid) End Sub |
Volgens mij was er bij Excel 2010 in de VBA nogal wat aangepast misschien dat dat de oorzaak is.quote:Op donderdag 16 juni 2011 08:21 schreef actuarisje het volgende:
Hi All,
Ik heb een stukje code dat bepaalt of de regels in een bepaalde sectie wel of niet moeten worden laten zien.
[ code verwijderd ]
Ik run deze macro op een sectie van zo'n 4000 regels. Onder Excel 2007 duurt dat zo'n 5 seconden. Onder 2010 duurt het echter zo'n 150 seconden. Das dus 30x zo lang :S
Iemand enig idee waar dit verschil in snelheid vandaan komt?
Nee. De workaround die je kunt toepassen:quote:Op donderdag 16 juni 2011 08:48 schreef yozd het volgende:
Ik heb in Excel 2007 wat staafdiagrammen gemaakt. Deze heb ik gekopieerd naar Word, maar ze verschijnen alleen goed in beeld als ik copy/paste doe. Diegene naar wie ik het moet opsturen, wil het echter hebben als copy/paste special --> enhanced metabestand. Probleem is dan echter dat die de layout verpest. Hij laat de x-as en de rechter y-as helemaal niet meer zien!
Weet iemand hoe dat kan?
En dan nog een vreemder iets; als ik gewoon copy/paste in een Word bestand, ziet alles er goed uit, maar als een collega hetzelfde bestand opent, in dezelfde versie van Word, dan ziet hij de x-as en rechter y-as ook niet! Herkent iemand dit?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | Sub trimit() startTime = Time Application.ScreenUpdating = False Application.Calculation = xlManual Dim h As Long For h = 1 To Sheets("Data HO Sven").Range("A65536").End(xlUp).Row Range("A" & h).Value = trim(Range("A" & h).Value) Next Dim v As Long For v = 1 To Sheets("Data VP").Range("A65536").End(xlUp).Row Range("A" & v).Value = trim(Range("A" & v).Value) Next Application.Calculation = xlAutomatic Application.ScreenUpdating = True stopTime = Time elapsedTime = (stopTime - startTime) * 24 * 60 * 60 duur = Application.WorksheetFunction.Round(elapsedTime, 2) MsgBox "Klaar! Het trimmen duurde " & duur & " seconden." & Chr(13) End Sub |
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 trimit() startTime = Time Application.ScreenUpdating = False Application.Calculation = xlManual On Error GoTo errhandler Dim h As Long For h = 1 To Sheets("Data HO Sven").Range("A65536").End(xlUp).Row Range("A" & h).Value = trim(Range("A" & h).Value) Next Dim v As Long For v = 1 To Sheets("Data VP").Range("A65536").End(xlUp).Row Range("A" & v).Value = trim(Range("A" & v).Value) Next errhandler: Application.Calculation = xlAutomatic Application.ScreenUpdating = True stopTime = Time elapsedTime = (stopTime - startTime) * 24 * 60 * 60 duur = Application.WorksheetFunction.Round(elapsedTime, 2) MsgBox "Klaar! Het trimmen duurde " & duur & " seconden." & Chr(13) End Sub |
Dan ga ik het maar op deze manier doen denk ik. Bedankt!quote:Op donderdag 16 juni 2011 09:24 schreef Deetch het volgende:
[..]
Nee. De workaround die je kunt toepassen:
Screendump maken (CTRL+printScreen)
Plakken in paint of ander tekenprogramma
Selectie hieruit kopieren
Plakken speciaal als metabestand
Office 2010 gebruiken Daar zit een screenshot functie in!quote:Op donderdag 16 juni 2011 11:14 schreef yozd het volgende:
[..]
Dan ga ik het maar op deze manier doen denk ik. Bedankt!
1 2 3 4 5 | A B C 15 15 15 15 60 100% |
1 2 3 4 | 15 Done 15 Done 15 15 60 50% |
Nope, echt regel 8quote:
copy-pastequote:Waarom maak je h een Long?
idem..quote:Waarom zet je niet neer "Next h" ipv "Next", volgens mij is dit geen correcte syntax
alleen wel komma gebruiken ipv ;quote:Op donderdag 16 juni 2011 12:35 schreef DaFan het volgende:
=SUMIF(B1:B4;"=Done";A1:A4)/C4
(Neem aan dat '60' in C4 staat, niet in B4).
Moet je je taal er maar bij zetten zoals in de OP staatquote:
had al SUM gebruikt in plaats van SOMquote:Op donderdag 16 juni 2011 13:46 schreef DaFan het volgende:
[..]
Moet je je taal er maar bij zetten zoals in de OP staat
ik bedenk me net dat als je iets overslaat, dat het dan ook op zich 'gedaan' is.. kun je een OR als criterium van de SUMIF geven? dan kan ik gewoon find&replace gebruiken namelijkquote:
Niet te moeilijk doen imo;quote:Op donderdag 16 juni 2011 16:06 schreef 314 het volgende:
[..]
ik bedenk me net dat als je iets overslaat, dat het dan ook op zich 'gedaan' is.. kun je een OR als criterium van de SUMIF geven? dan kan ik gewoon find&replace gebruiken namelijk
ik wil dus =SUMIF(B1:B4;"=Done" of "=Skip";A1:A4)/C4 maar hoe ik het ook draai, wend, keer, probeer tussen haakjes erin te krijgen, Excel pikt het niet
Niet waar. Heb je het geprobeerd?quote:Op donderdag 16 juni 2011 16:30 schreef 314 het volgende:
als je dat doet dan telt ie A1:A4 dubbel, deelt ie door C4 en krijg je 2x zo hoge waarden.
Nee ik heb alle opties wel gehad. SUMIFS kan ook niet dat is voor EN, niet voor OR.quote:Op donderdag 16 juni 2011 16:57 schreef Deetch het volgende:
=SUMIF(B1:B4;OR("=Done";"=Skip");A1:A4)/C4 werkt ook niet?
SUM(IF(B1:B4="Done";IF(B1:B4="Skip";A1:A4/C4;"Fout!"))quote:Op donderdag 16 juni 2011 18:10 schreef DaFan het volgende:
[..]
Nee ik heb alle opties wel gehad. SUMIFS kan ook niet dat is voor EN, niet voor OR.
SUMPRODUCT kan ook niet...
Maar als het je lukt hou ik me ook aanbevolen.
Je moet SUBSTITUEREN gebruiken ipv VERVANGEN.quote:Op vrijdag 17 juni 2011 12:25 schreef hetzusjevan het volgende:Is er een manier waar op ik de drie 1'tjes in een 2 kan veranderen met een commando in Excel?
Alvast bedankt .
Ik gebruik Office 2007, NL
quote:Op vrijdag 17 juni 2011 12:41 schreef DaFan het volgende:
[..]
Je moet SUBSTITUEREN gebruiken ipv VERVANGEN.
=SUBSTITUEREN (A1;1;2)
Thanks beide! Heb beide opties kunnen gebruiken voor verschillende doeleinden, het is nu oplost .quote:
De functie cel() gebruikt altijd de laatst actieve cel, behalve als je er een referentie achter plakt. In jouw geval dus A1quote:Op vrijdag 17 juni 2011 13:25 schreef yozd het volgende:
Ik gebruik in een Excel document (document X) de formule:
A3=cel("bestandsnaam")
mbv de naam van de directory waar alles in staat zoek ik bepaalde waarden in een matrix. Dat werkt allemaal goed. Maar als ik nu een ander Excel document open (in een andere directory) met X open, dan verandert die die de waarde van A3 in X (hij neemt de directory naam over van de directory waarin het nieuwe bestand staat).
Is dat probleem op te lossen?
-edit-
Heb het probleem opgelost met een cell referentie: cel("bestandsnaam",A1)
Maar ik heb geen idee wat ik doe...
http://www.rondebruin.nl/sendmail.htmquote:Op vrijdag 17 juni 2011 14:14 schreef qu63 het volgende:
Is het mogelijk om in Outlook een mail op te stellen met variabelen uit een Excelsheet?
Dus "Hallo %naam%, blablabal %meerblabla%" in de tekst en ook de naam en het emailadres in de header..
Ik wil de mail nog wel normaal op kunnen maken in Outlook. De (weliswaar handige) opties die ik daar zie geven mij die optie nietquote:
Of met deze functie: [Excel] Het grote Excel vragen topic #26quote:Op zondag 19 juni 2011 09:32 schreef hendrik2009 het volgende:
Hiervoor is de draaitabel (pivot table) in het leven geroepen.
Menu invoegen/insert, dan draaitabel/pivot table.
Sleep de klantnaam in de rijlabels en het bedrag naar het waardeveld.
google anders even.
Nee die werkt niet, aangezien er geen cellen zijn samengevoegd, het is 1 cel die ik breder heb gemaakt.quote:Op woensdag 22 juni 2011 14:07 schreef crossover het volgende:
Kijk eens bij start - Uitlijning en dan onder samenvoegen en centreren: 'samenvoegen van cellen opheffen'.
Extra kolom toevoegen en dan de cellen erboven op iedere regel samenvoegenquote:Op woensdag 22 juni 2011 14:17 schreef loeders het volgende:
[..]
Nee die werkt niet, aangezien er geen cellen zijn samengevoegd, het is 1 cel die ik breder heb gemaakt.
1 2 | In cel B1: = LINKS(A1,LENGTE(A1)-2) |
1 | = ISGETAL(B1) |
1 | =ALS(ISGETAL(LINKS(A1;1))=WAAR;VERT.ZOEKEN(LINKS(A1;LENGTE(A1)-2);leveranciers;2;ONWAAR);"") |
1 2 3 4 5 6 7 8 9 10 | Option Explicit Public Function tekstconvert(tekst As String) As Integer Dim nummer As Integer nummer = Left(tekst, 1) tekstconvert = nummer End Function |
Oeps Al dat werkt voor nietsquote:Op donderdag 23 juni 2011 11:06 schreef DaFan het volgende:
Waarom zet je er niet gewoon WAARDE() omheen dat doet hetzelfde
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |