FOK!forum / Digital Corner / [Excel] Het grote Excel vragen topic #30
qu63zaterdag 28 januari 2012 @ 20:19
2co31ux.jpg

Welkom bij “Het grote Excel vragentopic” waar je terecht kan met vragen over Excel.

In dit topic is het de bedoeling dat we gericht vragen stellen en antwoorden geven op de gestelde vragen. Om alles zo goed mogelijk te laten verlopen zijn er een aantal regels.

Regels
1. Als je een vraag stelt, zet er dan bij welke versie van Excel je hebt en op welke taal hij ingesteld staat.
2. Zet macrocode tussen [ code ] tags
3. Als het “pseudo-code” is, vermeldt dit dan duidelijk
4. Er bestaan geen domme vragen, wel domme antwoorden. Als jouw antwoord niet gaat bijdragen, geef het antwoord dan niet.
5. Dit topic is geen “code-FEBO” waar je half opgewarmde code uit de muur trekt, het is de bedoeling dat je er zelf iets van leert.

Definities
Functie Een interne functie die bij Excel is geleverd.
UDF Een “user definded function”, een zelfgebouwde functie
Macro Een stuk code die opdrachten uitvoert, gebouwd in (meestal) de VBA editor
Add-In Een Excel workbook met VBA-code (of C#, C) die als .xla (of .xll) is opgeslagen, deze is als vaste plug-in in Excel te plaatsen.
Workbook Het excelbestand
Sheet of Worksheet Het tabblad
Form, Formulier, Userform Een Dialoogvenster in VBA gebouwd

Tips & Links
De help functie van excel of visual basic voor excel kan je een eind op weg helpen. (F1)

Het workbook met het FOK!-menu zoals in de banner weergegeven is hier te vinden. Dit menu is naar wens aan te passen. De icoontjes in het menu zijn hier allemaal weergegeven. In dit workbook zijn drie macro's aanwezig: Een printertool waarmee je uit meerder workbooks sheets kan selecteren voo afdrukken, een power replace die termen kan wijzigen in meerdere workbooks tegelijk en een formule vertaler, de formule in de actieve cell wordt in het engels weergegeven, je kan ook een engelse formule invoeren die dan in de actieve cell in de geldende taal wordt geplaatst. De UDF is naar aanleiding van een vraag in topic #29. De functie kan worden aangeroepen door in een cel =FOK() te typen en dan op de Fx te klikken voor uitleg over de variabelen.

De VBA editor bereik je door ALT+F11 in te drukken. Vanaf Excel 2007 is de VBA editor lastiger te vinden. Op deze site wordt uitgelegd hoe je de editor kan activeren.

De interne functies zijn afhankelijk van welke taal jouw Excel draait. Op deze en deze site kun je de formules in verschillende talen vertalen.

De meer uitgebreide macro's kunnen traag worden, ook kan het scherm flikkeren als gevolg van veel "select" acties. Deels kun je dit ondervangen door zo veel mogelijk select acties te vervangen door directe verwijzingen naar cells en deels door een macro-optimalisatie door te voeren. In de onderstaande code is een routine voor macro-optimalisatie en een routine om de optimalisatie weer uit te zetten weergegeven. In de voorbeeld sheet is een uitgebreide versie van MOA en MOU opgenomen.

SPOILER
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub MOA()
'Macro optimalisatie aan
'Roep deze routine aan bij aanvang van jouw code

    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    Application.EnableEvents = False
End Sub

Sub MOU()
'macro optimalisatie uit
'Roep deze routine aan na afloop van jouw code
'zorg er ook voor dat eventuele foutvangers ook verwijzen naar deze routine
    
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True
    Application.StatusBar = ""
End Sub
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.

SPOILER
1
2
3
4
5
6
***Pseudo-code***
for i = 1 to EndOfRoutine
Application.StatusBar = "Bezig met uitvoeren FOK! macro_1 " _
&  100 - cInt((EndOfRoutine - i)/ EndOfRoutine * 100) & " %"
'FOK!_macro_1 code
next
Verder
Alle vorige topics zijn hier terug te vinden.

Nieuw topic? Haal de OP uit de wiki

[ Bericht 28% gewijzigd door qu63 op 30-01-2012 15:01:43 ]
Teganzaterdag 28 januari 2012 @ 20:21
quote:
0s.gif Op vrijdag 27 januari 2012 15:37 schreef qu63 het volgende:

[..]

Ik weet niet of dat ook werkt met je grafieklijn..
Oh, helemaal overheen gelezen :@ .
#ANONIEMzondag 29 januari 2012 @ 07:56
Je kan eventueel wel de labels kleuren als je deze weergeeft in de grafiek.

Mijn eerste oplossing werkt trouwens wel als je geen lijn maar een staafdiagram maakt.

op deze site http://peltiertech.com/Excel/ChartsHowTo/ zie je een aantal voorbeelden van grafiek mogelijkheden.

van die site:

NumberFormat7.gif

[ Bericht 10% gewijzigd door #ANONIEM op 29-01-2012 07:59:24 ]
#ANONIEMzondag 29 januari 2012 @ 15:42
Wazaa

Tja mijn oplossing is uiteindelijk uitgebreide VBA maar goed

Dit is het resultaat:
wraljl.jpg

De sheet is hier te vinden (draai macro PoseNegChart)

en dit is mijn code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
Sub PosNegChart()
    Dim i       As Integer
    Dim j       As Integer
    Dim x       As Range
    Dim y       As Range
    Dim xnew()  As Double
    Dim ynew()  As Double

    'User input x en y waarden
    Set x = Application.InputBox("Kies range X-as", "FOK! Excel Help", , , , , , 8)
    Set y = Application.InputBox("Kies range Y-as", "FOK! Excel Help", , , , , , 8)
    
    ReDim xnew(0)
    ReDim ynew(0)

    For i = 1 To x.Rows.Count
        'Arrays uitbreiden
        ReDim Preserve xnew(UBound(xnew) + 1)
        ReDim Preserve ynew(UBound(ynew) + 1)
        'x en y waarden aan nieuw array toevoegen
        xnew(UBound(xnew)) = x(i, 1)
        ynew(UBound(ynew)) = y(i, 1)
                'Bekende (x1,y1) en (x2,y2) voor bepaling
                'Richtingscoëfficient en B uit y = ax + b
                
                A1 = x(i, 1)
                B1 = y(i, 1)
                
                A2 = x(i + 1, 1)
                B2 = y(i + 1, 1)
                
                'berekening y = 0 (snijdpunt x-as)
                SP = -1 * (B2 - (A2 * (B2 - B1) / (A2 - A1))) / (B2 - B1) / (A2 - A1)
                    
                    'test of snijden x-as plaatsvindt in deze verzameling
                    If SP > A1 And SP < A2 Then
                    
                        'uitbreiden nieuwe arrays en toevoegen y=0 snijpunten x as
                        ReDim Preserve xnew(UBound(xnew) + 1)
                        ReDim Preserve ynew(UBound(ynew) + 1)
                        ynew(UBound(ynew)) = 0
                        xnew(UBound(xnew)) = SP
                        
                    End If
        
    Next
    
    'actieve sheetnaam onthouden
    Dim Naam As String
    Naam = ActiveSheet.Name
    
    'Geheime sheet aanmaken (eerst verwijderen)
    On Error Resume Next
        Application.DisplayAlerts = False
        Sheets("FOK").Delete
        Application.DisplayAlerts = True
    On Error GoTo 0
        ActiveWorkbook.Sheets.Add
        ActiveSheet.Name = ("FOK")
        Sheets("FOK").Visible = False
    
    'Nieuwe serie x en y waarden plaatsen in geheime sheet
    For i = 1 To UBound(xnew)
        Sheets("FOK").Cells(i, 1) = xnew(i)
        Sheets("FOK").Cells(i, 2) = ynew(i)
    Next
    
    'Grafiek toevoegen
    Charts.Add
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(1).XValues = Sheets("FOK").Range(Sheets("FOK").Cells(LBound(xnew) + 1, 1), Sheets("FOK").Cells(UBound(xnew), 1))
    ActiveChart.SeriesCollection(1).Values = Sheets("FOK").Range(Sheets("FOK").Cells(LBound(xnew) + 1, 2), Sheets("FOK").Cells(UBound(xnew), 2))
    ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
    ActiveChart.Location Where:=xlLocationAsObject, Name:=Naam
  
    For i = 1 To UBound(xnew)
        On Error Resume Next
        If ynew(i) <= 0 And ynew(i + 1) <= 0 Then
            ActiveChart.SeriesCollection(1).Points(i + 1).Border.ColorIndex = 3
        End If
    Next
    
    
    ActiveChart.Legend.Delete

    
End Sub


[ Bericht 0% gewijzigd door #ANONIEM op 29-01-2012 16:00:32 ]
ralfiezondag 29 januari 2012 @ 18:05
@KritischeMassa
1
2
3
4
Dim x As Variant
x = Range("A1:B4")
MsgBox x(2,2)  'geeft waarde cell B2
Range("A12:B15") = x
Ranges kun je makkelijk converteren naar Variants, en omgekeerd. Gebruik is weinig anders als cells(2 argumenten, rij en kolom), maar snelheid is honderden malen sneller.
#ANONIEMzondag 29 januari 2012 @ 18:49
quote:
0s.gif Op zondag 29 januari 2012 18:05 schreef ralfie het volgende:
@KritischeMassa
[ code verwijderd ]

Ranges kun je makkelijk converteren naar Variants, en omgekeerd. Gebruik is weinig anders als cells(2 argumenten, rij en kolom), maar snelheid is honderden malen sneller.
ok, dank je, ik zal het meenemen, ik dacht dat ik range moest gebruiken ivm met de input van user, ik had in het begin steeds fouten in de de uitvoering van code en kon niet vinden waar het lag. Uiteindelijk lag het niet aan de ranges maar heel ergens anders...

Ach ja, het is maar zondagmiddag code ;)
Sometimesmaandag 30 januari 2012 @ 09:40
Ik heb een excel overzicht met daarin in een kolom meetwaarden (getallen) per datum (andere kolom). Ik zou graag willen dat de laagste waarde uit de meetwaardenkolom automatisch een kleurtje krijgt.
Via voorwaardelijke opmaak een functie gehangen aan de kolom:
="min($C$3:$C$28)"
Deze functie heeft echter geen resultaat, geen enkele cel krijgt het gewenste kleurtje. Daarnaast heeft "min" een beperking tot maximaal 30 waarden terwijl ik er veel meer heb staan.

Ik gebruik duidelijk de verkeerde functie, maar welke moet ik dan wel hebben?

Excel 2003.
#ANONIEMmaandag 30 januari 2012 @ 11:07
Maak een cel waarin je zet =min(c:c)

vervolgens doe je voorwaardelijke opmaak vergelijken met die celwaarde

[ Bericht 1% gewijzigd door #ANONIEM op 30-01-2012 11:08:30 ]
Individualmaandag 30 januari 2012 @ 11:24
Mooi, dankjewel KM, ik heb hem in m'n Excelbieb geplakt. ^O^
Deetchmaandag 30 januari 2012 @ 12:55
@Qu63, hoe maak je zo'n extra menu? en kun je die ook installeerbaar maken?
Basp1maandag 30 januari 2012 @ 13:04
Kan de handige sheet met macros (tip 4) ergens anders geupload worden, de mediafire link werkt niet meer. ^O^
#ANONIEMmaandag 30 januari 2012 @ 13:30
quote:
6s.gif Op maandag 30 januari 2012 13:04 schreef Basp1 het volgende:
Kan de handige sheet met macros (tip 4) ergens anders geupload worden, de mediafire link werkt niet meer. ^O^
http://www.mediafire.com/?8kbsfc8v0mjyiff

Gek in de OP wiki had ik sowieso ook een ander link geplakt (ik had de OP geheel herschreven)
Sometimesmaandag 30 januari 2012 @ 13:48
quote:
4s.gif Op maandag 30 januari 2012 11:07 schreef KritischeMassa het volgende:
Maak een cel waarin je zet =min(c:c)

vervolgens doe je voorwaardelijke opmaak vergelijken met die celwaarde
^O^

Bedankt! Werkt perfect.
#ANONIEMmaandag 30 januari 2012 @ 13:53
quote:
3s.gif Op maandag 30 januari 2012 12:55 schreef Deetch het volgende:
@Qu63, hoe maak je zo'n extra menu? en kun je die ook installeerbaar maken?
zie de link aan Basp, het menu zit hierin met verklaringen

je kan het helemaal naar je hand zetten

Tip van mij, sla de sheet uiteindelijk op als .xla en zet hem als invoegtoepassing vast

vereist wel een goede verwijzing naar workbooks in je macro's (thisworkbook verwijst dan namelijk naar de .xla bijvoorbeeld)

quote:
0s.gif Op maandag 30 januari 2012 13:48 schreef Sometimes het volgende:

[..]

^O^

Bedankt! Werkt perfect.
:) geen probleem

[ Bericht 29% gewijzigd door #ANONIEM op 30-01-2012 13:53:40 ]
qu63maandag 30 januari 2012 @ 15:01
quote:
0s.gif Op maandag 30 januari 2012 13:30 schreef KritischeMassa het volgende:

[..]

http://www.mediafire.com/?8kbsfc8v0mjyiff

Gek in de OP wiki had ik sowieso ook een ander link geplakt (ik had de OP geheel herschreven)
Oeps, dan heb ik niet de goeie gepakt.. Ga em ff updaten!

quote:
3s.gif Op maandag 30 januari 2012 12:55 schreef Deetch het volgende:
@Qu63, hoe maak je zo'n extra menu? en kun je die ook installeerbaar maken?
Geen idee, dat was een screenshot van KritischeMassa :P
qu63maandag 30 januari 2012 @ 15:03
OP is geüpdatet, met dank aan KritischeMassa voor het herschrijven en uploaden van het excelbestand! *O*
Individualmaandag 30 januari 2012 @ 15:05
Maak custom menu's: http://www.ozgrid.com/VBA/custom-menus.htm
Jesse_maandag 30 januari 2012 @ 15:06
Wat zitten er eigenlijk voor macro's in het macro bestand?
#ANONIEMmaandag 30 januari 2012 @ 15:12
quote:
7s.gif Op maandag 30 januari 2012 15:06 schreef Jesse_ het volgende:
Wat zitten er eigenlijk voor macro's in het macro bestand?
Zie OP

Een printertool waarmee je sheets uit alle openstaande workbooks kunt selecteren voor uitprinten
Een powerreplace waarmee je een term in alles openstaande workbooks in alle sheets kan vervangen
Een functievertaler, de functie in de actieve cel wordt in het engels weergegeven, ook kun je een functie in het engels ingeven en deze wordt dan in de juiste taal geplaatst
mireliamaandag 30 januari 2012 @ 15:14
quote:
0s.gif Op maandag 30 januari 2012 13:30 schreef KritischeMassa het volgende:

[..]

http://www.mediafire.com/?8kbsfc8v0mjyiff

Gek in de OP wiki had ik sowieso ook een ander link geplakt (ik had de OP geheel herschreven)
NOD32 gaat helemaal over zijn gerrit van deze link
#ANONIEMmaandag 30 januari 2012 @ 15:23
quote:
0s.gif Op maandag 30 januari 2012 15:14 schreef mirelia het volgende:

[..]

NOD32 gaat helemaal over zijn gerrit van deze link
Dat is gek... er zit niets bijzonders in namelijk

Maar misschien worden VBA macro's per definitie als riskant beoordeeld?

Het is gewoon een zip file met hierin een sheet met macro's

Als je het niet vertrouwd kun je de sheet openen zonder macro's te activeren en de code bekijken

Ik kan leuk programmeren, maar een virus schrijven is een level of 100 te hoog gegrepen voor mij
Jesse_maandag 30 januari 2012 @ 15:59
quote:
0s.gif Op maandag 30 januari 2012 15:23 schreef KritischeMassa het volgende:

[..]

Dat is gek... er zit niets bijzonders in namelijk

Maar misschien worden VBA macro's per definitie als riskant beoordeeld?

Het is gewoon een zip file met hierin een sheet met macro's

Als je het niet vertrouwd kun je de sheet openen zonder macro's te activeren en de code bekijken

Ik kan leuk programmeren, maar een virus schrijven is een level of 100 te hoog gegrepen voor mij
Je kan vast wel een excel bestand koppelen aan een simpel batch filetje dat even een deltree doet oid :P
DaFanmaandag 30 januari 2012 @ 16:30
Je kan een macro een willekeurig bestand laten uitvoeren, dus ja niet echt lastig :)
Gebruik ik hier ook, maakt bij afsluiten van een master een kopie naar een Alleen-lezen map zodat de andere gebruikers niks kunnen verwijderen.
#ANONIEMmaandag 30 januari 2012 @ 18:31
quote:
7s.gif Op maandag 30 januari 2012 15:59 schreef Jesse_ het volgende:

[..]

Je kan vast wel een excel bestand koppelen aan een simpel batch filetje dat even een deltree doet oid :P
Ja ok, maar dat batchfiletje moet ik er dan wel bij leveren

en in die zip zit alleen de excel file

Nou goed, de file komt uit een goed hart, als jullie het niet vertrouwen zou ik het niet downloaden, simpel ;(

En geloof je echt dat ik mijn account op het spel zou zetten om iemand zijn harddisk te deleten?

Als iemand die de file wel heeft gedownload en getset heeft wil die hier dan aangeven dat er geen gekke dingen zijn gebeurd?

;( :'(
mireliamaandag 30 januari 2012 @ 18:42
Ik kreeg de meldingen op de site, niet op het bestand zelf.
Daar is niets mee aan de hand, excuses voor de verwarring
#ANONIEMmaandag 30 januari 2012 @ 18:44
quote:
0s.gif Op maandag 30 januari 2012 18:42 schreef mirelia het volgende:
Ik kreeg de meldingen op de site, niet op het bestand zelf.
Daar is niets mee aan de hand, excuses voor de verwarring
aha.. ok, dank je

Heeft iemand een beter alternatief?

Ik heb goede verhalen gehoord over megaupload :')
elkravodinsdag 31 januari 2012 @ 20:48
Als je een staaf-/kolomgrafiek hebt. Kun je dan instellen dat de ruimte tussen de staven kleiner wordt, of de staven breder, zodat er minder ruimte tussen zit?

edit: de kolommen/staven tegen elkaar aan zou helemaal mooi zijn...

[ Bericht 6% gewijzigd door elkravo op 31-01-2012 20:55:52 ]
ralfiedinsdag 31 januari 2012 @ 21:12
rechtsklikken op je kolommen -> gegevensreeks opmaken->ruimte tussen kolommen naar 0% schuiven
Puckzzzvrijdag 3 februari 2012 @ 17:00
Ik heb Excel 2010.
Taal geen idee.

Ik heb twee identieke tabbladen met als enig verschil dat ik in tabblad 2 zal werken. (maar de gegevens worden wel overgenomen in tab 1)
Daar komt in een kolom een tijdsnotatie te staan in decimalen. Dus voor 1 uur en een kwartier komt daar te staan 1.25. We ronden alles af naar kwartieren dus doen niet moeilijk met 5 minuutjes e.d.
Nu moet ik dus in diezelfde cel maar dan in tabblad1 dat decimale getal omzetten naar uren en minuten. daar moet dus komen te staan 1:15

Ik krijg het niet voor elkaar :')
DaFanvrijdag 3 februari 2012 @ 17:05
Hoe kan je de taal niet weten :')

Het is wel een vreemde notatie die je wilt. 1:15 is in de ogen van Excel kwart over een. Niet 1 uur dubbele punten het aantal minuten. Dat is wel wat lastiger.
#ANONIEMvrijdag 3 februari 2012 @ 17:07
quote:
17s.gif Op vrijdag 3 februari 2012 17:00 schreef Puckzzz het volgende:
Ik heb Excel 2010.
Taal geen idee.

Ik heb twee identieke tabbladen met als enig verschil dat ik in tabblad 2 zal werken. (maar de gegevens worden wel overgenomen in tab 1)
Daar komt in een kolom een tijdsnotatie te staan in decimalen. Dus voor 1 uur en een kwartier komt daar te staan 1.25. We ronden alles af naar kwartieren dus doen niet moeilijk met 5 minuutjes e.d.
Nu moet ik dus in diezelfde cel maar dan in tabblad1 dat decimale getal omzetten naar uren en minuten. daar moet dus komen te staan 1:15

Ik krijg het niet voor elkaar :')
=1,25/24

opmaak tijd

[ Bericht 0% gewijzigd door #ANONIEM op 03-02-2012 17:08:14 ]
DaFanvrijdag 3 februari 2012 @ 17:10
Lol ok dat is best makkelijk.
Kritisch owned dit topic :'(
#ANONIEMvrijdag 3 februari 2012 @ 17:12
quote:
0s.gif Op vrijdag 3 februari 2012 17:10 schreef DaFan het volgende:
Lol ok dat is best makkelijk.
Kritisch owned dit topic :'(
;) tob al met spreadsheets sinds quatro pro :P
Sjaakbakfietsvrijdag 3 februari 2012 @ 18:29
Ik heb een vraag over de functie subtotal (data>subtotal).

Om het voorbeeld te vereenvoudigen: dmv subtotal kun je bijvoorbeeld berekenen hoeveel omzet er is gemaakt met de verkoop van laptops (zie http://www.gratiscursus.be/excel_cursus/excelles12c.htm).
Nu wil ik deze informatie niet onder het product komt te staan (in de rij), maar dat er een aparte kolom komt met de totale verkoop. Dus voor elk product laptop, wil ik dat er in een nieuwe kolom telkens komt te staan wat de totale omzet is uit de verkoop van ALLE laptops. Aangezien er in mijn database honderden 'producten' staan, kan dit dus niet elke keer handmatig gelinkt worden.

[Dus stel dat de omzet op het gebied van LAPTOP 1mln is, wil ik in elke rij die over laptops gaan dat er in de nieuwe kolom staat dat de totale omzet 1 mln is, en dit zo bij vele andere producten).

Misschien een beetje moeilijk omschreven maargoed;)
Weet iemand hier het antwoord op?
#ANONIEMvrijdag 3 februari 2012 @ 19:37
Tja...

Ik snap je niet helemaal, maar ik zit te denken aan een UDF (user defined function)

Maar dat kan komen doordat ik je niet helemaal snap en doordat ik vrij snel naar VBA grijp ;)

plaats dit in een module

1
2
3
4
5
6
7
8
9
Function SubT(Bereik As Variant, Term As String, TermKol as integer, OptelKol as integer)

For i = 1 To Bereik.Count
    If Term = Bereik(i, TermKol) Then
        SubT = SubT + Bereik(i, OptelKol)
    End If
Next

End Function

Typ in een cel in excel =subT( en druk op fx

Je kan nu het bereik selecteren, bijvoorbeeld $a$1 tot $b$18 waarin zowel de productnaam als de opbrengst staat

De Term is Laptop (kun je typen, of aanwijzen als bv $a$1)

De TermKol is in dit geval 1

De OptelKol is in dit geval 2

Als je bereik groter is (bv in kolom a staat laptop en in kolom e staat het bedrag dan is de optelkol 5, ze zijn altijd relatief, dus als het bereik van d naar e loopt is het weer kolom 1 en 2)

Wat de functie doet is in het bereik kijken of de term in de term kolom staat en zo ja telt hij het getal dat in de optelkolom staat bij SubT op

Hier een sheet met de functie erin

http://www.mediafire.com/?ctuzcusvyd2623u

[ Bericht 5% gewijzigd door #ANONIEM op 03-02-2012 19:43:05 ]
#ANONIEMvrijdag 3 februari 2012 @ 19:55
Een ander idee is dat je een extra tabel maakt met hierin de totalen voor elk producttype:

laptops 1.000.000
PC 500.000
komkommers 3.000.000

en dan in de kolom die je wil maken via vertikaal zoeken de juiste subtotalen erbij zoeken

zie voorbeeld:

http://www.mediafire.com/?srq485z9jm4e1t9

[ Bericht 11% gewijzigd door #ANONIEM op 03-02-2012 19:59:29 ]
Sjaakbakfietsvrijdag 3 februari 2012 @ 20:07
Dank voor je uitgebreide reactie, ik ga er mee aan de slag!
#ANONIEMvrijdag 3 februari 2012 @ 20:14
quote:
0s.gif Op vrijdag 3 februari 2012 20:07 schreef Sjaakbakfiets het volgende:
Dank voor je uitgebreide reactie, ik ga er mee aan de slag!
Mijn tweede suggestie is beter en sneller (UDF is traag) ;)

edit:
:') die hele tussentabel is helemaal niet nodig

=SOM.ALS($A$1:$B$19;A1;$B$1:$B$19)

[ Bericht 14% gewijzigd door #ANONIEM op 03-02-2012 20:18:16 ]
Sjaakbakfietsvrijdag 3 februari 2012 @ 20:27
Ik was inderdaad met de 2e bezig :) Ik laat je weten als het gelukt is!

Edit: gelukt! Een hele dag aangeplaard, en nu binnen 5 minuten geregeld. Wat kan excel toch makkelijk zijn als je weet hoe het werkt. Nogmaals bedankt!:D

[ Bericht 50% gewijzigd door Sjaakbakfiets op 03-02-2012 20:37:22 ]
Sjaakbakfietsvrijdag 3 februari 2012 @ 20:38
Mocht je een oplossing hebben voor mijn volgend probleem dan hoor ik het graag ;)

Ik heb 2 excelbestanden (respectievelijk 4000 en 8000 rijen), en in beide bestanden zit een kolom met codes. In totaal zijn ongeveer 3500 van deze codes hetzelfde. U raadt het al, deze 3500 codes (met bijbehorende informatie) moet ik filteren.
Weet jij/iemand hoe ik deze bestanden kan matchen?

Edit: grotendeels gelukt, dmv formule ALS(ISFOUT(VERT.ZOEKEN(A1;B:B;1;0));"";VERT.ZOEKEN(A1;B:B;1;0))

[ Bericht 10% gewijzigd door Sjaakbakfiets op 04-02-2012 00:45:47 ]
McGilleszaterdag 4 februari 2012 @ 23:09
quote:
0s.gif Op vrijdag 3 februari 2012 20:38 schreef Sjaakbakfiets het volgende:
Mocht je een oplossing hebben voor mijn volgend probleem dan hoor ik het graag ;)

Ik heb 2 excelbestanden (respectievelijk 4000 en 8000 rijen), en in beide bestanden zit een kolom met codes. In totaal zijn ongeveer 3500 van deze codes hetzelfde. U raadt het al, deze 3500 codes (met bijbehorende informatie) moet ik filteren.
Weet jij/iemand hoe ik deze bestanden kan matchen?

Edit: grotendeels gelukt, dmv formule ALS(ISFOUT(VERT.ZOEKEN(A1;B:B;1;0));"";VERT.ZOEKEN(A1;B:B;1;0))
Waarom niet helemaal dan?
elkravozondag 5 februari 2012 @ 15:24
Stel ik heb een vrij lange Excel lijst/tabel. Hierin staat een kolom met categoriën, bijvoorbeeld A, B, C.
Iedere rij/object heeft dus een categorie A B of C gekregen, hierin zit geen volgorde

Nu wil ik graag dat er ondere iedere rij van categorie B een extra lege regel wordt toegevoegd.

Beperking: ik kan/mag de lijst NIET sorteren omdat ik dan nooit meer terugsorteren kan naar de huidige volgorde.

Kan dit makkelijk, zonder dat ik handmatig rijen 1-voor-1 moet toevoegen?
qu63zondag 5 februari 2012 @ 15:27
quote:
0s.gif Op zondag 5 februari 2012 15:24 schreef elkravo het volgende:
Stel ik heb een vrij lange Excel lijst/tabel. Hierin staat een kolom met categoriën, bijvoorbeeld A, B, C.
Iedere rij/object heeft dus een categorie A B of C gekregen, hierin zit geen volgorde

Nu wil ik graag dat er ondere iedere rij van categorie B een extra lege regel wordt toegevoegd.

Beperking: ik kan/mag de lijst NIET sorteren omdat ik dan nooit meer terugsorteren kan naar de huidige volgorde.

Kan dit makkelijk, zonder dat ik handmatig rijen 1-voor-1 moet toevoegen?
Macro/VBA

KritischeMassa zal zo wel langskomen om het uit te leggen :P
Of zoek uit hoe je t zelf kan doen, ik kan t namelijk ook (nog) niet goed (genoeg)
elkravozondag 5 februari 2012 @ 15:30
quote:
0s.gif Op zondag 5 februari 2012 15:27 schreef qu63 het volgende:

[..]

Macro/VBA

KritischeMassa zal zo wel langskomen om het uit te leggen :P
Of zoek uit hoe je t zelf kan doen, ik kan t namelijk ook (nog) niet goed (genoeg)
Ik probeer zoveel mogelijk macro's VBA te vermijden omdat ik er geen verstand van heb. Liefst een simpel trucje. Het betreft een eenmalige verbouwing van een excel lijst waarbij ik onder bepaalde rijen van een categorie een extra regel moet toevoegen. En de lijst is 10.000 rijen...
#ANONIEMzondag 5 februari 2012 @ 15:47
quote:
0s.gif Op zondag 5 februari 2012 15:30 schreef elkravo het volgende:

[..]

Ik probeer zoveel mogelijk macro's VBA te vermijden omdat ik er geen verstand van heb. Liefst een simpel trucje. Het betreft een eenmalige verbouwing van een excel lijst waarbij ik onder bepaalde rijen van een categorie een extra regel moet toevoegen. En de lijst is 10.000 rijen...
Ja ik zou wel VBA gebruiken

Maar ja

Het invoegen van regels is nu eenmaal niet mogelijk met een formule, of lastig.

Als je in VBA gaat klooien maak dan wel eerst een backup van de huidige situatie.

1
2
3
4
5
6
7
8
9
10
11
12
Sub InsertLines()
    Dim LastRow As Long
    With ActiveSheet
        LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
    End With

    For i = LastRow To 1 Step -1
        If ActiveSheet.Cells(i, 1) = "B" Then
            Rows(i + 1).Insert Shift:=xlDown
        End If
    Next
End Sub

Deze code in de betreffende sheet plakken (in het VBA scherm) en de macro draaien

Deze code gaat ervan uit dat de ABC in kolom A staat (activesheet.cells(i,1) = "B") de 1 in cells verwijzing slaat op kolom A dat kun je aanpassen

[ Bericht 3% gewijzigd door #ANONIEM op 05-02-2012 15:49:48 ]
#ANONIEMzondag 5 februari 2012 @ 16:00
quote:
0s.gif Op zondag 5 februari 2012 15:24 schreef elkravo het volgende:

Beperking: ik kan/mag de lijst NIET sorteren omdat ik dan nooit meer terugsorteren kan naar de huidige volgorde.
Je kan altijd terug sorteren als je eerst een kolom maakt die gewoon telt van 1 tot einde
elkravozondag 5 februari 2012 @ 16:17
quote:
0s.gif Op zondag 5 februari 2012 15:47 schreef KritischeMassa het volgende:

[..]

Ja ik zou wel VBA gebruiken

Maar ja

Het invoegen van regels is nu eenmaal niet mogelijk met een formule, of lastig.

Als je in VBA gaat klooien maak dan wel eerst een backup van de huidige situatie.
[ code verwijderd ]

Deze code in de betreffende sheet plakken (in het VBA scherm) en de macro draaien

Deze code gaat ervan uit dat de ABC in kolom A staat (activesheet.cells(i,1) = "B") de 1 in cells verwijzing slaat op kolom A dat kun je aanpassen
1 vraagje... in de code, waar staat de A voor in "LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row ??
#ANONIEMzondag 5 februari 2012 @ 16:20
quote:
0s.gif Op zondag 5 februari 2012 16:17 schreef elkravo het volgende:

[..]

1 vraagje... in de code, waar staat de A voor in "LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row ??
Hij kijkt in kolom A wat de laatste regel is

Ik ben uitgegaan van kolom A

Je kan ook de lastrow opgeven als je die weet (bijvoorbeeld rij 32012)

Dan kan je volstaan met

1
2
3
4
5
6
7
Sub InsertLines()
    For i = 32012 To 1 Step -1
    If ActiveSheet.Cells(i, 1) = "B" Then
        Rows(i + 1).Insert Shift:=xlDown
    End If
    Next
End Sub
elkravozondag 5 februari 2012 @ 16:26
quote:
0s.gif Op zondag 5 februari 2012 16:20 schreef KritischeMassa het volgende:

[..]

Hij kijkt in kolom A wat de laatste regel is

Ik ben uitgegaan van kolom A

Je kan ook de lastrow opgeven als je die weet (bijvoorbeeld rij 32012)

Dan kan je volstaan met
[ code verwijderd ]

Ok... dan snap ik 'm... ben geen VBA held ;-)... normaal als ik een rij toevoeg, duurt dat 3 seconden ivm formuleberekeningen... de macro runt nu... zal wel even duren ;-)... laat m'n comp gewoonjakkeren... Hopelijk kom ik straks terug met goed het resultaat op m'n scherm.
#ANONIEMzondag 5 februari 2012 @ 16:28
quote:
0s.gif Op zondag 5 februari 2012 16:26 schreef elkravo het volgende:

[..]

Ok... dan snap ik 'm... ben geen VBA held ;-)... normaal als ik een rij toevoeg, duurt dat 3 seconden ivm formuleberekeningen... de macro runt nu... zal wel even duren ;-)... laat m'n comp gewoonjakkeren... Hopelijk kom ik straks terug met goed het resultaat op m'n scherm.
Ach had dat gezegd

dan had ik wat regels code toegevoegd om de berekeningen uit te zetten...

Je hebt wel een back up gemaakt eerst?
elkravozondag 5 februari 2012 @ 16:39
quote:
0s.gif Op zondag 5 februari 2012 16:28 schreef KritischeMassa het volgende:

[..]

Ach had dat gezegd

dan had ik wat regels code toegevoegd om de berekeningen uit te zetten...

Je hebt wel een back up gemaakt eerst?
Yep... dat doe ik sowieso... heb je die extra code... want heb het gevoel dat mijn comp het niet aankan... ;-)

Excel lijkt vast te lopen.... maar kan niet zien of regels toegevoegd worden dus... hij begint niet bovenaan lijkt het sowieso
#ANONIEMzondag 5 februari 2012 @ 16:43
Nee hij begint onderaan

ok

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Sub InsertLines()
MOA
    Dim LastRow As Long
    With ActiveSheet
        LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
    End With

    For i = LastRow To 1 Step -1
    If ActiveSheet.Cells(i, 1) = "B" Then
        Rows(i + 1).Insert Shift:=xlDown
    
    End If
    
    
    Next

MOU
End Sub

Sub MOA()
'MacroOptimalisatieAan
On Error Resume Next
    Application.Cursor = xlWait
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    Application.Calculation = xlCalculationManual
    Application.DisplayAlerts = False
End Sub

Sub MOU()
'MacroOptimalisatieUit
On Error Resume Next
    Application.Cursor = xlDefault

    Application.ScreenUpdating = True
    Application.StatusBar = False
    Application.EnableEvents = True

    Application.Calculation = xlCalculationAutomatic
    Application.DisplayAlerts = True
End Sub


[ Bericht 4% gewijzigd door #ANONIEM op 05-02-2012 16:44:16 ]
elkravozondag 5 februari 2012 @ 17:03
quote:
3s.gif Op zondag 5 februari 2012 16:43 schreef KritischeMassa het volgende:
Nee hij begint onderaan

ok
[ code verwijderd ]

Dat werkte een stuk sneller... koste 5 minuutjes nu ;-)

VEEL DANK! :) _O_


enne... ik kan die MOA en MOU nu dus ook gebruiken als ik andere veranderingen wil doen die steeds geremd worden door herberekenen?
#ANONIEMzondag 5 februari 2012 @ 17:05
quote:
14s.gif Op zondag 5 februari 2012 17:03 schreef elkravo het volgende:

[..]

Dat werkte een stuk sneller... koste 5 minuutjes nu ;-)

VEEL DANK! :) _O_
:) mooi :)
Sjaakbakfietszondag 5 februari 2012 @ 17:14
quote:
0s.gif Op zaterdag 4 februari 2012 23:09 schreef McGilles het volgende:

[..]

Waarom niet helemaal dan?
Mijn oorspronkelijke vraag is wel volledig opgelost, maar het totale probleem nog niet helemaal :)
#ANONIEMzondag 5 februari 2012 @ 17:20
quote:
0s.gif Op zondag 5 februari 2012 17:14 schreef Sjaakbakfiets het volgende:

[..]

Mijn oorspronkelijke vraag is wel volledig opgelost, maar het totale probleem nog niet helemaal :)
Die opmerking sloeg op jouw edit, je gaf aan dat het was gelukt maar niet helemaal. Wat lukt er dan niet?

Zonder een duidelijke probleemomschrijving is het moeilijk oplossen, ik ben geen cup-a-soup ;)
Corporaalzondag 5 februari 2012 @ 19:00
Hoi,

Ik ben bezig met een spreadsheet voor de status van verschillende projecten. Om het geheel overzichtelijk te houden heb ik aan de status van de diverse projecten kleuren gekoppeld. Nu wil ik graag een losse legenda.Eigenlijk een soort pop up.

Kan dit in Excel? :)
#ANONIEMzondag 5 februari 2012 @ 19:17
Ja, hebbie KM weer met zijn VBA maar daar zou ik het in doen

Je kan gewoon een userform aanmaken met labels en die kleuren

Je kan dan of een menu maken zoals in de OP is weergegeven of de legenda aan het rechtermuisklikmenu toevoegen

Of achter een knop of of of

Open je vba editor en voeg een userform in

Sleep er wat labels heen en in de linkeronderhoek van je scherm kun je de eigenschappen instellen

Dus caption is bijvoorbeeld Project Komkommer, backcolor = groen

Sleep er ook een knop in en dubbelklik op die knop om de code "unload me" in te geven

Noem de knop (caption) OK of Sluit oid

edit:

Ik zou de sheet downloaden uit de OP en deze aanvullen met jouw userform (en de extra menu items verwijderen)

In deze sheet zitten al wat userforms dus dan heb je wat voorbeelden, en ook wat code her en der

[ Bericht 15% gewijzigd door #ANONIEM op 05-02-2012 19:20:46 ]
qu63zondag 5 februari 2012 @ 22:01
quote:
0s.gif Op zondag 5 februari 2012 19:00 schreef Corporaal het volgende:
Hoi,

Ik ben bezig met een spreadsheet voor de status van verschillende projecten. Om het geheel overzichtelijk te houden heb ik aan de status van de diverse projecten kleuren gekoppeld. Nu wil ik graag een losse legenda.Eigenlijk een soort pop up.

Kan dit in Excel? :)
Is een Gantt-chart geen optie?
qu63zondag 5 februari 2012 @ 22:01
quote:
3s.gif Op zondag 5 februari 2012 16:43 schreef KritischeMassa het volgende:
Nee hij begint onderaan

ok
[ code verwijderd ]

MOA en MOUA zijn handig! Thankks! ^O^
#ANONIEMmaandag 6 februari 2012 @ 06:21
:) Zorg wel dat je altijd MOU draait dus ook na fout afhandeling in macro code

Anders doet je excel het niet meer ;) (na herstart van excel wel trouwens hoor, maar omdat screenupdate uitstaat lijkt excel stuk)

In de application.statusbar kun je communiceren met de gebruiker, bijvoorbeeld percentage klaar weergeven, of gewoon de waarde van teller i bijvoorbeeld. Zo heeft de gebruiker ook het idee dat er wat gebeurt.

Edit:

Als jouw macro afhankelijk is van tussentijdse celuitkomsten moet je wel eerst de moa draaien en dan weer mou anders staat er niets in de cel want de berekeningen staan uit

[ Bericht 13% gewijzigd door #ANONIEM op 06-02-2012 06:51:52 ]
Deetchmaandag 6 februari 2012 @ 10:35
mooi verhaal KM, deze ga ik veel gebruiken. Nog wel even puzzelen hoe die statusbar werkt.
qu63maandag 6 februari 2012 @ 12:09
quote:
14s.gif Op maandag 6 februari 2012 06:21 schreef KritischeMassa het volgende:
:) Zorg wel dat je altijd MOU draait dus ook na fout afhandeling in macro code

Anders doet je excel het niet meer ;) (na herstart van excel wel trouwens hoor, maar omdat screenupdate uitstaat lijkt excel stuk)

In de application.statusbar kun je communiceren met de gebruiker, bijvoorbeeld percentage klaar weergeven, of gewoon de waarde van teller i bijvoorbeeld. Zo heeft de gebruiker ook het idee dat er wat gebeurt.

Edit:

Als jouw macro afhankelijk is van tussentijdse celuitkomsten moet je wel eerst de moa draaien en dan weer mou anders staat er niets in de cel want de berekeningen staan uit
Jouw versie is net wat uitgebreider dan wat ik zelf al had, die stopte en startte alleen het herberekenen namelijk..
#ANONIEMmaandag 6 februari 2012 @ 17:17
quote:
3s.gif Op maandag 6 februari 2012 10:35 schreef Deetch het volgende:
mooi verhaal KM, deze ga ik veel gebruiken. Nog wel even puzzelen hoe die statusbar werkt.

1
2
3
4
5
6
7
8
9
10
11
Sub StatBarDemo()

'Een simpel tellertje in de statusbar weergeven
For i = 0 To 32000
    Application.StatusBar = "Percentage uitgevoerd: " & CInt((i / 32000) * 100) & "%"
Next

'statusbar weer resetten
Application.StatusBar = False

End Sub

De progressbar is niet zo 1 2 3 te benaderen, maar daar kun je op deze manier omheen

1
2
3
4
5
6
7
8
9
Sub StatBarDemo()
'Een soort van progress bar in de statusbar weergeven
For i = 0 To 32000
    Application.StatusBar = (CInt((i / 32000) * 100)) & "%  " & String(CInt((i / 32000) * 10), ChrW(9609))
Next
'statusbar weer resetten
Application.StatusBar = False

End Sub

Als ik overigens hele uitgebreide code draai, zeg maar macro's van rond de 5 mb aan code dan speel ik vals en maak ik een optelsom van het percentage

Ik schat dan in hoe lang elke deel procedure ongeveer duurt en dan tel ik dat op bij het percentage.

Het gaat er niet zo om of het percentage echt klopt (zie ook windows progressbars, die kloppen ook nooit van een meter, 90% in een seconde en dan over de laatste 10% een half uur doen ;) )

Het gaat er om dat je de gebruiker het gevoel geeft dat er iets gebeurt, mensen zijn snel geneigd om op esc te drukken of op CTRL + ALT + Delete, met de mededeling "Hij liep vast ;(" Terwijl het gewoon soms tijd kost om iets te laten uitvoeren.

Zeker als je iets bouwt voor een groep gebruikers is het van belang ze het gevoel te geven dat er iets gebeurt, als het voor jezelf is, is het vooral opleuken... Ook leuk natuurlijk ;)

Ik bouw zelf macro's voor een middelgroot ingenieursbureau, vrij uitgebreide scripts die samenwerken met een aantal bussinessystemen en datacollectie systemen (loggerdata, veldwerkdata etc), die een geweldig kloterige uitvoer hebben, maar die zijn door een hotemetoot aangekocht die inmiddels met een dikke handdruk elders werkt...

Uit irritatie hierover ben ik ooit zelf begonnen met het maken van die dingen, zo erg dat ik mijn eigen werkzaamheden zowat had weggeprogrammeerd. Tegenwoordig mag ik een deel van mijn tijd besteden aan dit soort crea-bea gehobby *O*

[ Bericht 14% gewijzigd door #ANONIEM op 06-02-2012 18:51:56 ]
elkravomaandag 6 februari 2012 @ 19:28
Hoi KM,

Dit moet een eitje zijn voor je:

In een lijst van 10.000 items (lengte beperking), staan in kolom B datums.
Willekeurig ontbreken op bepaalde regels/rijen datums (lege cel).

Er is nooit sprake van twee lege regels/rijen.

Is er een leuk VBAtje waarbij van cel B5 t/m B10.005 wordt doorlopen en indien lege cel, de datum(-waarde (paste value)) van de bovenstaande wordt gekopieerd en geplakt? Zou me handmatig een-voor-een copy-pasten schelen.

Bij voorbaat dank! :)
#ANONIEMmaandag 6 februari 2012 @ 19:41
quote:
0s.gif Op maandag 6 februari 2012 19:28 schreef elkravo het volgende:
Hoi KM,

Dit moet een eitje zijn voor je:

In een lijst van 10.000 items (lengte beperking), staan in kolom B datums.
Willekeurig ontbreken op bepaalde regels/rijen datums (lege cel).

Er is nooit sprake van twee lege regels/rijen.

Is er een leuk VBAtje waarbij van cel B5 t/m B10.005 wordt doorlopen en indien lege cel, de datum(-waarde (paste value)) van de bovenstaande wordt gekopieerd en geplakt? Zou me handmatig een-voor-een copy-pasten schelen.

Bij voorbaat dank! :)
Dat zou je zelf kunnen uitvinden aan de hand van reeds gepostte code, maar ok, ik ben de kwaadste niet ;)

Deze code in het werkblad of een module plakken

1
2
3
4
5
6
7
8
9
10
11
Sub AddDate()
MOA 'sub MOA is een paar posts terug te vinden
    
    For i = 5 To 10005
        If ActiveSheet.Cells(i, 2) = "" Then
            ActiveSheet.Cells(i, 2) = ActiveSheet.Cells(i - 1, 2)
        End If
    Next

MOU 'sub MOU is een paar posts terug te vinden
End Sub


[ Bericht 3% gewijzigd door #ANONIEM op 06-02-2012 19:42:55 ]
elkravomaandag 6 februari 2012 @ 19:56
quote:
3s.gif Op maandag 6 februari 2012 19:41 schreef KritischeMassa het volgende:

[..]

Dat zou je zelf kunnen uitvinden aan de hand van reeds gepostte code, maar ok, ik ben de kwaadste niet ;)

Deze code in het werkblad of een module plakken
[ code verwijderd ]

Nee je bent de kwaadste niet... ^O^

Ik kan VBA wel beredeneren als ik het zie, maar bedenken wordt toch heel wat moeilijker... harstikke bedankt!
qu63maandag 6 februari 2012 @ 20:51
quote:
4s.gif Op maandag 6 februari 2012 17:17 schreef KritischeMassa het volgende:
Uit irritatie hierover ben ik ooit zelf begonnen met het maken van die dingen, zo erg dat ik mijn eigen werkzaamheden zowat had weggeprogrammeerd. Tegenwoordig mag ik een deel van mijn tijd besteden aan dit soort crea-bea gehobby *O*
Zoeken jullie nog collega's? O-)
#ANONIEMdinsdag 7 februari 2012 @ 06:37
quote:
0s.gif Op maandag 6 februari 2012 20:51 schreef qu63 het volgende:

[..]

Zoeken jullie nog collega's? O-)
Goeie meettechnici zijn schaars, dus ja die zeker
Frixeldinsdag 7 februari 2012 @ 08:35
Hallo,

Bestaat er een optie in Excel of een Macro dat er twee bestanden met elkaar vergeleken worden en dat er dan één bestand (bv masterbestand)
word aangevuld met de gegevens die in het 2e bestand meer staan?
Eigenlijk is het dus een soort synchronisatie?

Ik wil dus eigenlijk de kolommen A tm H vergelijken.
#ANONIEMdinsdag 7 februari 2012 @ 08:38
Het antwoord van Wokkel in jouw eerste topic voldeed niet?

Stel dat A1 blad 1 gelijk is aan A23 blad 2 moet dan ook B1 met B23 worden vergeleken? en zo verder voor C t/m H of is een vergelijking van A met A voldoende?
Frixeldinsdag 7 februari 2012 @ 08:52
quote:
3s.gif Op dinsdag 7 februari 2012 08:38 schreef KritischeMassa het volgende:
Het antwoord van Wokkel in jouw eerste topic voldeed niet?

Stel dat A1 blad 1 gelijk is aan A23 blad 2 moet dan ook B1 met B23 worden vergeleken? en zo verder voor C t/m H of is een vergelijking van A met A voldoende?
Inderdaad, als A1 blad 1 gelijk is aan A23 blad 2 dan moet ook B1 met B23 worden vergeleken en zo verder want er kan een "afwijking" in de volgende kolommen voorkomen.
dat maakt het zo ingewikkeld vrees ik.
#ANONIEMdinsdag 7 februari 2012 @ 08:56
Niet ingewikkeld, wel traag (indien VBA)

Ik zou eerst eens de tip van wokkel uitproberen.

Anders kom ik hier vanmiddag/avond op terug (zit nu op mijn werk ;) )
qu63dinsdag 7 februari 2012 @ 09:46
quote:
3s.gif Op dinsdag 7 februari 2012 06:37 schreef KritischeMassa het volgende:

[..]

Goeie meettechnici zijn schaars, dus ja die zeker
Hmm, dan zit ik met mijn opleiding Small Business & Retail Management niet echt goed geloof ik :+
Setting_Sundinsdag 7 februari 2012 @ 11:31
Excel 2010 de look van Excel 2007 geven, kan dat?
DaFandinsdag 7 februari 2012 @ 11:50
quote:
5s.gif Op dinsdag 7 februari 2012 11:31 schreef Setting_Sun het volgende:
Excel 2010 de look van Excel 2007 geven, kan dat?
Nee. Wen er maar aan :P
En ook al zou het kunnen zou ik het niet doen als ik jou was.
Deetchdinsdag 7 februari 2012 @ 12:51
quote:
5s.gif Op dinsdag 7 februari 2012 11:31 schreef Setting_Sun het volgende:
Excel 2010 de look van Excel 2007 geven, kan dat?
gewoon even eraan wennen.
#ANONIEMdinsdag 7 februari 2012 @ 17:14
quote:
0s.gif Op dinsdag 7 februari 2012 08:52 schreef Frixel het volgende:

[..]

Inderdaad, als A1 blad 1 gelijk is aan A23 blad 2 dan moet ook B1 met B23 worden vergeleken en zo verder want er kan een "afwijking" in de volgende kolommen voorkomen.
dat maakt het zo ingewikkeld vrees ik.
Werkte de tip van Wokkel?
#ANONIEMdinsdag 7 februari 2012 @ 20:10
Op deze locatie kun je een zipfile downloaden die de volgende files bevat:

Master (voorbeeld file)
Slave (voorbeeld file)

MergeFile.xls (excel sheet)
MergeFile.xla (add-in)

Mergefile gaat het om, de master en slave zijn twee files die samengevoegd moeten worden

Ik ben ervan uitgegaan dat in zowel de master als de slavefile het de eerste sheet (tabblad) betreft

Er zit een hoop bla bla code bij om het één en ander gebruiksvriendelijk te maken (een menu met een item, een userform voor het aanwijzen van de files en MOU en MOA)

Uiteindelijk gaat het om de routine MergeFiles. (zie code hieronder). Wat je moet weten is dat "sheets(1)" slaat op het eerste tabblad, je kan dit zelf (consequent!) aanpassen (WB1 is de master, wb2 is de slave)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Sub MergeFiles()
    If WB_1 = "" Then Exit Sub
    If WB_2 = "" Then Exit Sub
    MOA
    
        Workbooks.Open (WB_1)
        WB_1_Name = ActiveWorkbook.Name
        WB_1_LastCell = Workbooks(WB_1_Name).Sheets(1).Cells.SpecialCells(xlCellTypeLastCell).Row
        Workbooks.Open (WB_2)
        WB_2_Name = ActiveWorkbook.Name
        WB_2_LastCell = Workbooks(WB_2_Name).Sheets(1).Cells.SpecialCells(xlCellTypeLastCell).Row
        NewRow = WB_1_LastCell + 1
        
        'regel i uit de slave file moet vergeleken worden met iedere regel j uit de masterfile
        'als regel i voorkomt in de masterfile dan doet de routine niets
        'als regel i niet voorkomt in de masterfile zet de routine regel i onder de masterfile
    
        
        For i = 1 To WB_2_LastCell
        Application.StatusBar = CInt(i / WB_2_LastCell * 100) & "% klaar"
        SlaveStr = ""
        MasterStr = ""
        UniqueRow = True
            For KolTel = 1 To 8
                SlaveStr = SlaveStr & Workbooks(WB_2_Name).Sheets(1).Cells(i, KolTel)
            Next
                For j = 1 To WB_1_LastCell
                    MasterStr = ""
                    For KolTel = 1 To 8
                        MasterStr = MasterStr & Workbooks(WB_1_Name).Sheets(1).Cells(j, KolTel)
                    Next
        
                    If SlaveStr = MasterStr Then
                        UniqueRow = False
                    End If
                Next
            
            If UniqueRow = True Then
                For KolTel = 1 To 8
                    Workbooks(WB_1_Name).Sheets(1).Cells(NewRow, KolTel) = Workbooks(WB_2_Name).Sheets(1).Cells(i, KolTel)
                Next
            NewRow = NewRow + 1
            End If
        Next
        
        Workbooks(WB_2_Name).Close False
    MOU
End Sub

MergeFile is twee keer toegevoegd, 1 keer als xls (een gewoon werkboek) en 1 keer als .xla. Dit is een add-in die je via invoegtoepassingen standaard in excel kunt installeren

Ik heb klachten gezien dat je virusscanner op mediafire kan afgaan, daar kan ik niets aan doen. De code zelf in de xla en de xls is identiek en vrij toegankelijk en is virus vrij.

Ik raad je wel aan om altijd een backup te maken van je master en slave file voor je gaat testen met mijn code, want tja, ik blijf een hobby programmeur.

Als je Mediafire niet vertrouwt kan ik je de zipfile ook mailen, DM me dan.

[ Bericht 46% gewijzigd door #ANONIEM op 07-02-2012 20:10:51 ]
elkravodinsdag 7 februari 2012 @ 23:34
Ik heb macro's verwijderd uit mijn spreadsheet.
Echter bij opstarten meld Excel "deze sheet bevat macro's"...

Wat ben ik vergeten?
qu63woensdag 8 februari 2012 @ 01:59
quote:
0s.gif Op dinsdag 7 februari 2012 23:34 schreef elkravo het volgende:
Ik heb macro's verwijderd uit mijn spreadsheet.
Echter bij opstarten meld Excel "deze sheet bevat macro's"...

Wat ben ik vergeten?
Opgeslagen als .xlsm?
#ANONIEMwoensdag 8 februari 2012 @ 17:30
Fixel, was mijn oplossing wat je wilde?

[ Bericht 22% gewijzigd door #ANONIEM op 08-02-2012 17:30:40 ]
elkravowoensdag 8 februari 2012 @ 18:28
quote:
0s.gif Op woensdag 8 februari 2012 01:59 schreef qu63 het volgende:

[..]

Opgeslagen als .xlsm?
Heb nog een oudere Excel 2003.... dus nog gewoon XLS

Hoe kom ik van die macro melding af als ik geen macro in de sheet meen te hebben?
hendrik2009woensdag 8 februari 2012 @ 18:29
Module verwijderen. Alt+F11
elkravowoensdag 8 februari 2012 @ 18:43
quote:
0s.gif Op woensdag 8 februari 2012 18:29 schreef hendrik2009 het volgende:
Module verwijderen. Alt+F11
Thanks! ^O^
qu63woensdag 8 februari 2012 @ 19:05
quote:
0s.gif Op woensdag 8 februari 2012 18:28 schreef elkravo het volgende:

[..]

Heb nog een oudere Excel 2003.... dus nog gewoon XLS

Hoe kom ik van die macro melding af als ik geen macro in de sheet meen te hebben?
Dan zou het opgeslagen kunnen zijn als .xlm, maar ik zie dat t al opgelost is ;)
Puckzzzdonderdag 9 februari 2012 @ 10:01
En daar is ze weer met een domme vraag! :D Dat van die taal vergeet ik ff het liefst zo snel mogelijk :@

Excel 20110 NL ;)

Ok...ik heb een hele lijst met adressen/locaties van rioolgemaaltjes (meer dan 600) een aantal van die adressen uit de lijst zijn hoofdgemalen. Deze lijst staat op de tab 'installaties'
Nu is het zo dat ik elke maand een export doe uit ons storingssysteem, dan krijg ik dus een hele lijst met storingen die voorgevallen zijn aan de verschillende installaties. Die lijst komt op de eerste tab, waarna ik eruit ga filteren welke storingen verrekenbaar zijn.
Momenteel filter ik dus handmatig dmv de zoekfunctie welke gemalen uit die lijst de hoofdgemalen zijn (want dat is een andere verrekenprijs) en maak de cel lichtrood. Een heel werk :)
Kan ik in de kolom van tab 1 waar de adressen staan een soort voorwaardelijke opmaak instellen zodat hij meteen de adressen van de hoofdgemalen herkent en de cel lichtrood maakt?
Deetchdonderdag 9 februari 2012 @ 10:15
Stel lokatie van storing staat in cel A2
De lijst met hoofdgemaallocaties staat op tabblad "gemaal" cellen A2:A20.

met deze formule:
=IF(ISERROR(VLOOKUP(A2,gemaal!$A$2:$A$20,1,FALSE)),"","X")

In het NL =ALS(ISFOUT(VERT.ZOEKEN(A2;gemaal!$A$2:$A$20;1;ONWAAR));"";"X")

bepaal je of de locatie in A2 een hoofdgemaal is. Zo ja dan komt er in de cel een X te staan zo nee dan komt er niks te staan.
De "" en "X" kun je naar believen veranderen in een functie of waarde, bijvoorbeeld de verrekenprijs
actuarisjedonderdag 9 februari 2012 @ 12:11
Hoihoi,

Ik heb een vraag over het kopieren van een tabblad. Ik heb een sheet met daarin een overzicht van een aantal medewerkers en een aantal 'template'-sheets voor elk functieprofiel. Ik wil nu met een druk op de knop voor alle medewerkers in de lijst een eigen tabblad aanmaken, gebaseerd op hun functieprofiel. Er wordt dus gekeken naar welk functieprofiel in de lijst staat en aan de hand daarvan wordt bepaald van welke 'template'-sheet er een kopie moet worden gemaakt.

Ik heb beovenstaande functionaliteit gebouwd mbv VBA en op zich gaat dat goed. Voor elke medewerker wordt een juist tabblad aangemaakt. Ik zi nu alleen dat het mis gaat bij het printen van deze tabbladen. Bij het kopieren van de template-sheet wordt wel netjes de info uit de sheet meegenomen (tekst, kolombreedtes, gekleurde cellen e.d), maar niet de pagina-instellingen (schaal, marges kop/voettekst e.d).

Mijn vraag is dus: Hoe kan ik mbv VBA een sheet zodanig kopieren dat ook de pagina-instellingen worden meegenomen?

Wat ik nu doe is eerste een nieuw, leeg tabblad aanmaken (Worksheets.Add) en dan de template daarheen copy-pasten. En daarbij gaat het blijkbaar mis, want de sheet krijgt dan de pagina-instellingen van een nieuwe, lege sheet en niet die van de kopieer-bron...
ralfiedonderdag 9 februari 2012 @ 14:48
quote:
0s.gif Op donderdag 9 februari 2012 12:11 schreef actuarisje het volgende:
Hoihoi,

Ik heb een vraag over het kopieren van een tabblad. Ik heb een sheet met daarin een overzicht van een aantal medewerkers en een aantal 'template'-sheets voor elk functieprofiel. Ik wil nu met een druk op de knop voor alle medewerkers in de lijst een eigen tabblad aanmaken, gebaseerd op hun functieprofiel. Er wordt dus gekeken naar welk functieprofiel in de lijst staat en aan de hand daarvan wordt bepaald van welke 'template'-sheet er een kopie moet worden gemaakt.

Ik heb beovenstaande functionaliteit gebouwd mbv VBA en op zich gaat dat goed. Voor elke medewerker wordt een juist tabblad aangemaakt. Ik zi nu alleen dat het mis gaat bij het printen van deze tabbladen. Bij het kopieren van de template-sheet wordt wel netjes de info uit de sheet meegenomen (tekst, kolombreedtes, gekleurde cellen e.d), maar niet de pagina-instellingen (schaal, marges kop/voettekst e.d).

Mijn vraag is dus: Hoe kan ik mbv VBA een sheet zodanig kopieren dat ook de pagina-instellingen worden meegenomen?

Wat ik nu doe is eerste een nieuw, leeg tabblad aanmaken (Worksheets.Add) en dan de template daarheen copy-pasten. En daarbij gaat het blijkbaar mis, want de sheet krijgt dan de pagina-instellingen van een nieuwe, lege sheet en niet die van de kopieer-bron...
1sheet.Copy([before], [after]);
Barry87donderdag 9 februari 2012 @ 17:08
Ik heb het volgende 'probleem':

In kolom C heb ik de namen van producten staan en in kolom H staat bij een gedeelte van deze producten de prijs. Bijvoorbeeld in cel C2 staat het product 'Measuring jug' in cel H2 staat de prijs van 4,60. Dit is prima.

Het probleem is echter dat in bijvoorbeeld C211 ook het product 'Measuring jug' staat maar de cel H211 is leeg.

Kan ik het niet zo instellen dat bij het invullen van 'Measuring jug' in cel C211 de prijs van 4,60 automatisch in cel H211 komt?

Hopelijk kan iemand mij helpen. _O_
qu63donderdag 9 februari 2012 @ 17:14
quote:
0s.gif Op donderdag 9 februari 2012 17:08 schreef Barry87 het volgende:
Ik heb het volgende 'probleem':

In kolom C heb ik de namen van producten staan en in kolom H staat bij een gedeelte van deze producten de prijs. Bijvoorbeeld in cel C2 staat het product 'Measuring jug' in cel H2 staat de prijs van 4,60. Dit is prima.

Het probleem is echter dat in bijvoorbeeld C211 ook het product 'Measuring jug' staat maar de cel H211 is leeg.

Kan ik het niet zo instellen dat bij het invullen van 'Measuring jug' in cel C211 de prijs van 4,60 automatisch in cel H211 komt?

Hopelijk kan iemand mij helpen. _O_
Ken je de functie vert.zoeken()?
elkravovrijdag 10 februari 2012 @ 20:13
Ik exporteer een deel van een Excel blad met onderstaande VBA naar een csv-file.
Gevonden op internet, en werkt goed.

Toch ben ik over een ding niet tevreden. In deze export-VBA zit ingebakken een vaste plaats op de harde schijf... in dit geval: C:\Users\Elkravo\Desktop\File.csv

Is deze opdracht te vervangen door iets waarbij ik zelf een plaats kan aanwijzen in het proces.
Deze vraag is ingegeven door het feit dat meerdere personen het sheet op eigen computer gebruiken, en dus de macro niet te specifiek een locatie moet aanwijzen.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub export()
     '
     ' export Macro
     
    Range("A1:E50").Select
    Selection.Copy
    Workbooks.Add
    ActiveSheet.Paste
    ActiveWorkbook.SaveAs Filename:= _
    "C:\Users\Elkravo\Desktop\File.csv" _
    , FileFormat:=xlCSV, CreateBackup:=False
    Application.DisplayAlerts = False
    ActiveWorkbook.Close
    Application.DisplayAlerts = True
     
End Sub


[ Bericht 97% gewijzigd door elkravo op 10-02-2012 23:09:45 ]
#ANONIEMzaterdag 11 februari 2012 @ 07:25
saveas = stringwaarde

Stringwaarde in simpel userform vragen

Je kan ook naar de directory browsen en de stringwaarde opbouwen als

stringwaarde = newdir & "Filename"

Of gewoon gebruiken wat er al is ;) :

1
2
3
fileSaveName = Application.GetSaveAsFilename( _
 fileFilter:="csv Files (*.csv), *.csv")
 ActiveWorkbook.SaveAs (fileSaveName)

Je kan eventueel ook gebruik maken van het pad ThisWorkbook.path & "\" & "NAAM"

Als je echter een Add-In gebruikt voor de code verwijst ThisWorkbook naar het pad van de Add-In en kun je beter ActiveWorkbook.path gebruiken

[ Bericht 9% gewijzigd door #ANONIEM op 11-02-2012 08:59:22 ]
#ANONIEMzaterdag 11 februari 2012 @ 08:43
quote ipv edit gedrukt ;(

[ Bericht 40% gewijzigd door #ANONIEM op 11-02-2012 08:45:07 ]
elkravozaterdag 11 februari 2012 @ 13:48
quote:
7s.gif Op zaterdag 11 februari 2012 07:25 schreef KritischeMassa het volgende:
saveas = stringwaarde

Stringwaarde in simpel userform vragen

Je kan ook naar de directory browsen en de stringwaarde opbouwen als

stringwaarde = newdir & "Filename"

Of gewoon gebruiken wat er al is ;) :
[ code verwijderd ]

Je kan eventueel ook gebruik maken van het pad ThisWorkbook.path & "\" & "NAAM"

Als je echter een Add-In gebruikt voor de code verwijst ThisWorkbook naar het pad van de Add-In en kun je beter ActiveWorkbook.path gebruiken
Hoi KM, alvast bedankt, maar ik krijg het niet helemaal voor elkaar.

Ik geef de voorkeur aan jouw code (waarbij dus een opslaan-als scherm wordt gebruikt)... alleen die moet ik integreren in mijn bestaande code.
Dit lukt mij niet (hij maakt een False.xls) ... want ik weet niet precies hoe die dingen in elkaar moeten geflansd worden. Ben echt een VBA newbie (leek)...
#ANONIEMzaterdag 11 februari 2012 @ 13:57
1
2
3
4
5
6
7
8
9
10
11
Sub export()     '
'export Macro
    Range("A1:E50").Copy
    Workbooks.Add
    ActiveSheet.Paste
    fileSaveName = Application.GetSaveAsFilename(fileFilter:="csv Files (*.csv), *.csv")
    ActiveWorkbook.SaveAs (fileSaveName)
    Application.DisplayAlerts = False
    ActiveWorkbook.Close
    Application.DisplayAlerts = True
End Sub

Als er geen bestandsnaam wordt gesuggereerd en je geeft niets op krijg je idd FALSE terug

dat kun je zo ondervangen:

1
2
3
4
5
6
7
8
9
10
11
12
Sub export()     '
'export Macro
    Range("A1:E50").Copy
    Workbooks.Add
    ActiveSheet.Paste
    fileSaveName = Application.GetSaveAsFilename(fileFilter:="csv Files (*.csv), *.csv")
    If fileSaveName = False Then Exit Sub
    ActiveWorkbook.SaveAs (fileSaveName)
    Application.DisplayAlerts = False
    ActiveWorkbook.Close
    Application.DisplayAlerts = True
End Sub


[ Bericht 34% gewijzigd door #ANONIEM op 11-02-2012 14:04:56 ]
elkravozaterdag 11 februari 2012 @ 15:06
quote:
3s.gif Op zaterdag 11 februari 2012 13:57 schreef KritischeMassa het volgende:

[ code verwijderd ]

Als er geen bestandsnaam wordt gesuggereerd en je geeft niets op krijg je idd FALSE terug

dat kun je zo ondervangen:
[ code verwijderd ]

Hoi KM,

Heb de tweede gedaan...

Hij vraagt om een naam, geeft CSV type aan. Echter, het resultaat is FALSE.xls ipv mijnnaam.csv

FALSE.xls is ook niet in csv format (te zien als ik deze open met kladblok).
#ANONIEMzaterdag 11 februari 2012 @ 17:04
quote:
0s.gif Op zaterdag 11 februari 2012 15:06 schreef elkravo het volgende:

[..]

Hoi KM,

Heb de tweede gedaan...

Hij vraagt om een naam, geeft CSV type aan. Echter, het resultaat is FALSE.xls ipv mijnnaam.csv

FALSE.xls is ook niet in csv format (te zien als ik deze open met kladblok).
Wat gek, ik heb het getest in een willekruige sheet en daar werkte het gewoon

wat geeft een msgbox met de string erin?

dus zo:

1
2
3
If fileSaveName = False Then Exit Sub    
msgbox filesavename
ActiveWorkbook.SaveAs (fileSaveName)
elkravozaterdag 11 februari 2012 @ 18:05
quote:
3s.gif Op zaterdag 11 februari 2012 17:04 schreef KritischeMassa het volgende:

[..]

Wat gek, ik heb het getest in een willekruige sheet en daar werkte het gewoon

wat geeft een msgbox met de string erin?

dus zo:
[ code verwijderd ]

Hoi, ik zie geen verschil::

Wat nu gebeurt is...

Er wordt een nieuw excel-map gemaakt, en ik krijg deze pop-up:

xl1.jpg

Vervolgens zet ik er een nieuwe naam in... maar wordt het blad toch als FALSE.xls bewaard.

In de oorspronkelijke code staat o.a.:
1, FileFormat:=xlCSV,

mist dit op een of andere manier niet?
#ANONIEMzaterdag 11 februari 2012 @ 19:49
quote:
0s.gif Op zaterdag 11 februari 2012 18:05 schreef elkravo het volgende:

[..]

Hoi, ik zie geen verschil::

Wat nu gebeurt is...

Er wordt een nieuw excel-map gemaakt, en ik krijg deze pop-up:

[ afbeelding ]

Vervolgens zet ik er een nieuwe naam in... maar wordt het blad toch als FALSE.xls bewaard.

In de oorspronkelijke code staat o.a.:
[ code verwijderd ]

mist dit op een of andere manier niet?
Je had een messagebox moeten krijgen met het pad en de filenaam

Zet die hele code nu eens in een nieuwe sheet en test het vanaf daar (opgeslagen en wel)

En nee , je geeft het filetype immers al op in het dialoog

hier de sheet die ik heb

In de bovenstaande sheet draai de macro "export"

[ Bericht 7% gewijzigd door #ANONIEM op 11-02-2012 19:52:05 ]
elkravozaterdag 11 februari 2012 @ 20:13
quote:
3s.gif Op zaterdag 11 februari 2012 19:49 schreef KritischeMassa het volgende:

[..]

Je had een messagebox moeten krijgen met het pad en de filenaam

Zet die hele code nu eens in een nieuwe sheet en test het vanaf daar (opgeslagen en wel)

En nee , je geeft het filetype immers al op in het dialoog

hier de sheet die ik heb

In de bovenstaande sheet draai de macro "export"
Ok, de vba uit jouw file gebruikt... de file creatie werkt nu wel. Dank.

Alleen lijkt de format van de geëxporteerde file "intern" niet "comma separated".
Als ik de file open in kladblok verwacht ik (uit jouw file)

1
2
3
4
5
1;2;3;4;5
q;q;q;q;q
w;w;w;w;w
2;3;4;5;6
etc

Maar de uitkomst van de export maakt dit niet, bij openen in kladblok zie ik allerlei rare tekens, dus ik denk dat het toch nog op een of andere manier intern nog xls-format is of zo...
#ANONIEMzaterdag 11 februari 2012 @ 20:20
quote:
0s.gif Op zaterdag 11 februari 2012 20:13 schreef elkravo het volgende:

[..]

Ok, de vba uit jouw file gebruikt... de file creatie werkt nu wel. Dank.

Alleen lijkt de format van de geëxporteerde file "intern" niet "comma separated".
Als ik de file open in kladblok verwacht ik (uit jouw file)
[ code verwijderd ]

Maar de uitkomst van de export maakt dit niet, bij openen in kladblok zie ik allerlei rare tekens, dus ik denk dat het toch nog op een of andere manier intern nog xls-format is of zo...
Ok, we komen verder iig ;)

dus het is geen csv als gehoopt...

hmmm

1    ActiveWorkbook.SaveAs Filename:=filesavename, FileFormat:=xlCSV, CreateBackup:=False

en zo?
elkravozaterdag 11 februari 2012 @ 20:28
quote:
3s.gif Op zaterdag 11 februari 2012 20:20 schreef KritischeMassa het volgende:

[..]

Ok, we komen verder iig ;)

dus het is geen csv als gehoopt...

hmmm
[ code verwijderd ]

en zo?
That was the missing piece! *O* Hij doet 't!

KM ik ben je enorm dankbaar! ^O^

En ik heb weer nieuwe dingen geleerd ook zo, waarvoor ook dank!
#ANONIEMzaterdag 11 februari 2012 @ 20:31
quote:
14s.gif Op zaterdag 11 februari 2012 20:28 schreef elkravo het volgende:

[..]

That was the missing piece! *O* Hij doet 't!

KM ik ben je enorm dankbaar! ^O^

En ik heb weer nieuwe dingen geleerd ook zo, waarvoor ook dank!
Ik was met opzet vrij cryptisch in mijn antwoorden, je was al zo lekker op weg ;)

Heb je gezien dat ik je "select" actie heb weggehaald in jouw code?

Als je gebruik maakt van macro opnemen zitten er een hoop select acties in, die zijn helemaal niet nodig en laten het scherm flikkeren. Je kan vrij direct ranges aanwijzen en manipuleren namelijk.

:)
elkravozaterdag 11 februari 2012 @ 20:57
quote:
3s.gif Op zaterdag 11 februari 2012 20:31 schreef KritischeMassa het volgende:

[..]

Ik was met opzet vrij cryptisch in mijn antwoorden, je was al zo lekker op weg ;)

Heb je gezien dat ik je "select" actie heb weggehaald in jouw code?

Als je gebruik maakt van macro opnemen zitten er een hoop select acties in, die zijn helemaal niet nodig en laten het scherm flikkeren. Je kan vrij direct ranges aanwijzen en manipuleren namelijk.

:)
Hah nee dat was me niet opgevallen. Maar goed als ik die codes zie snap ik een en ander, en veel ook weer niet. Weet niet waar mensen dit soort spul leren, maar dit moet je dus gewoon leren, en lezen, het is niet altijd redeneerbaar. Lijkt me bij computertaal in het algemeen het geval.
#ANONIEMzaterdag 11 februari 2012 @ 21:01
quote:
0s.gif Op zaterdag 11 februari 2012 20:57 schreef elkravo het volgende:

[..]

Hah nee dat was me niet opgevallen. Maar goed als ik die codes zie snap ik een en ander, en veel ook weer niet. Weet niet waar mensen dit soort spul leren, maar dit moet je dus gewoon leren, en lezen, het is niet altijd redeneerbaar. Lijkt me bij computertaal in het algemeen het geval.
Basic is in al zijn vormen een bitch ;)

Leer C en vandaar uit andere talen, dan snap je wat meer en kun je wat meer apparatuur programmeren (ik ben vrij beroemd in de casio rekenmachine cultuur, ik heb zelfs simcity, pacman en pool geport naar de casio grafische calculator (nerd ;( ))
elkravozondag 12 februari 2012 @ 18:47
yep klinkt nerdy ;) ... maar ieder zijn ding :P ...zolang je er maar plezier in hebt!

Nog even een andere vraag:

In een macro heb ik deze selectie (zie hoe ik geleerd heb zonder te selecten :P )

1Range("I87:M138").Copy

In deze range staat dus een tabel te kopieren.

Echter... het kan zijn dat door ergens boven in de sheet een rij te verwijderen dat de macro dus niet meedenkt dat het dan
1Range("I86:M137").Copy
moet worden

OF

Het kan zijn dat er een rij uit de range wordt verwijderd en dat de macro dus niet meedenkt dat het dan
1Range("I87:M137").Copy
moet worden.

Ik denk dat een manier moet zijn om dit te ondervangen door voor de eerste cel , en na de laatste cel een markeringspunt (een unieke term "SelecteerStart" en "SelecteerEinde") te zetten, en de macro dus tussen deze twee markeringspunten te selecteren.

Geen idee hoe dat dan weer moet... idee?
#ANONIEMzondag 12 februari 2012 @ 19:34
Ja hoor

Je kan range en cells combineren

Cells kun je tellen -> Cells(i,j)

Door nu door de kolom heen te lopen kun je het start en einde van de range detecteren

pseudocode

For i = 1 to 32000

if cells(i,1)= "start" then
SelStart = i
end if

if cells(i,1) = "einde" then
SelEnd = i
exit for
end if

next

Nu weet je het begin en het eind

nu kun je de range specificeren

range(cells(StartSel,1),cells(EndSel,8))

de 1 en de 8 slaan op de kolomnummers

edit:

Dit gaat natuurlijk grandioos de mist in als je de regel met start of einde verwijderd

kun je niet beter de gebruiker de range laten selecteren met inputbox type 8? (zie post #4 in dit topic voor een voorbeeld)

[ Bericht 3% gewijzigd door #ANONIEM op 12-02-2012 19:38:58 ]
elkravozondag 12 februari 2012 @ 20:08
quote:
3s.gif Op zondag 12 februari 2012 19:34 schreef KritischeMassa het volgende:
Ja hoor

Je kan range en cells combineren

Cells kun je tellen -> Cells(i,j)

Door nu door de kolom heen te lopen kun je het start en einde van de range detecteren

pseudocode

For i = 1 to 32000

if cells(i,1)= "start" then
SelStart = i
end if

if cells(i,1) = "einde" then
SelEnd = i
exit for
end if

next

Nu weet je het begin en het eind

nu kun je de range specificeren

range(cells(StartSel,1),cells(EndSel,8))

de 1 en de 8 slaan op de kolomnummers

edit:

Dit gaat natuurlijk grandioos de mist in als je de regel met start of einde verwijderd

kun je niet beter de gebruiker de range laten selecteren met inputbox type 8? (zie post #4 in dit topic voor een voorbeeld)
Ik vind jouw beschreven optie goed, ik wil dat een gebruiker niets hoeft te doen. En die regels met start en einde gaan niet weg.

Echter... ik mis een bruggetje...hoe ik van

range(cells(StartSel,1),cells(EndSel,8)) ....naar het kopieren van deze range kom. '. copy' erachter zetten werkt niet.

xl2.jpg


edit: ik blijf een compileerfout krijgen op:

Range(Cells(StartSel, 1), Cells(EndSel, 9))

(ook als ik over StartSel en EndSel gebruik en niet SelStart hier en SelEnd ;) )

[ Bericht 5% gewijzigd door elkravo op 12-02-2012 20:29:52 ]
elkravozondag 12 februari 2012 @ 21:19
^^^

Ben er zelf uitgekomen... en het werkt.... moest me even suf googlen ;-)

Maar bedankt voor de voorzet KM!
#ANONIEMmaandag 13 februari 2012 @ 06:08
quote:
0s.gif Op zondag 12 februari 2012 20:08 schreef elkravo het volgende:
(ook als ik over StartSel en EndSel gebruik en niet SelStart hier en SelEnd ;) )
haha dat was grappig he ;( (gebeurt me regelmatig, en dan zoek ik me suf wat er nou mis is ;(

En ja ik moet eigenlijk de code eerst testen in excel want ik weet de syntax altijd ongeveer een beetje

maar ik had het druk gisteravond ;) en zelf uitvinden is tig keer leerzaam dan overtypen

vandaar de disclaimer "pseudocode"

Edit:

Om grappen als hierboven te voorkomen kun je "option Explicit" boven je code zetten (eerste regel)

Dit dwingt je om elke Variabel te declareren (dus ook teller i etc)

Als een variabel niet is gedeclareerd stopt de code daar

Zo voorkom je dat een typefout door VBA wordt geïnterpreteerd als een nieuwe variabel

[ Bericht 13% gewijzigd door #ANONIEM op 13-02-2012 06:34:21 ]
mrrrtijn1975maandag 13 februari 2012 @ 19:31
quote:
0s.gif Op maandag 13 februari 2012 17:02 schreef mrrrtijn1975 het volgende:
Hi, ik zit met een uitdaging in Excel.

Stel ik wil dagelijks bijhouden in welk merk auto ik rijd en voer dat als volgt in :

[ afbeelding ]

Met de knop ' toevoegen aan lijst' wil ik dat een lijst wordt aangevuld, dat ziet er dan zo uit :

[ afbeelding ]

Hoe moet ik die knop programmeren? Is daar een formule voor, of moet ik met VB gaan werken, of kan ik eventueel met een macro werken? En hoe doe ik dat?

eeuwige roem voor degene die me hiermee kan helpen!

thx
#ANONIEMmaandag 13 februari 2012 @ 19:35
Een macro is VBA :P

En als je met een knop wil werken zit je vast aan VBA

Ik zou het met een userform oplossen denk ik, al snap ik de vraag niet helemaal

Maak een userform met drie tekstvakken

zet hiervoor drie labels:

Datum
Merk
Kleur

Het tekstvak datum kun je zelfs als "datepicker"opmaken ,maar dan moet je dat extra besturingselement wel in VBA toevoegen...

weet je, ik voeg zometeen een sheet toe die doet wat je wil, want dit gaat me teveel typwerk kosten en ik vermoed dat je geen idee hebt waar ik het over heb, niet onaardig bedoeld ;)
#ANONIEMmaandag 13 februari 2012 @ 19:49
De sheet

Er zit een userform in die opgeroepen wordt via de knop in de sheet

In het userform een datepicker voor de datum, twee tekstvakken en twee knoppen (annuleer en opslaan)

Achter de knop opslaan zit de volgende code

1
2
3
4
5
6
7
8
9
10
11
12
13
    For i = 1 To 3200
        'Kijken welke regel leeg is
        'Uitgaande van de datum kolom
        If ActiveWorkbook.ActiveSheet.Cells(i, 1) = "" Then Exit For
    Next

    'elke ingevoerde waarde in het formulier wordt in de sheet geplaatst
    ActiveWorkbook.ActiveSheet.Cells(i, 1) = DTPicker1.Value
    ActiveWorkbook.ActiveSheet.Cells(i, 2) = TextBox1.Value
    ActiveWorkbook.ActiveSheet.Cells(i, 3) = TextBox2.Value
    
    'userform sluiten
    Unload Me

Als je wil dat er niets wordt opgeslagen als het merk of de kleur niet is ingevevuld moet je zelf de code aanpassen

Iets met If textbox1="" then exit sub of zoiets ;)

Ik daag je uit om de code aan te passen, zoals je waarschijnlijk snapt :P...
mrrrtijn1975maandag 13 februari 2012 @ 19:50
@kritische massa : ik ga het proberen! Ik werk veel met macro's maar voorkom altijd net dat ik zelf code moet gaan typen. ;-) Thx!
teamleadmaandag 13 februari 2012 @ 19:51
iemand een idee?

Ik heb een sheet met 52 tabbladen (voor iedere week 1).
In zo'n tabblad staat in kolom A de naam van een medewerker en in kolom B tot en met L komt wel of geen "x" om bij te houden of iemand wel of niet in die week gecoacht is.

Nu wil ik een "overzichtspagina" hebben, waar ik in kolom A de naam van de medewerker heb staan en in kolom B (week 1) tot en met BA (week 52) het aantal "x" per medewerker voor de betreffende week.

Een aantal.arg per tabblad zou kunnen... als we iedere week dezelfde medewerkers zouden hebben. En dat is niet per definitie zo :')

Iemand een idee hoe ik een formule of macro kan gebruiken die kijkt naar de naam van de medewerker en dan per tabblad het aantal x-jes van die medewerker telt :?
#ANONIEMmaandag 13 februari 2012 @ 19:56
quote:
5s.gif Op maandag 13 februari 2012 19:51 schreef teamlead het volgende:
iemand een idee?

Ik heb een sheet met 52 tabbladen (voor iedere week 1).
In zo'n tabblad staat in kolom A de naam van een medewerker en in kolom B tot en met L komt wel of geen "x" om bij te houden of iemand wel of niet in die week gecoacht is.

Nu wil ik een "overzichtspagina" hebben, waar ik in kolom A de naam van de medewerker heb staan en in kolom B (week 1) tot en met BA (week 52) het aantal "x" per medewerker voor de betreffende week.

Een aantal.arg per tabblad zou kunnen... als we iedere week dezelfde medewerkers zouden hebben. En dat is niet per definitie zo :')

Iemand een idee hoe ik een formule of macro kan gebruiken die kijkt naar de naam van de medewerker en dan per tabblad het aantal x-jes van die medewerker telt :?
Aantal.als een idee?

Macro kan ook

In dit topic zijn een aantal voorbeelden van code en tellers die je opweg kunnen helpen
1
2
3
For i kan op cellen slaan maar ook op sheets (sheet(i))
Dan tellen in die sheets For  j bijvoorbeeld Sheet(i).cells(j,1)
Dan tellen in kolomen for k bijvoorbeeld sheet(i),cells(j,k)
Probeer eens wat zou ik zeggen en als het echt niet lukt zie ik je hier vanzelf weer ;)

[ Bericht 14% gewijzigd door #ANONIEM op 13-02-2012 19:57:24 ]
mrrrtijn1975maandag 13 februari 2012 @ 20:02
Hi Kritische massa, ik had nog niet aan deze oplossing gedacht om te werken met een user form. Ik moet me toch eens bezig gaan houden met VB, voor de eerste keer programmeren in 15 jaar. Het zal niet meevallen. ;-) thx!
#ANONIEMmaandag 13 februari 2012 @ 20:03
quote:
0s.gif Op maandag 13 februari 2012 20:02 schreef mrrrtijn1975 het volgende:
Hi Kritische massa, ik had nog niet aan deze oplossing gedacht om te werken met een user form. Ik moet me toch eens bezig gaan houden met VB, voor de eerste keer programmeren in 15 jaar. Het zal niet meevallen. ;-) thx!
Google en KM zullen je helpen ;)
teamleadmaandag 13 februari 2012 @ 20:12
quote:
3s.gif Op maandag 13 februari 2012 19:56 schreef KritischeMassa het volgende:

[..]

Aantal.als een idee?
met aantal.als loop ik er tegenaan dat ik óf de naam als criterium moet hanteren of de ingevulde "x" .
quote:
Macro kan ook

In dit topic zijn een aantal voorbeelden van code en tellers die je opweg kunnen helpen
[ code verwijderd ]

Probeer eens wat zou ik zeggen en als het echt niet lukt zie ik je hier vanzelf weer ;)
macro knutselen dus :)
McGillesmaandag 13 februari 2012 @ 22:16
quote:
5s.gif Op maandag 13 februari 2012 19:51 schreef teamlead het volgende:
iemand een idee?

Ik heb een sheet met 52 tabbladen (voor iedere week 1).
In zo'n tabblad staat in kolom A de naam van een medewerker en in kolom B tot en met L komt wel of geen "x" om bij te houden of iemand wel of niet in die week gecoacht is.

Nu wil ik een "overzichtspagina" hebben, waar ik in kolom A de naam van de medewerker heb staan en in kolom B (week 1) tot en met BA (week 52) het aantal "x" per medewerker voor de betreffende week.

Een aantal.arg per tabblad zou kunnen... als we iedere week dezelfde medewerkers zouden hebben. En dat is niet per definitie zo :')

Iemand een idee hoe ik een formule of macro kan gebruiken die kijkt naar de naam van de medewerker en dan per tabblad het aantal x-jes van die medewerker telt :?
Combinatie van vert.zoeken() en aantal.als() :)
Puckzzzdinsdag 14 februari 2012 @ 16:27
En alweer een vraag.
Excel 2010 NL

Ik heb een optelsom van aantal gewerkte uren.
Dit is in totaal bijvoorbeeld 65.25 uren (dus 65 uren en een kwartier)
Dan moet er in een andere cel dus het aantal in uren en minuten komen.

dus cel A1 staat 65.25
In cel A2 moet dan komen 65:15

Google maakt mij niet veel wijzer want die willen er allemaal een tijdnotatie van maken, en dat moet het dus niet zijn.

Mijn dank is weer oneindig ;)
Puckzzzdinsdag 14 februari 2012 @ 16:40
Ik heb 'm al :)

formule gewoon ='NL Maarssen (Stichtse Vecht)'!G3/24
en dan de cel eigenschap [uu]:mm

ik dacht ik deel 'm ff ;)
McGillesdinsdag 14 februari 2012 @ 18:51
quote:
17s.gif Op dinsdag 14 februari 2012 16:40 schreef Puckzzz het volgende:
Ik heb 'm al :)

formule gewoon ='NL Maarssen (Stichtse Vecht)'!G3/24
en dan de cel eigenschap [uu]:mm

ik dacht ik deel 'm ff ;)
Kan ook wel met formule: =INT(A1)&":"&60*(A1-INT(A1))
#ANONIEMdinsdag 14 februari 2012 @ 19:27
quote:
0s.gif Op dinsdag 14 februari 2012 18:51 schreef McGilles het volgende:

[..]

Kan ook wel met formule: =INT(A1)&":"&60*(A1-INT(A1))
Dat is wel heel ingewikkeld vind je niet?

Wel grappig dat deze vraag voor de tweede keer van dezelfde user in dit deel voorkomt (zie post #29).

Of ging het nu om de opmaak >24 uur in [uu]?
Puckzzzdinsdag 14 februari 2012 @ 19:43
quote:
3s.gif Op dinsdag 14 februari 2012 19:27 schreef KritischeMassa het volgende:

[..]

Dat is wel heel ingewikkeld vind je niet?

Wel grappig dat deze vraag voor de tweede keer van dezelfde user in dit deel voorkomt (zie post #29).

Of ging het nu om de opmaak >24 uur in [uu]?
nee, dat was toch iets anders. Dat zou de 24 uur niet overschrijden.
#ANONIEMdinsdag 14 februari 2012 @ 19:47
quote:
17s.gif Op dinsdag 14 februari 2012 19:43 schreef Puckzzz het volgende:

[..]

nee, dat was toch iets anders. Dat zou de 24 uur niet overschrijden.
Doe eens 63.25 uur delen door 24 en dan opmaken als dd-mm-jjjj uu:mm ;) (aangepaste opmaak)

Die blokhaken zorgen ervoor dat je geen dagen krijgt bij getallen groter dan 24 uur, wel handige feature die ik ook pas sinds kort ken.

maar delen door 24 is dé manier om decimaal om te zetten naar tijd
Pablooowoensdag 15 februari 2012 @ 12:16
Ik heb een nieuwe vraag.

Ik heb een lijst met namen, deze namen komen allemaal voor in een andere (veel langere) lijst met namen. In de lange lijst hebben de namen een code erachter.

Is het mogelijk om deze code's automagisch te laten verschijnen achter de korte lijst?

bedankt!
actuarisjewoensdag 15 februari 2012 @ 12:22
Zoek eens op de functie verticaal zoeken (VERT.ZOEKEN in NL versie VLOOKUP in EN versie). Staan meer dan genoeg voorbeelden van in deze topicreeks.
DaFanwoensdag 15 februari 2012 @ 12:27
Typisch hoeveel vragen er zijn over VLOOKUP :D
M_Schtoppeldonderdag 16 februari 2012 @ 09:00
Beste Excel-specialisten,

Ik werk met Excel 2010 en ik zit met het volgende. Ik heb een veld dat er als volgt uit ziet:

01.01.2012 14:45:23

Dus het tijdstip en dag dat iets gebeurd is. Zo heb ik ruim 100.000 van dat soort velden onder elkaar.
De categorie staat nu op standaard. Hoe kan ik van zo'n veld een datumveld maken zonder tijd? Bestaat er een functie die die tijd eraf kan trimmen?

Hartelijk dank alvast!
qu63donderdag 16 februari 2012 @ 09:41
quote:
0s.gif Op donderdag 16 februari 2012 09:00 schreef M_Schtoppel het volgende:
Beste Excel-specialisten,

Ik werk met Excel 2010 en ik zit met het volgende. Ik heb een veld dat er als volgt uit ziet:

01.01.2012 14:45:23

Dus het tijdstip en dag dat iets gebeurd is. Zo heb ik ruim 100.000 van dat soort velden onder elkaar.
De categorie staat nu op standaard. Hoe kan ik van zo'n veld een datumveld maken zonder tijd? Bestaat er een functie die die tijd eraf kan trimmen?

Hartelijk dank alvast!
Je kan de veldopmaak veranderen naar datum, werkt dat met deze opmaak? Anders de punten vervangen door "-" :)
Deetchdonderdag 16 februari 2012 @ 09:46
quote:
0s.gif Op donderdag 16 februari 2012 09:00 schreef M_Schtoppel het volgende:
Beste Excel-specialisten,

Ik werk met Excel 2010 en ik zit met het volgende. Ik heb een veld dat er als volgt uit ziet:

01.01.2012 14:45:23

Dus het tijdstip en dag dat iets gebeurd is. Zo heb ik ruim 100.000 van dat soort velden onder elkaar.
De categorie staat nu op standaard. Hoe kan ik van zo'n veld een datumveld maken zonder tijd? Bestaat er een functie die die tijd eraf kan trimmen?

Hartelijk dank alvast!
als je het format naar "nummer" veranderd wordt het dan een getal?

Zo ja dan kun je de waarde gewoon naar beneden afronden op een geheel getal en dat weer als datum gebruiken.

En anders doe je:
=DATE(1*MID(A1,7,4),1*MID(A1,4,2),1*(LEFT(A1,2)))

=DATUM(1*DEEL(A1;7;4);1*DEEL(A1;4;2);1*(LINKS(A1;2)))

[ Bericht 3% gewijzigd door Deetch op 16-02-2012 09:54:17 ]
Basp1donderdag 16 februari 2012 @ 09:49
quote:
0s.gif Op woensdag 15 februari 2012 12:27 schreef DaFan het volgende:
Typisch hoeveel vragen er zijn over VLOOKUP :D
Het is ook van de ene kant een makkelijk functie maar er zitten nog wat retricties aan wat sommige mensen zich niet realiseren.

Het vervelendste is als er dubbele gegevens in de zoekkolom staan, dan neemt hij maar de eerst gevonden waarde.
M_Schtoppeldonderdag 16 februari 2012 @ 09:55
Hallo mensen, nee, als ik de categorie op getal zet, verandert er niets, ook visueel niet.
En de categorie op datum zetten laat ook niets anders zien. Categorie aangepast heb ik ook geprobeerd maar ook daar geen sjoegem.
M_Schtoppeldonderdag 16 februari 2012 @ 09:57
Ik zal de formule van Deetch eens proberen. Gewoon in B1 zetten, dus rechts naast A1 waar de te bewerken string in staat?
#ANONIEMdonderdag 16 februari 2012 @ 11:41
en als je die kolom selecteerd en je doet zoeken en vervangen . naar -
Deetchdonderdag 16 februari 2012 @ 12:59
quote:
0s.gif Op donderdag 16 februari 2012 09:55 schreef M_Schtoppel het volgende:
Hallo mensen, nee, als ik de categorie op getal zet, verandert er niets, ook visueel niet.
En de categorie op datum zetten laat ook niets anders zien. Categorie aangepast heb ik ook geprobeerd maar ook daar geen sjoegem.
dan is het dus een tekst en kun je idd mijn formule gebruiken.
Een handige tip ten aanzien van datums: Een datum is in excel gewoon een getal waarbij het cijfers achter de komma het deel van een dag is. Dus 12:00 is 0.5.
Als je data dus echt als data hebt staan kun je deze gewoon van elkaar aftrekken en afronden etc.
#ANONIEMdonderdag 16 februari 2012 @ 18:27
quote:
3s.gif Op donderdag 16 februari 2012 12:59 schreef Deetch het volgende:

[..]

dan is het dus een tekst en kun je idd mijn formule gebruiken.
Een handige tip ten aanzien van datums: Een datum is in excel gewoon een getal waarbij het cijfers achter de komma het deel van een dag is. Dus 12:00 is 0.5.
Als je data dus echt als data hebt staan kun je deze gewoon van elkaar aftrekken en afronden etc.
Ik kom deze datumnotatie vaak tegen in logfiles (durag/sick). Vervangen zoals ik aangaf zet het ook om naar datum/tijd.
M_Schtoppelvrijdag 17 februari 2012 @ 07:16
KritischeMassa heeft inderdaad gelijk. Zoeken en vervangen werkt prima! Daarna met control 1 de categorie op datum zetten en je hebt een normaal datumveld. Wel moet ik even testen of dit echt goed werkt want ik moet er draaitabellen van maken waar voor mijn werk financiele dingen aanhangen.

Bedankt!
Deetchvrijdag 17 februari 2012 @ 08:01
quote:
0s.gif Op vrijdag 17 februari 2012 07:16 schreef M_Schtoppel het volgende:
KritischeMassa heeft inderdaad gelijk. Zoeken en vervangen werkt prima! Daarna met control 1 de categorie op datum zetten en je hebt een normaal datumveld. Wel moet ik even testen of dit echt goed werkt want ik moet er draaitabellen van maken waar voor mijn werk financiele dingen aanhangen.

Bedankt!
klopt maar dan moet je dus elke keer je ruwe data aanpassen terwijl je op deze manier een formule hebt die met je ruwe data gewoon aan de slag gaat.
Verder verdwijnt het getal achter de komma niet als je van een datum tijd notatie alleen de datum laat zien via format. Dit kan vervelend zijn bij vlookup functies en misschien ook wel met draiabellen.
#ANONIEMvrijdag 17 februari 2012 @ 08:09
quote:
3s.gif Op vrijdag 17 februari 2012 08:01 schreef Deetch het volgende:

[..]

klopt maar dan moet je dus elke keer je ruwe data aanpassen terwijl je op deze manier een formule hebt die met je ruwe data gewoon aan de slag gaat.
Verder verdwijnt het getal achter de komma niet als je van een datum tijd notatie alleen de datum laat zien via format. Dit kan vervelend zijn bij vlookup functies en misschien ook wel met draiabellen.
Ach ik heb dat soort dingen in een importmacro gestopt, je kan er namelijk meteen integers vanmaken )hele dagen.

En als je persé een formule wil gebruiken zou ik kiezen voor

=INTEGER(SUBSTITUEREN(B5;".";"-"))

De `INTEGER` om alleen de datum over te houden

Zit wat eenvoudiger in elkaar
OudeBokvrijdag 17 februari 2012 @ 17:15
Ik zit met een probleempje. Ik wil twee ALS functies nesten, maar het lukt niet.
Ik heb nu dit staan : =ALS(E18="Boston";B26;B28;ALS(F18="Ja";B27;)).
Excel geeft dan de melding dat ik teveel argumenten heb gebruikt. Hoe los ik dit op ?
#ANONIEMvrijdag 17 februari 2012 @ 17:23
quote:
0s.gif Op vrijdag 17 februari 2012 17:15 schreef OudeBok het volgende:
Ik zit met een probleempje. Ik wil twee ALS functies nesten, maar het lukt niet.
Ik heb nu dit staan : =ALS(E18="Boston";B26;B28;ALS(F18="Ja";B27;)).
Excel geeft dan de melding dat ik teveel argumenten heb gebruikt. Hoe los ik dit op ?
=ALS(E18="Boston";B26;ALS(F18="Ja";B27;B28)).
OudeBokvrijdag 17 februari 2012 @ 17:49
- Ik heb het antwoord al ! -

[ Bericht 94% gewijzigd door OudeBok op 17-02-2012 20:23:10 ]
M_Schtoppelzaterdag 18 februari 2012 @ 10:11
KritischeMassa, moet ik jouw formule in cel B1 zetten als de te bewerken string in A1 staat?
#ANONIEMzaterdag 18 februari 2012 @ 10:26
dan wordt het

=INTEGER(SUBSTITUEREN(A1;".";"-"))
McGilleszaterdag 18 februari 2012 @ 15:11
quote:
3s.gif Op dinsdag 14 februari 2012 19:27 schreef KritischeMassa het volgende:

[..]

Dat is wel heel ingewikkeld vind je niet?

Wel grappig dat deze vraag voor de tweede keer van dezelfde user in dit deel voorkomt (zie post #29).

Of ging het nu om de opmaak >24 uur in [uu]?
Aan de ene kant wel, maar aan de andere kant, heb zelf wiskunde gestudeerd en heb niks met programmeren dus over het algemeen schud ik 9 van de 10 keer binnen een minuut wel een wiskundige oplossing uit mijn mouw, neemt niet weg dat het soms omslachtig is en soms weer enorm handig en efficient :)
M_Schtoppelzaterdag 18 februari 2012 @ 15:36
Ik heb de formule EXACT overgenomen en toch komt hij met een foutmeldig.
#ANONIEMzaterdag 18 februari 2012 @ 15:38
quote:
0s.gif Op zaterdag 18 februari 2012 15:36 schreef M_Schtoppel het volgende:
Ik heb de formule EXACT overgenomen en toch komt hij met een foutmeldig.
Welke taal heb je?
#ANONIEMzaterdag 18 februari 2012 @ 15:41
quote:
0s.gif Op zaterdag 18 februari 2012 15:11 schreef McGilles het volgende:

[..]

Aan de ene kant wel, maar aan de andere kant, heb zelf wiskunde gestudeerd en heb niks met programmeren dus over het algemeen schud ik 9 van de 10 keer binnen een minuut wel een wiskundige oplossing uit mijn mouw, neemt niet weg dat het soms omslachtig is en soms weer enorm handig en efficient :)
jouw oplossing was niet handig want die zorgt ervoor dat je niet meer kan rekenen met tijd omdat het een string wordt, als je de opmaak [hh] gebruikt dan blijft het legale tijd binnen excel.
M_Schtoppelzaterdag 18 februari 2012 @ 16:32
Nederlands, Excel 2010. Hij zegt dat er ergens een fout in staat. Ik kan je het bestand ook sturen als je wilt.
McGilleszaterdag 18 februari 2012 @ 16:47
quote:
3s.gif Op zaterdag 18 februari 2012 15:41 schreef KritischeMassa het volgende:

[..]

jouw oplossing was niet handig want die zorgt ervoor dat je niet meer kan rekenen met tijd omdat het een string wordt, als je de opmaak [hh] gebruikt dan blijft het legale tijd binnen excel.
Oooh, ik keek puur en alleen naar de 'uitkomst', het is inderdaad een string ja. :P
M_Schtoppelzaterdag 18 februari 2012 @ 16:51
Ik hoef niet te rekenen met die datum. Ik wil alleen een draaitabel hebben (ik weet hoe dat moet) met links een rij van unieke datums zodat ik kan zien hoe vaak iets op een datum gebeurd is.
McGilleszaterdag 18 februari 2012 @ 16:58
quote:
0s.gif Op zaterdag 18 februari 2012 16:51 schreef M_Schtoppel het volgende:
Ik hoef niet te rekenen met die datum. Ik wil alleen een draaitabel hebben (ik weet hoe dat moet) met links een rij van unieke datums zodat ik kan zien hoe vaak iets op een datum gebeurd is.
Ik zou gebruik maken van de volgende functie:

=LEFT(A1;SEARCH(" ";A1)-1)

In dit geval werkt ook:

=LEFT(A1;10)

Aangezien jouw datum en tijd altijd 10 tekens lang is.

Deze functie telt het aantal tekens t/m de spatie en laat daarna de tekens tot de spatie zien.

In NL versie iets van =Links(A1;zoeken(" ";A1)-1) en de tweede =Links(A1;10)

De functie van KM voldoet ook prima hoor, net een andere benadering. Altijd grappig om te zien dat je met excel altijd alle kanten op kan, je kan het vast op nog 5 andere manieren oplossen.

[ Bericht 8% gewijzigd door McGilles op 18-02-2012 17:14:19 ]
M_Schtoppelzaterdag 18 februari 2012 @ 17:14
Wat vind je zelf de mooiste functie van Excel? Ik draaitabellen, daar werd ik toch wel even lyrisch van toen ik dat zag. Niet op de financiele manier, maar meer op de database manier, dus uittreksels van databases maken.
McGilleszaterdag 18 februari 2012 @ 17:21
quote:
0s.gif Op zaterdag 18 februari 2012 17:14 schreef M_Schtoppel het volgende:
Wat vind je zelf de mooiste functie van Excel? Ik draaitabellen, daar werd ik toch wel even lyrisch van toen ik dat zag. Niet op de financiele manier, maar meer op de database manier, dus uittreksels van databases maken.
Ikzelf vind de =countifs( functie van excel2007 fantastisch, ideaal in grote tabellen en zeer vaak te gebruiken.
DaFanzaterdag 18 februari 2012 @ 19:36
Ik heb geen favoriete functie.
Deetchzondag 19 februari 2012 @ 17:17
quote:
0s.gif Op zaterdag 18 februari 2012 17:21 schreef McGilles het volgende:

[..]

Ikzelf vind de =countifs( functie van excel2007 fantastisch, ideaal in grote tabellen en zeer vaak te gebruiken.
kun je beter sumproduct gebruiken, daar krijg ik nou een harde plasser van :9
qu63zondag 19 februari 2012 @ 17:28
quote:
3s.gif Op zondag 19 februari 2012 17:17 schreef Deetch het volgende:

[..]

kun je beter sumproduct gebruiken, daar krijg ik nou een harde plasser van :9
In combinatie met jouw ava geeft dat een verontrustend beeld! :D
Twentsche_Rosmaandag 20 februari 2012 @ 09:19
Als je doet:
Invoegen
Vormen

En dan

Tekst bewerken

Kortom:
Je zet tekst in een "vorm". Een rechthoek bv. Of iets anders. Voor bv een systeemstroomschema.

Hoe kun je die dan vinden met Ctrl-F.
Dit kan namelijk wel met tekst in "opmerkingen".
En natuurlijk ook met tekst in iedere cel.
Maar net even niet met tekst in vormen.

Wie weet een oplossing?
qu63maandag 20 februari 2012 @ 10:00
quote:
0s.gif Op maandag 20 februari 2012 09:19 schreef Twentsche_Ros het volgende:
Als je doet:
Invoegen
Vormen

En dan

Tekst bewerken

Kortom:
Je zet tekst in een "vorm". Een rechthoek bv. Of iets anders. Voor bv een systeemstroomschema.

Hoe kun je die dan vinden met Ctrl-F.
Dit kan namelijk wel met tekst in "opmerkingen".
En natuurlijk ook met tekst in iedere cel.
Maar net even niet met tekst in vormen.

Wie weet een oplossing?
Ik gok een macro die door al je afbeeldingen loopt, maar dat zal KM vast beter uit kunnen leggen ;)
#ANONIEMmaandag 20 februari 2012 @ 10:08
quote:
0s.gif Op maandag 20 februari 2012 10:00 schreef qu63 het volgende:

[..]

Ik gok een macro die door al je afbeeldingen loopt, maar dat zal KM vast beter uit kunnen leggen ;)
Ja dat is de manier

Ik heb alleen nu geen tijd om het uit te leggen
Deetchmaandag 20 februari 2012 @ 10:22
quote:
0s.gif Op zondag 19 februari 2012 17:28 schreef qu63 het volgende:

[..]

In combinatie met jouw ava geeft dat een verontrustend beeld! :D
Deze beter?
McGillesmaandag 20 februari 2012 @ 18:37
quote:
3s.gif Op zondag 19 februari 2012 17:17 schreef Deetch het volgende:

[..]

kun je beter sumproduct gebruiken, daar krijg ik nou een harde plasser van :9
Ligt eraan wat je wilt. Groot nadeel van sumproduct is dat hij niet kan verwijzen naar hele kolommen (A:A bijvoorbeeld) maar altijd A1:A1000 wil. Countifs formules (en andere 2007 functies) kunnen dit wel :P
DaFanmaandag 20 februari 2012 @ 19:43
quote:
0s.gif Op maandag 20 februari 2012 18:37 schreef McGilles het volgende:

[..]

Ligt eraan wat je wilt. Groot nadeel van sumproduct is dat hij niet kan verwijzen naar hele kolommen (A:A bijvoorbeeld) maar altijd A1:A1000 wil. Countifs formules (en andere 2007 functies) kunnen dit wel :P
Onwaar.
Kan wel (vanaf 2007), als alle ranges maar even lang zijn.
En op een gegeven moment wordt het wel erg traag, maar dat is met COUNTIFS ook zo :)
#ANONIEMmaandag 20 februari 2012 @ 20:11
quote:
0s.gif Op maandag 20 februari 2012 09:19 schreef Twentsche_Ros het volgende:
Als je doet:
Invoegen
Vormen

En dan

Tekst bewerken

Kortom:
Je zet tekst in een "vorm". Een rechthoek bv. Of iets anders. Voor bv een systeemstroomschema.

Hoe kun je die dan vinden met Ctrl-F.
Dit kan namelijk wel met tekst in "opmerkingen".
En natuurlijk ook met tekst in iedere cel.
Maar net even niet met tekst in vormen.

Wie weet een oplossing?
Nou ok... was wel wat nieuw voor me en de code kan waarschijnlijk beter (for each textbox...)

maak een form in VBA editor met 1 textbox en 1 knop

plaats onder de knop deze code

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
Private Sub CommandButton1_Click()
Dim Gevonden As Boolean

    Gevonden = False

    If ActiveSheet.Shapes.count = 0 Then Exit Sub

    For i = 1 To ActiveSheet.Shapes.count
    
        On Error Resume Next
    
        If ActiveSheet.Shapes(i).TextFrame.Characters.Text = TextBox1.Value Then
            Gevonden = True
            Exit For
        End If
    
    Next
    
    On Error GoTo 0
    
    If Gevonden = True Then
        ActiveSheet.Shapes(i).TopLeftCell.Select
        ActiveSheet.Shapes(i).Select
    End If
    

    Unload Me

End Sub

als je in de textbox een text typt die ook zo in een vorm staat vindt hij hem.

Je kan zelf met string operations een uitgebreidere zoek functie bouwen (kijken of een string in een string voorkomt etc)

Deze code stopt ook met zoeken als hij er 1 heeft gevonden, maard at kan je zelf ook aanpassen

helaas voor jou ;) heb ik tijd te kort om een mooie functie te bouwen

Voorbeeldsheet met hypergave smiley

[ Bericht 1% gewijzigd door #ANONIEM op 20-02-2012 20:19:50 ]
crossovermaandag 20 februari 2012 @ 20:34
Ik heb de volgende macro:

Ik wil dat het geopende bestand opgeslagen wordt onder de naam tijdspecificatie in dezelfde map.
Voorheen werkte dit ook, maar nu gebruik ik zelfde soort bestand op een andere plek. Hij wil 'm met onderstaande macro opslaan op de plek van de eerste macro:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub T()
'
' T Macro
'
' Sneltoets: Ctrl+t
'
    Columns("A:A").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
        Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)), TrailingMinusNumbers:=True
    ChDir "C:\Users[..VERWIJDERD..]\Persoon1"
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Users\[..VERWIJDERD..]\Tijdspecificatie.xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Sub

Iemand een idee wat ik moet wijzigen?
ralfiemaandag 20 februari 2012 @ 21:31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub T()
'
' T Macro
'
' Sneltoets: Ctrl+t
'
    Columns("A:A").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
        Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)), TrailingMinusNumbers:=True
    ActiveWorkbook.SaveAs Filename:= _
        CurDir & "\Tijdspecificatie.xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Sub
?
crossovermaandag 20 februari 2012 @ 22:02
Nope, die werkt niet ;(
Er gebeurt daarmee niet veel, de tekst blijft in 1 kolom staan.
crossovermaandag 20 februari 2012 @ 22:06
Deze link had ik al gezien, maar ik weet niet hoe ik dit moet verwerken in de macro... http://www.ozgrid.com/forum/showthread.php?t=72924
#ANONIEMdinsdag 21 februari 2012 @ 06:40
thisworkbook.path
crossoverdinsdag 21 februari 2012 @ 21:26
En verder, waar moet ik dat precies plaatsen?
kanovinniedinsdag 21 februari 2012 @ 22:04
Nog een vraagje van mijn kant.

In cel A2 t/m A20 vul ik namen in.
Die zelfde namen wil ik in Cel B1 t/m U1 ingevuld krijgen. Dus in Cel B1 begin ik met "=A2". Cel C1 krijgt"=A3".
Dit omdat de namen elke keer anders zijn.
Maar hoe kan ik het voor elkaar krijgen om het verder te slepen? Nu heb ik alles met de hand ingevuld omdat Excel 't niet kan. Of ik doe iets verkeerd. Dat lijkt me waarschijnlijker
crossoverdinsdag 21 februari 2012 @ 22:05
In het hoekje gaan staan en dat hoekje/blokje naar beneden dan wel naar rechts trekken.
Twentsche_Rosdinsdag 21 februari 2012 @ 22:30
quote:
0s.gif Op dinsdag 21 februari 2012 22:04 schreef kanovinnie het volgende:
Nog een vraagje van mijn kant.

In cel A2 t/m A20 vul ik namen in.
Die zelfde namen wil ik in Cel B1 t/m U1 ingevuld krijgen. Dus in Cel B1 begin ik met "=A2". Cel C1 krijgt"=A3".
Dit omdat de namen elke keer anders zijn.
Maar hoe kan ik het voor elkaar krijgen om het verder te slepen? Nu heb ik alles met de hand ingevuld omdat Excel 't niet kan. Of ik doe iets verkeerd. Dat lijkt me waarschijnlijker
Vul in B2:
+A2

Copieer dit naar b3 t/m b20

Selecteer b2 t/m b20

Doe dan vervangen (ctrl-h) a vervangen door $a$

Selecteer b2 t/m b20

Ga naar "plakken speciaal"
Zet 'm op b1

copieer formules en...... vink aan: transponeren

en dan delete je b2 t/m b20
Jeroen_S.woensdag 22 februari 2012 @ 08:54
Ik heb momenteel een bestand bestaande uit 4 pagina's.
Nu wil ik graag op elke pagina ons bedrijfslogo hebben staan, maar dan wel
natuurlijk op elke pagina op exact dezelfde positie. Kan ik dat ergens instellen?
Bij Powerpoint kun je bijvoorbeeld een logo plakken en dan plakt ie hem steeds op dezelfde positie maar bij Excel heb ik dat nog niet gevonden!

Who can help me?

Cheers,
crossoverwoensdag 22 februari 2012 @ 10:10
quote:
3s.gif Op dinsdag 21 februari 2012 06:40 schreef KritischeMassa het volgende:
thisworkbook.path
Tot nu toe heb ik dit..
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Sub Macro1()
'
' Macro1 Macro
'
' Sneltoets: Ctrl+t
'
    Columns("A:A").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
        Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)), TrailingMinusNumbers:=True
    Range("C3").Select
    Columns("A:A").EntireColumn.AutoFit
    Columns("C:C").EntireColumn.AutoFit
    Columns("D:D").EntireColumn.AutoFit
    Columns("G:G").EntireColumn.AutoFit
    Columns("H:H").EntireColumn.AutoFit
    ChDir "C:\Users\crossover\Documents\My Dropbox\xOverig\ZO\"
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Users\crossover\Documents\My Dropbox\xOverig\ZO\Tijdspecificatie.xlsx" _
        , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Sub

Waar moet thisworkbook.path dan komen om het in dezelfde map op te slaan?

[ Bericht 7% gewijzigd door crossover op 22-02-2012 12:13:22 ]
Deetchwoensdag 22 februari 2012 @ 10:22
achter de ChDir functie
crossoverwoensdag 22 februari 2012 @ 10:24
Werkt niet..?
#ANONIEMwoensdag 22 februari 2012 @ 10:49
quote:
0s.gif Op woensdag 22 februari 2012 10:24 schreef crossover het volgende:
Werkt niet..?
Als je dit topic had doorgelezen had je gezien dat deze vraag al een keer voorbij was gekomen maar dan met een CSV functie, lees maar vanaf deze post verder

quote:
0s.gif Op vrijdag 10 februari 2012 20:13 schreef elkravo het volgende:
Ik exporteer een deel van een Excel blad met onderstaande VBA naar een csv-file.
Gevonden op internet, en werkt goed.

Toch ben ik over een ding niet tevreden. In deze export-VBA zit ingebakken een vaste plaats op de harde schijf... in dit geval: C:\Users\Elkravo\Desktop\File.csv

Is deze opdracht te vervangen door iets waarbij ik zelf een plaats kan aanwijzen in het proces.
Deze vraag is ingegeven door het feit dat meerdere personen het sheet op eigen computer gebruiken, en dus de macro niet te specifiek een locatie moet aanwijzen.

[ code verwijderd ]



[ Bericht 26% gewijzigd door #ANONIEM op 22-02-2012 10:50:15 ]
crossoverwoensdag 22 februari 2012 @ 12:08
Sorry hoor, maar ik heb overal gezocht, en bij alles wat ik lees gaat het mis bij het toepassen op mijn situatie. Ik krijg allerlei foutmeldingen en moet telkens opnieuw beginnen, dus als je zegt dat ik gewoon even dit topic had moeten lezen, vind ik dat niet redelijk want dan had ik overal in deze reeks van 30 kunnen gaan zoeken. Waarschijnlijk is mijn vraag voor ervaren gebruikers een eitje. Ook bij het voorbeeld wat je hierboven aangeeft, KM, lukt het me niet om het in mijn code toe te passen.
Deetchwoensdag 22 februari 2012 @ 12:52
welke foutmeldingen krijg je?
crossoverwoensdag 22 februari 2012 @ 12:59
Compileerfout: verwacht instructie einde.
Dat dus als ik 'm achter ChDir zet.
Deetchwoensdag 22 februari 2012 @ 13:39
verwijderer de CHDir regel maar helemaal het padnaam zit nl. al in je saveas functie verwerkt.
Eerst stop je het pad en de bestandsnaam in een variabele "bestandsnaam" en dan sla je je bestand op

1
2
bestandsnaam = ThisWorkbook.Path & "\Tijdspecificatie.xlsx"
ActiveWorkbook.SaveAs Filename:=bestandsnaam, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
qu63woensdag 22 februari 2012 @ 13:45
quote:
3s.gif Op woensdag 22 februari 2012 13:39 schreef Deetch het volgende:
verwijderer de CHDir regel maar helemaal het padnaam zit nl. al in je saveas functie verwerkt.
Eerst stop je het pad en de bestandsnaam in een variabele "bestandsnaam" en dan sla je je bestand op
[ code verwijderd ]

Wat doet die CreateBackup:=False?
Deetchwoensdag 22 februari 2012 @ 14:29
quote:
0s.gif Op woensdag 22 februari 2012 13:45 schreef qu63 het volgende:

[..]

Wat doet die CreateBackup:=False?
geen idee, deze zit er standaadr achter als je de save as dialoog opneemt.

Als je hem op true zet krijg je een extra bestand in dezelfde map met de naam: Backup of Tijdspecificatie.xlk van 0 kB groot.
crossoverwoensdag 22 februari 2012 @ 15:44
quote:
3s.gif Op woensdag 22 februari 2012 13:39 schreef Deetch het volgende:
verwijderer de CHDir regel maar helemaal het padnaam zit nl. al in je saveas functie verwerkt.
Eerst stop je het pad en de bestandsnaam in een variabele "bestandsnaam" en dan sla je je bestand op
[ code verwijderd ]

Hoe moet ik het pad en de bestandsnaam in de variabele 'bestandsnaam' doen?
Deetchwoensdag 22 februari 2012 @ 16:05
dat is de eerste regel inde code die ik heb gepost
[Excel] Het grote Excel vragen topic #30

[ Bericht 55% gewijzigd door Deetch op 22-02-2012 16:27:49 ]
#ANONIEMwoensdag 22 februari 2012 @ 19:26
quote:
0s.gif Op woensdag 22 februari 2012 12:08 schreef crossover het volgende:
Sorry hoor, maar ik heb overal gezocht, en bij alles wat ik lees gaat het mis bij het toepassen op mijn situatie. Ik krijg allerlei foutmeldingen en moet telkens opnieuw beginnen, dus als je zegt dat ik gewoon even dit topic had moeten lezen, vind ik dat niet redelijk want dan had ik overal in deze reeks van 30 kunnen gaan zoeken. Waarschijnlijk is mijn vraag voor ervaren gebruikers een eitje. Ook bij het voorbeeld wat je hierboven aangeeft, KM, lukt het me niet om het in mijn code toe te passen.
Ja ik weet niet maar als ik jouw code draai zonder het hele save gebeuren krijg ik ook een berg foutmeldingen, dus de fout zit voordat je opslaat.

Het is sowieso een beetje een wazige macro die je daar hebt, heb je die zo opgenomen?

Wat wil je dat hij doet?

Jouw probleem zit hem niet in het opslaan iig, de code die we je daarvoor hebben aangegeven klopt gewoon en werkt in alle gevallen (test het maar znder de code die ik hieronder quote en die foutmeldingen geeft.

Sowieso, die hele record functie van excel is bagger

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub Macro1() '
' Macro1 Macro'
' Sneltoets: Ctrl+t'
Columns("A:A").Select

'hier gaat het mis
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)), TrailingMinusNumbers:=True
'einde foute code

Range("C3").Select

Columns("A:A").EntireColumn.AutoFit
Columns("C:C").EntireColumn.AutoFit
Columns("D:D").EntireColumn.AutoFit
Columns("G:G").EntireColumn.AutoFit
Columns("H:H").EntireColumn.AutoFit

End Sub
#ANONIEMwoensdag 22 februari 2012 @ 19:42
quote:
0s.gif Op woensdag 22 februari 2012 08:54 schreef Jeroen_S. het volgende:
Ik heb momenteel een bestand bestaande uit 4 pagina's.
Nu wil ik graag op elke pagina ons bedrijfslogo hebben staan, maar dan wel
natuurlijk op elke pagina op exact dezelfde positie. Kan ik dat ergens instellen?
Bij Powerpoint kun je bijvoorbeeld een logo plakken en dan plakt ie hem steeds op dezelfde positie maar bij Excel heb ik dat nog niet gevonden!

Who can help me?

Cheers,
ja je kan natuurlijk een stukje code draaien dat elke keer als het tabblad wordt geselecteerd wordt gedraaid:

deze code zet het plaatje netjes in de linkerbovenhoek
1
2
3
4
Private Sub Worksheet_Activate()
    ActiveSheet.Shapes("Picture 1").Left = 1
    ActiveSheet.Shapes("Picture 1").Top = 1
End Sub

Je kan ook de code draaien bij openen van de worksheet en zo alle bladen langslopen

Het voordeel daarvan is dat niet je undostack continu leeg is (elke keer als je een stukje vbs code draait is je undostack leeg. Ik heb wel code om daar weer wat mee te doen maar dta voert wat ver in dit kader...

in plaats van left en top kun je ook wat aanklooien met topleftcell...
Deetchdonderdag 23 februari 2012 @ 08:19
quote:
3s.gif Op woensdag 22 februari 2012 19:42 schreef KritischeMassa het volgende:

[..]

ja je kan natuurlijk een stukje code draaien dat elke keer als het tabblad wordt geselecteerd wordt gedraaid:

deze code zet het plaatje netjes in de linkerbovenhoek
[ code verwijderd ]

Je kan ook de code draaien bij openen van de worksheet en zo alle bladen langslopen

Het voordeel daarvan is dat niet je undostack continu leeg is (elke keer als je een stukje vbs code draait is je undostack leeg. Ik heb wel code om daar weer wat mee te doen maar dta voert wat ver in dit kader...

in plaats van left en top kun je ook wat aanklooien met topleftcell...
Heb jij code om een gerunde macro te undo-en? Die wil ik wel!!!
crossoverdonderdag 23 februari 2012 @ 10:42
quote:
3s.gif Op woensdag 22 februari 2012 19:26 schreef KritischeMassa het volgende:

[..]

Ja ik weet niet maar als ik jouw code draai zonder het hele save gebeuren krijg ik ook een berg foutmeldingen, dus de fout zit voordat je opslaat.

Het is sowieso een beetje een wazige macro die je daar hebt, heb je die zo opgenomen?

Wat wil je dat hij doet?

Jouw probleem zit hem niet in het opslaan iig, de code die we je daarvoor hebben aangegeven klopt gewoon en werkt in alle gevallen (test het maar znder de code die ik hieronder quote en die foutmeldingen geeft.

Sowieso, die hele record functie van excel is bagger
[ code verwijderd ]

Ik heb een app waarmee ik mijn gewerkte uren bijhoud. Dat wordt geexporteerd als .csv, ik wil dat bestand opslaan als .xlx met een andere naam en daarbij de datum/tijd. Ik heb 'm zo opgenomen, en dat stukje werkte telkens eigenlijk goed.
E-lientjedonderdag 23 februari 2012 @ 13:25
Volgens mij een heel simpel vraagje, maar het lukt me even niet:

A1= 25%, B1=50%, C1 moet worden: -50%
A2=0.6%, B2=0.2%, C2 moet worden: 300%

Dus A ten opzichte van B in positieve en negatieve % (Kolom B is het uitgangspunt voor 100%)

Welke formule gebruik ik in kolom c?
Deetchdonderdag 23 februari 2012 @ 13:48
waarom nog negatief ook, als het percentage toch onder de 100% komt weet je al dat A kleiner is dan B?

C1: =a1/b1

als er per se een - voor moet komen als A1 kleiner is dan B1 dan:

=IF(a1/b1<1,-1*a1/b1,a1/b1)

of in het nederlands

=ALS(a1/b1<1;-1*a1/b1;a1/b1)
DaFandonderdag 23 februari 2012 @ 14:16
Ik zal wel dom zijn maar is die 2e niet 200%??
(A1-B1)/B1

Nvm Zie het al :@
Maar die - slaat nergens op idd :P

[ Bericht 37% gewijzigd door DaFan op 23-02-2012 14:26:06 ]
crossoverdonderdag 23 februari 2012 @ 14:59
Tot nu werkt alles prima, ook nadat ik (helemaal zelf! :') ) een functie heb toegevoegd in de bestandsnaam. Echter, wat ik in eerste instantie wilde, werkt nog niet. Het bestand wordt opgeslagen in de map XLSTART (C:\Users\crossover\AppData\Roaming\Microsoft\Excel\XLSTART).

M'n code is nu:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub Macro1()
'
' Macro1 Macro
'
' Sneltoets: Ctrl+t
'
    Columns("A:A").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
        Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)), TrailingMinusNumbers:=True
    Columns("A:A").EntireColumn.AutoFit
    Columns("G:G").EntireColumn.AutoFit
    Columns("H:H").EntireColumn.AutoFit
    Columns("J:J").EntireColumn.AutoFit
    bestandsnaam = ThisWorkbook.Path & "/Tijdspecificatie" & Range("G2").Value & ".xls"
    ActiveWorkbook.SaveAs Filename:=bestandsnaam, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    
End Sub

Ook zonder mijn toevoeging werkt het niet... nog tips?
#ANONIEMdonderdag 23 februari 2012 @ 15:25
quote:
0s.gif Op donderdag 23 februari 2012 14:59 schreef crossover het volgende:
Tot nu werkt alles prima, ook nadat ik (helemaal zelf! :') ) een functie heb toegevoegd in de bestandsnaam. Echter, wat ik in eerste instantie wilde, werkt nog niet. Het bestand wordt opgeslagen in de map XLSTART (C:\Users\crossover\AppData\Roaming\Microsoft\Excel\XLSTART).

M'n code is nu:
[ code verwijderd ]

Ook zonder mijn toevoeging werkt het niet... nog tips?
"/Tijdspecificatie"

"\Tijdspecificatie" een idee?
crossoverdonderdag 23 februari 2012 @ 15:29
quote:
3s.gif Op donderdag 23 februari 2012 15:25 schreef KritischeMassa het volgende:

[..]

"/Tijdspecificatie"

"\Tijdspecificatie" een idee?
Geen verschil..
#ANONIEMdonderdag 23 februari 2012 @ 18:56
Wat staat er in Range("G2") ? als dit een tijd is gaat het mis he, je kan geen bestandsnamen met : erin maken
E-lientjedonderdag 23 februari 2012 @ 18:57
@Deetch, zo liep ik ook te rommelen, maar dat is het dus niet.
Als iets 40% is, is het 60% minder dan 100%, dus is het -60%. Dat is ook de bedoeling van de "-".
150% = +50%
A=40% B=120% C=-66,67% (en niet -33,33%). Snappie?

Maar hoe zet ik dat in een formule?
crossoverdonderdag 23 februari 2012 @ 19:01
quote:
3s.gif Op donderdag 23 februari 2012 18:56 schreef KritischeMassa het volgende:
Wat staat er in Range("G2") ? als dit een tijd is gaat het mis he, je kan geen bestandsnamen met : erin maken
Gewoon een naam. Dus enkel letters..
DaFandonderdag 23 februari 2012 @ 19:56
quote:
0s.gif Op donderdag 23 februari 2012 18:57 schreef E-lientje het volgende:
@Deetch, zo liep ik ook te rommelen, maar dat is het dus niet.
Als iets 40% is, is het 60% minder dan 100%, dus is het -60%. Dat is ook de bedoeling van de "-".
150% = +50%
A=40% B=120% C=-66,67% (en niet -33,33%). Snappie?

Maar hoe zet ik dat in een formule?
Ja maar dan is die 2e geen 300% maar 200%. 6 is immers 4 meer dan 2 dus 200% meer.
En 25 is de helft van 50 minder, dus -50%.
Dan is je formule
(A1-B1)/B1
E-lientjedonderdag 23 februari 2012 @ 20:35
@DaFan Tnx, dat is het helemaal!
DaFandonderdag 23 februari 2012 @ 20:39
^O^
Deetchvrijdag 24 februari 2012 @ 09:00
quote:
0s.gif Op donderdag 23 februari 2012 19:01 schreef crossover het volgende:

[..]

Gewoon een naam. Dus enkel letters..
voeg na het definieren van je bestandnaam de volgende regel code toe:

MsgBox bestandsnaam

en type even over wat daar dan staat.
GuitarJJzaterdag 25 februari 2012 @ 19:40
Weet iemand of je uitzonderingen kan toevoegen aan de aselecttussen-functie in Excel?

Situatie:
In cel A1 wordt een random nummer tussen de 1 en 3 geproduceerd.
In cel B1 wordt ook een random nummer tussen de 1 en 3 geproduceerd. Deze kan en mag hetzelfde zijn als die in cel A1.

In cel C1 moet ook een random nummer tussen de 1 en 3 geproduceerd worden. Echter, deze mag niet gelijk zijn aan de nummers in A1 en B1.

1
2
3
A            B            C
3            1            Dit moet dus 2 worden
2            2            Dit mag dus 1 of 3 worden

edit: inmiddels al een oplossing gevonden.

[ Bericht 1% gewijzigd door GuitarJJ op 25-02-2012 21:20:32 ]
McGilleszondag 26 februari 2012 @ 11:37
quote:
0s.gif Op zaterdag 25 februari 2012 19:40 schreef GuitarJJ het volgende:
Weet iemand of je uitzonderingen kan toevoegen aan de aselecttussen-functie in Excel?

Situatie:
In cel A1 wordt een random nummer tussen de 1 en 3 geproduceerd.
In cel B1 wordt ook een random nummer tussen de 1 en 3 geproduceerd. Deze kan en mag hetzelfde zijn als die in cel A1.

In cel C1 moet ook een random nummer tussen de 1 en 3 geproduceerd worden. Echter, deze mag niet gelijk zijn aan de nummers in A1 en B1.
[ code verwijderd ]

edit: inmiddels al een oplossing gevonden.
Je kan via een macro iets doen als:

Sub test()

Do
Dim minNum As Integer
minNum = 1
Dim maxNum As Integer
maxNum = 8
Dim xrand As Integer
Dim i As Integer
For i = minNum To maxNum

xrand = Int(Rnd() * maxNum) + minNum
Cells(3, 2 + i).Value = xrand

Next i

Loop Until Cells(1, 3).Value = "True"

End Sub

Dan in cel C1 formule zetten die true weergeeft wanneer de waarden anders zijn.
GuitarJJzondag 26 februari 2012 @ 12:42
quote:
0s.gif Op zondag 26 februari 2012 11:37 schreef McGilles het volgende:

[..]

Je kan via een macro iets doen als:

Sub test()

Do
Dim minNum As Integer
minNum = 1
Dim maxNum As Integer
maxNum = 8
Dim xrand As Integer
Dim i As Integer
For i = minNum To maxNum

xrand = Int(Rnd() * maxNum) + minNum
Cells(3, 2 + i).Value = xrand

Next i

Loop Until Cells(1, 3).Value = "True"

End Sub

Dan in cel C1 formule zetten die true weergeeft wanneer de waarden anders zijn.
Bedankt! Ik heb het alleen al op de volgende manier opgelost. :)

Er zijn in totaal (3*3) 9 combinaties nodig, dus met 9 formules is het ook te doen.

quote:
=(ALS(((B9=1)*EN(C9=1));ASELECTTUSSEN(2;3);N9))
=(ALS(((B9=1)*EN(C9=2));3;O9))
=(ALS(((B9=1)*EN(C9=3));2;P9))
=(ALS(((B9=2)*EN(C9=1));3;Q9))
=(ALS(((B9=2)*EN(C9=2));(ALS((ASELECTTUSSEN(1;2)=2);3;1));R9))
=(ALS(((B9=2)*EN(C9=3));1;S9))
=(ALS(((B9=3)*EN(C9=1));2;T9))
=(ALS(((B9=3)*EN(C9=2));1;U9))
=(ALS(((B9=3)*EN(C9=3));ASELECTTUSSEN(1;2);M9))
Ik had er eerst één grote formule van gemaakt, maar die bevatte te veel geneste niveaus.
Frixelmaandag 27 februari 2012 @ 12:16
:D Nou 3x is scheepsrecht. Ik had eerder vraag (tot 2x toe) in het verkeerde forum gepost. :D
Excuus. _O_

maar mijn vraag dan voor in het grote excel topic:

Kan ik met een VBA code data wat verspreid staat over meerder tabbladen importeren/kopieren naar een nieuw leeg tabblad zodat daar alles netjes onder elkaar komt?

Zie Bijlage.
qu63maandag 27 februari 2012 @ 12:23
quote:
0s.gif Op maandag 27 februari 2012 12:16 schreef Frixel het volgende:
:D Nou 3x is scheepsrecht. Ik had eerder vraag (tot 2x toe) in het verkeerde forum gepost. :D
Excuus. _O_

maar mijn vraag dan voor in het grote excel topic:

Kan ik met een VBA code data wat verspreid staat over meerder tabbladen importeren/kopieren naar een nieuw leeg tabblad zodat daar alles netjes onder elkaar komt?

Zie Bijlage.
Bijlages doen t hier niet op Fok ;)

Heb je zelf al een poging gedaan met VBA?
Frixelmaandag 27 februari 2012 @ 12:28
quote:
0s.gif Op maandag 27 februari 2012 12:23 schreef qu63 het volgende:

[..]

Bijlages doen t hier niet op Fok ;)

Heb je zelf al een poging gedaan met VBA?
Ja maar lukt totaal niet omdat ieder tabblad een andere naam heeft en de nieuwe gegevens onder de voorgaande moeten komen te staan.
Frixelmaandag 27 februari 2012 @ 12:38
Het origineel is een offerte in .pdf wat ik "online" heb omgezet in een excel formaat.
Echter word alles dan geconverteerd naar een heleboel tabbladen.
#ANONIEMmaandag 27 februari 2012 @ 12:56
Tellen door sheets
1thisworkbook.sheets(i) '(of activeworkbook)
en dan tellen door gevulde rijen

en deze schrijven naar regel die je ook telt

[ Bericht 45% gewijzigd door #ANONIEM op 27-02-2012 12:56:31 ]
Frixelmaandag 27 februari 2012 @ 14:51
Thanks, daar heb ik wat aan. *O*
Bartmaandag 27 februari 2012 @ 14:52
quote:
0s.gif Op maandag 27 februari 2012 12:16 schreef Frixel het volgende:
:D Nou 3x is scheepsrecht. Ik had eerder vraag (tot 2x toe) in het verkeerde forum gepost. :D
Excuus. _O_
Je zat in het goede forum (Digital Corner), je had alleen een nieuw topic aangemaakt terwijl we voor Excel dus een apart verzameltopic hebben ;).
Reflectionnemaandag 27 februari 2012 @ 17:06
Hoi ervaringsdeskundigen ;)

Heeft iemand van jullie ervaring met CIE lab grafieken? Ik heb wat L*, a*, b*, C* en h waarden en die wil ik graag weergeven in een Excel grafiek. (Ze gaan in verschillende richtingen en het liefst zou ik ook de kleur er bij zien..)

Is dit mogelijk? Iemand een idee?
qu63maandag 27 februari 2012 @ 17:26
quote:
0s.gif Op maandag 27 februari 2012 17:06 schreef Reflectionne het volgende:
Hoi ervaringsdeskundigen ;)

Heeft iemand van jullie ervaring met CIE lab grafieken? Ik heb wat L*, a*, b*, C* en h waarden en die wil ik graag weergeven in een Excel grafiek. (Ze gaan in verschillende richtingen en het liefst zou ik ook de kleur er bij zien..)

Is dit mogelijk? Iemand een idee?
Klinkt spannend! http://nl.wikipedia.org/wiki/CIELAB
Deetchmaandag 27 februari 2012 @ 22:11
quote:
0s.gif Op maandag 27 februari 2012 17:06 schreef Reflectionne het volgende:
Hoi ervaringsdeskundigen ;)

Heeft iemand van jullie ervaring met CIE lab grafieken? Ik heb wat L*, a*, b*, C* en h waarden en die wil ik graag weergeven in een Excel grafiek. (Ze gaan in verschillende richtingen en het liefst zou ik ook de kleur er bij zien..)

Is dit mogelijk? Iemand een idee?
Volgens WIKI erg lastig: http://en.wikipedia.org/wiki/Lab_color_space

Als je de formule hebt dan kan excel die berekening wel voor je doen.
Deetchmaandag 27 februari 2012 @ 22:15
L loopt van 0 naar 100 van zwart naar wit
A loopt van -### naar +### van groen naar rood waarbij ### een arbitrair getal is die het maximum van de schaal aangeeft
B loopt van -### naar +### van blauw naar geel

Maar hoe je de A en b waarde vertaalt naar een "kleur" weet ik niet.

O+
qu63maandag 27 februari 2012 @ 22:18
quote:
3s.gif Op maandag 27 februari 2012 22:11 schreef Deetch het volgende:

[..]

Volgens WIKI erg lastig: http://en.wikipedia.org/wiki/Lab_color_space

Als je de formule hebt dan kan excel die berekening wel voor je doen.
Ik vraag me vooral af of Excel wel zulke grafieken kan tekenen qua kleuren:
Lab_color_space.png
dekilodinsdag 28 februari 2012 @ 10:48
Om de een of andere reden werken wij met een excel sheet waar alle vergader ruimtes instaan.
je moet een vergader ruimte boeken (tijd boeken) via excel.
Je raadt het al dit gaat dus herhaaldelijk mis.
Vandaag weer ik loop een ruimte in die ik geboekt heb en jawel hoor bezet door een andere groep.
Is er een mogelijkheid om bv 3 cellen te beveiligen in een sheet met password en dat alle andere cellen nog gewoon overschreven kunnen worden?
#ANONIEMdinsdag 28 februari 2012 @ 11:18
quote:
0s.gif Op dinsdag 28 februari 2012 10:48 schreef dekilo het volgende:
Om de een of andere reden werken wij met een excel sheet waar alle vergader ruimtes instaan.
je moet een vergader ruimte boeken (tijd boeken) via excel.
Je raadt het al dit gaat dus herhaaldelijk mis.
Vandaag weer ik loop een ruimte in die ik geboekt heb en jawel hoor bezet door een andere groep.
Is er een mogelijkheid om bv 3 cellen te beveiligen in een sheet met password en dat alle andere cellen nog gewoon overschreven kunnen worden?
Eigenschappen van de cel, bescherming, geblokkerd aanvinken en de sheet beveiligen met wachtwoord
qu63dinsdag 28 februari 2012 @ 11:18
quote:
0s.gif Op dinsdag 28 februari 2012 10:48 schreef dekilo het volgende:
Om de een of andere reden werken wij met een excel sheet waar alle vergader ruimtes instaan.
je moet een vergader ruimte boeken (tijd boeken) via excel.
Je raadt het al dit gaat dus herhaaldelijk mis.
Vandaag weer ik loop een ruimte in die ik geboekt heb en jawel hoor bezet door een andere groep.
Is er een mogelijkheid om bv 3 cellen te beveiligen in een sheet met password en dat alle andere cellen nog gewoon overschreven kunnen worden?
Ja. Celeigenschappen -> Bescherming en doe wat daar staat :)
qu63dinsdag 28 februari 2012 @ 11:19
quote:
3s.gif Op dinsdag 28 februari 2012 11:18 schreef KritischeMassa het volgende:

[..]

Eigenschappen van de cel, bescherming, geblokkerd aanvinken en de sheet beveiligen met wachtwoord
Damn, als ik m'n typo niet verbeterd had was ik sneller! ;(
dekilodinsdag 28 februari 2012 @ 11:44
Hij kan niet beveiligd worden met een password aangezien er nog andere mensen in moeten werken.
Ik wil gewoon niet dat ze mijn ingevulde cellen kunnen wijzigen.
dekilodinsdag 28 februari 2012 @ 11:48
Ok ik doe het nu zo:

ctrl a, lock cels uitvinken .
Cellen selecteren die ik wil locken en daarvan aanpassen naar locked en vervolgens de beveiliging erop gooien.

Dan werkt het!
Snoepje5dinsdag 28 februari 2012 @ 18:44
Ik heb een aantal colummen die er als volgt uit zien:

datum | bedrag incl | bedrag excl | naam | soort | kenmerk.
5
5
Nu wil ik van alle rijen welke de naam ''Piet'' hebben het bedrag incl optellen. Hoe maak ik hier een formule van?

Dus i.p.v. som(xxx) te doen of =xx+xx wil ik dat ie die automatisch selecteerd. Ik moet nu allemaal handmatig in die vakjes gaan klikken, schiet niet op.

Bedankt als iemand 't antwoord weet.
#ANONIEMdinsdag 28 februari 2012 @ 18:45
som.als
Snoepje5dinsdag 28 februari 2012 @ 18:56
Thnx.
Days-Of-Wilddinsdag 28 februari 2012 @ 20:58
Weet iemand hoe ik de een na grootste unieke waarde met een formule uit een reeks kan halen?
Stel reeks:
5
18
16
18
12
7
9
18

18 komt dus meerdere keren voor, maar ik wil weten wat de eerstvolgende grootste is, in deze reeks dus 16. met LARGE kun je de x-grootste opgeven, maar de reeks groeit en ik weet vantevoren niet hoevaak de hoogste waarde voor gaat komen.
Sorteren is geen optie, de reeks moet onveranderd zo blijven.
Ik gebruik Excel 2003.
Alvast bedankt.
Reflectionnedinsdag 28 februari 2012 @ 21:42
h
quote:
0s.gif Op maandag 27 februari 2012 22:18 schreef qu63 het volgende:

[..]

Ik vraag me vooral af of Excel wel zulke grafieken kan tekenen qua kleuren:
[ afbeelding ]
Hmm dankje.. Gaat denk ik niet lukken in Excel dus, jammer.
McGilleswoensdag 29 februari 2012 @ 00:17
quote:
0s.gif Op dinsdag 28 februari 2012 20:58 schreef Days-Of-Wild het volgende:
Weet iemand hoe ik de een na grootste unieke waarde met een formule uit een reeks kan halen?
Stel reeks:
5
18
16
18
12
7
9
18

18 komt dus meerdere keren voor, maar ik wil weten wat de eerstvolgende grootste is, in deze reeks dus 16. met LARGE kun je de x-grootste opgeven, maar de reeks groeit en ik weet vantevoren niet hoevaak de hoogste waarde voor gaat komen.
Sorteren is geen optie, de reeks moet onveranderd zo blijven.
Ik gebruik Excel 2003.
Alvast bedankt.
3 kolommen toevoegen, waarbij je waarden in D staan:

1 : Nummering, beginnen met 1, 2, 3, enz tot eind
2 : =COUNTIF(C:C;C1) -> slepen
3 : =LARGE(D:D;A1) -> slepen

Dan =VLOOKUP(1;B:C;2;FALSE)
Days-Of-Wildwoensdag 29 februari 2012 @ 09:02
quote:
0s.gif Op woensdag 29 februari 2012 00:17 schreef McGilles het volgende:

[..]

3 kolommen toevoegen, waarbij je waarden in D staan:

1 : Nummering, beginnen met 1, 2, 3, enz tot eind
2 : =COUNTIF(C:C;C1) -> slepen
3 : =LARGE(D:D;A1) -> slepen

Dan =VLOOKUP(1;B:C;2;FALSE)
Dank je wel!
Ik heb hem iets anders gedaan, zonder VLOOKUP. Ik heb met MAX de hoogste waarde uit de reeks gehaald, vervolgens met COUNTIF het aantal malen geteld dat deze waarde voorkomt en met LARGE gezocht naar de volgende hoogste waarde (resultaat COUNTIF + 1 ). En dat in één cel/formule gepropt.
wdvanoyenwoensdag 29 februari 2012 @ 21:34
Ok, dit maal zit ik met een zeer gedetailleerde vraag en ik betwijfel of het überhaupt wel mogelijk is.

Ik zit hier met enkele kolommen met gegevens in de vorm van getallen. De eerste gegevens uit de eerste 3 kolommen zijn afkomstig van bron 1, de laatste 2 kolommen zijn afkomstig van bron 2. Ik wil kolom F verplaatsen naar kolom D. Maar de gegevens uit kolom F moeten naar het rij nummer dat in kolom E staat.
Afbeelding:
http://img856.imageshack.us/img856/7159/extump.png (copy/paste deze link) (copy/paste deze link)
Dus de waarde in F1 moet naar rij nummer 149, en de waarde in F2 moet naar rijnummer 173.

Hoe kan ik dit automatisch door Excel laten doen? Het zijn 365 waarden, en als dat handmatig moet duurt het nog wel even...
qu63woensdag 29 februari 2012 @ 23:58
quote:
0s.gif Op woensdag 29 februari 2012 21:34 schreef wdvanoyen het volgende:
Ok, dit maal zit ik met een zeer gedetailleerde vraag en ik betwijfel of het überhaupt wel mogelijk is.

Ik zit hier met enkele kolommen met gegevens in de vorm van getallen. De eerste gegevens uit de eerste 3 kolommen zijn afkomstig van bron 1, de laatste 2 kolommen zijn afkomstig van bron 2. Ik wil kolom F verplaatsen naar kolom D. Maar de gegevens uit kolom F moeten naar het rij nummer dat in kolom E staat.
Afbeelding:
http://img856.imageshack.us/img856/7159/extump.png (copy/paste deze link) (copy/paste deze link)
Dus de waarde in F1 moet naar rij nummer 149, en de waarde in F2 moet naar rijnummer 173.

Hoe kan ik dit automatisch door Excel laten doen? Het zijn 365 waarden, en als dat handmatig moet duurt het nog wel even...
In D1: =VERT.ZOEKEN(A1;$E$1:$F$365;2;ONWAAR)
En dan doortrekken naar beneden
Darkzelldonderdag 1 maart 2012 @ 11:59
Ik heb een probleem met vert.zoeken. Ik heb 2 excel bestanden, één is een grote ledenlijst met daarin verscheidene gegevens, de andere is een simpele tabel met daarin lidnummer, naam, en een lege kolom. Ik wil dat via de lidnummers automatisch de lege kolom wordt gevuld met de bijbehorende e-mailadressen uit de ledenlijst.

Ik heb de volgende formule: =VERT.ZOEKEN(A:A;[Leden.xls]Leden!$A$1:$O$152;[Leden.xls]Leden!$M:$M), echter blijft er als uitkomst #NB komen.
(A:A is de kolom met lidnummers, in kolom M van leden.xls staan de emailadressen)

Iemand een idee hoe dit op te lossen?

Alvast bedankt
qu63donderdag 1 maart 2012 @ 12:14
quote:
0s.gif Op donderdag 1 maart 2012 11:59 schreef Darkzell het volgende:
Ik heb een probleem met vert.zoeken. Ik heb 2 excel bestanden, één is een grote ledenlijst met daarin verscheidene gegevens, de andere is een simpele tabel met daarin lidnummer, naam, en een lege kolom. Ik wil dat via de lidnummers automatisch de lege kolom wordt gevuld met de bijbehorende e-mailadressen uit de ledenlijst.

Ik heb de volgende formule: =VERT.ZOEKEN(A:A;[Leden.xls]Leden!$A$1:$O$152;[Leden.xls]Leden!$M:$M), echter blijft er als uitkomst #NB komen.
(A:A is de kolom met lidnummers, in kolom M van leden.xls staan de emailadressen)

Iemand een idee hoe dit op te lossen?

Alvast bedankt
A:A is niet even groot (lang) als A1:O152..
Darkzelldonderdag 1 maart 2012 @ 12:38
Als ik het als $A:$O schrijft doet ie het ook niet. Of bedoel je iets anders?
Deetchdonderdag 1 maart 2012 @ 13:14
Je maakt 2 fouten:

Fout 1:
je zoekt nu naar de inhoud van de hele kolom A in de hele array van A:O dat werkt natuurlijk niet.
Je kunt maar naar 1 waarde zoeken, dus vervang A:A door A1 of A2 etc

Fout 2:
je derde variabele in de functie moet een getal zijn. Als je wilt zoeken in kolom M en in je tweede variabele definieer je de tabel van A tm O dan vul je daar 13 in want M is de dertiende kolom in een tabel die van A tm O loopt.

Opmerking 1:
In kolom A in het leden tabblad moet wel het lidnummer staan want daar zoek je nl. op

Opmerking 2:
Lees de help van de functie vert.zoeken ook eens

Opmerking 3:
http://www.zowerktexcel.nl/functies/de-functie-verticaal-zoeken/
http://www.zowerktexcel.n(...)caal-zoeken-deel-ii/
http://www.zowerktexcel.n(...)aal-zoeken-deel-iii/

Snelle hulp:
=VERT.ZOEKEN(A1;[Leden.xls]Leden!$A$1:$O$152;13,0) zou moeten werken

De 0 aan het einde van de functie zorgt ervoor dat de functie alleen naar exact hetzelfde getal zoket en niet naar iets wat er het dichtst in de buurt komt.

[ Bericht 41% gewijzigd door Deetch op 01-03-2012 13:21:23 ]
Darkzelldonderdag 1 maart 2012 @ 13:32
Ik had de meeste dingen rechtstreeks overgenomen van een uitleg over verticaal zoeken, en toegepast op mijn situatie maar dat werkte dus blijkbaar toch niet helemaal naar behoren. Bij het letterlijk kopieren van je formule kwam er iig al een e-mailadres tevoorschijn, dus ik ga er verder zelf wel uitkomen nu.

Bedankt voor de hulp!
McGillesdonderdag 1 maart 2012 @ 23:31
quote:
0s.gif Op woensdag 29 februari 2012 09:02 schreef Days-Of-Wild het volgende:

[..]

Dank je wel!
Ik heb hem iets anders gedaan, zonder VLOOKUP. Ik heb met MAX de hoogste waarde uit de reeks gehaald, vervolgens met COUNTIF het aantal malen geteld dat deze waarde voorkomt en met LARGE gezocht naar de volgende hoogste waarde (resultaat COUNTIF + 1 ). En dat in één cel/formule gepropt.
Maar wat als dan de 1 na grootste waarde ook vaker voorkomt, dan krijg jij die met jouw formule wel terug en dat is toch niet de bedoeling? :)
Stansfieldvrijdag 2 maart 2012 @ 11:32
Hoe krijg ik in excel een kolommen grafiek waarbij ik op de X-as de maanden heb. En dan 3 kolommen direct naast elkaar heb van 2009/2010 en 2011.
Stansfieldvrijdag 2 maart 2012 @ 11:46
Het is al gelukt.
Deetchvrijdag 2 maart 2012 @ 13:30
quote:
0s.gif Op vrijdag 2 maart 2012 11:46 schreef Stansfield het volgende:
Het is al gelukt.
nou zo dus :D
Okselvrijdag 2 maart 2012 @ 18:08
Ik heb echt een simpele vraag denk ik.

Ik heb een pulldown dingetje met 5 waardes (25, 35, 50, 63, 80).

Aan elke waarde zit een drietal andere waardes vast, die horen bij elkaar. Als ik 25 selecteer, moet er in een ander vakje bijv. 13000 tevoorschijn komen, in het vakje daaronder 200, etc.

Ik wilde dat met een IF functie doen, maar hoe kan ik in die IF functie een waarde uit een andere cel weergeven in die cel? Ofzo? Ik weet zeker dat er zoooooooo'n simpele oplossing voor is.. maar hoe? Thnx :)
Jesse_vrijdag 2 maart 2012 @ 18:21
quote:
0s.gif Op vrijdag 2 maart 2012 18:08 schreef Oksel het volgende:
Ik heb echt een simpele vraag denk ik.

Ik heb een pulldown dingetje met 5 waardes (25, 35, 50, 63, 80).

Aan elke waarde zit een drietal andere waardes vast, die horen bij elkaar. Als ik 25 selecteer, moet er in een ander vakje bijv. 13000 tevoorschijn komen, in het vakje daaronder 200, etc.

Ik wilde dat met een IF functie doen, maar hoe kan ik in die IF functie een waarde uit een andere cel weergeven in die cel? Ofzo? Ik weet zeker dat er zoooooooo'n simpele oplossing voor is.. maar hoe? Thnx :)
Bedoel je gewoon zoiets:
IF(A1=25;13000;IF(A1=35;12000;IF(A1=50;etc ?
Dan zou je in het vakje daaronder hetzelfde krijgen met de andere waardes.

Al is dit misschien wat omslachtig :P
Okselvrijdag 2 maart 2012 @ 18:22
Dat ziet er wel heel simpel uit. Werkt dat? :P
Jesse_vrijdag 2 maart 2012 @ 18:23
quote:
0s.gif Op vrijdag 2 maart 2012 18:22 schreef Oksel het volgende:
Dat ziet er wel heel simpel uit. Werkt dat? :P
Ja :)
Maar er zitten hier wel mensen die vast elegantere oplossingen kunnen bedenken.
Okselvrijdag 2 maart 2012 @ 18:42
Alles werkt nu, thnx :)
#ANONIEMzaterdag 3 maart 2012 @ 10:58
quote:
7s.gif Op vrijdag 2 maart 2012 18:23 schreef Jesse_ het volgende:

[..]

Ja :)
Maar er zitten hier wel mensen die vast elegantere oplossingen kunnen bedenken.
je kan bijvoorbeeld een tabel maken met de waarden uit het pulldown menu in de eerste kolom, de kolom ernaast waarde 1, de kolom daarnaast waarde 2 etc.

Dan kun je met een verticaal zoeken de juiste bijbehorende waarde ophalen uit die tabel.

Het voordeel hiervan is dat de waarden niet vaststaan in de formule (stel je wil niet 13000 maar 13004 als nieuwe mogelijke waarde)

Vele wegen leiden naar de top van de berg, het uitzicht is altijd hetzelfde ;)
nieknikeyzaterdag 3 maart 2012 @ 16:23
Ok ik zit met een waar probleem. Ik wil een grafiek laten tekenen die er ongeveer zo uit komt te zien:
ME036%20Graph%201.jpg

De gegevens waar ik over beschik, zijn ook gegevens over CO2, temperatuur en Jaren geleden.
screenshot: http://img51.imageshack.us/img51/2585/grafiek.png (copy/paste deze link)
Kolom B bevat het aantal jaren geleden,
Kolom C bevat relatieve temperatuursverandering
Kolom D bevat gegevens over CO2 concentratie. Er zijn slechts van een paar rijen gegevens over CO2 bekend, ik weet niet hoe ik dit in een grafiek moet laten schetsen. Ik zit er nu al 2 en een half uur op, en het lukt me maar niet. Het is dus de bedoeling om op de X-as de tijd te zetten, het liefst van rechts naar links (links is ouder). Op de y-as moet CO2 en temperatuur uitgezet worden.
Gaat dit in Excel 2010, en zo ja, hoe?
Arceezaterdag 3 maart 2012 @ 16:24
quote:
0s.gif Op zaterdag 3 maart 2012 16:23 schreef nieknikey het volgende:
Ok ik zit met een waar probleem. Ik wil een grafiek laten tekenen die er ongeveer zo uit komt te zien:
[ afbeelding ]

De gegevens waar ik over beschik, zijn ook gegevens over CO2, temperatuur en Jaren geleden.
screenshot: [ http://img51.imageshack.us/img51/2585/grafiek.png (copy/paste deze link) ]
Kolom B bevat het aantal jaren geleden,
Kolom C bevat relatieve temperatuursverandering
Kolom D bevat gegevens over CO2 concentratie. Er zijn slechts van een paar rijen gegevens over CO2 bekend, ik weet niet hoe ik dit in een grafiek moet laten schetsen. Ik zit er nu al 2 en een half uur op, en het lukt me maar niet. Het is dus de bedoeling om op de X-as de tijd te zetten, het liefst van rechts naar links (links is ouder). Op de y-as moet CO2 en temperatuur uitgezet worden.
Gaat dit in Excel 2010, en zo ja, hoe?
Voor type XY (Scatter) kiezen?
nieknikeyzaterdag 3 maart 2012 @ 16:31
sorry, dat zegt me dus echt helemaal niks :$
Arceezaterdag 3 maart 2012 @ 16:35
Misschien heb je een Nederlandse versie en dan heet het spreidingsdiagram, of zo. Die moet je dan kiezen als chart type / grafiektype.
nieknikeyzaterdag 3 maart 2012 @ 16:35
Ik heb het even opgezocht, ik heb nu het aantal Jaren geleden op de X as staan (correct) en de relatieve temperatuur op de Y-as. Op welke manier:
- kan ik een 2e reeks gegevens hieraan toevoegen? (de CO2 gegevens)
- kan ik de grafiek omkeren, zodat het heden rechts in plaats van links ligt
Arceezaterdag 3 maart 2012 @ 16:45
quote:
0s.gif Op zaterdag 3 maart 2012 16:35 schreef nieknikey het volgende:
Ik heb het even opgezocht, ik heb nu het aantal Jaren geleden op de X as staan (correct) en de relatieve temperatuur op de Y-as. Op welke manier:
- kan ik een 2e reeks gegevens hieraan toevoegen? (de CO2 gegevens)
2rgky11.jpg

Zo?
Arceezaterdag 3 maart 2012 @ 16:49
quote:
- kan ik de grafiek omkeren, zodat het heden rechts in plaats van links ligt
n19c9v.jpg

'values in reverse order' aanvinken.
Arceezaterdag 3 maart 2012 @ 16:50
Wellicht heb je hier wat aan voor Excel 2010:

nieknikeyzaterdag 3 maart 2012 @ 17:00
Je fragment eindigd exact waar het interessant wordt. De grafieken die je liet zien, wou ik eigenlijk maken ja. Echter gebruikt de data van CO2 een hele andere schaal en immens grotere getallen, het liefst wil ik de 2 grafieken dicht bij elkaar hebben liggen, dus dat ik rechts en links een andere schaalverdeling heb. Hoe kan ik dit maken?
Arceezaterdag 3 maart 2012 @ 17:10
quote:
0s.gif Op zaterdag 3 maart 2012 17:00 schreef nieknikey het volgende:
Je fragment eindigd exact waar het interessant wordt. De grafieken die je liet zien, wou ik eigenlijk maken ja. Echter gebruikt de data van CO2 een hele andere schaal en immens grotere getallen, het liefst wil ik de 2 grafieken dicht bij elkaar hebben liggen, dus dat ik rechts en links een andere schaalverdeling heb. Hoe kan ik dit maken?
Delen door 1000 en erbij zetten 'x 1000'? Of 10.000, of wat ook maar goed past.
nieknikeyzaterdag 3 maart 2012 @ 17:18
Dan heb ik nog altijd 2 y-achtige assen nodig waar ik schaalverdeling op kwijt moet kunnen. De gegevens van CO2 schommelen namelijk tussen de 190 en 310, en de gegevens van temperatuur tussen de -10 en +10.
Arceezaterdag 3 maart 2012 @ 17:29
quote:
0s.gif Op zaterdag 3 maart 2012 17:18 schreef nieknikey het volgende:
Dan heb ik nog altijd 2 y-achtige assen nodig waar ik schaalverdeling op kwijt moet kunnen. De gegevens van CO2 schommelen namelijk tussen de 190 en 310, en de gegevens van temperatuur tussen de -10 en +10.
Dan maak je er 19 tot 31 van en zet je er x10 bij.

Is het nou al gelukt de grafiek te maken met beide waardes?
nieknikeyzaterdag 3 maart 2012 @ 17:34
Nee, ik kom er niet uit hoe ik een tweede schaalverdeling aan kan leggen.
ralfiezaterdag 3 maart 2012 @ 19:14
zie hier:

http://www.techonthenet.com/excel/charts/2_y_axes.php
Arceezaterdag 3 maart 2012 @ 20:47
quote:
0s.gif Op zaterdag 3 maart 2012 17:34 schreef nieknikey het volgende:
Nee, ik kom er niet uit hoe ik een tweede schaalverdeling aan kan leggen.
Gewoon een extra kolom selecteren en dan Chart/Grafiek kiezen.
Deetchmaandag 5 maart 2012 @ 09:06
rechtsklikken op de tweede dataset, format dataset en dan secondary axis kiezen

Als je tweede dataset minder punten heeft (bij sommige jaren van temperatuur geen co2) dan krijg je geen doorgetrokken lijn.

Je kunt dan het beste een nieuwe dataset maken door zowel de jaartallen kolom als de CO2 data kolom te kopieren, vervolgens de jaartallen waar geen CO2 bij hoort te verwijderen zodat er geen lege regelstje meer zijn.
Deze nieuwe dataset voeg je toe aan je grafiek.


Je kunt een dataset met gaten gewoon door laten plotten door bij "select dataset" onder de knop "Hidden/empty cells" de optie "connect datapoints with line" aan te vinken. was voor mij ook nieuw

[ Bericht 39% gewijzigd door Deetch op 05-03-2012 11:56:30 ]
Cue_maandag 5 maart 2012 @ 15:06
Geen idee of jullie mij hiermee kunnen helpen, maar het heeft wel betrekking op rekenkunsten :+

Ik heb een excellijst/overzicht met GPS coordinaten van iets.
Van elke wil ik ten eerste een longitude en latitude van hebben. Dit zou ik online 1 voor 1 kunnen invoeren op een site, maar ik heb iets te veel data daarvoor.

Daarnaast wil ik dat als ik dat punt heb in long/lat, vervolgens de long/lat van een vierkant omheen met daarin als middenpunt dus die spot. Waarvan de linker en rechterkant bv 150 meter betreffen en ook de boven/onderzijde van het vierkant.

Iemand enig idee mbt rekenkunsten die hievoor gebruikt kunnen worden?
qu63maandag 5 maart 2012 @ 15:08
quote:
0s.gif Op maandag 5 maart 2012 15:06 schreef Cue_ het volgende:
Geen idee of jullie mij hiermee kunnen helpen, maar het heeft wel betrekking op rekenkunsten :+

Ik heb een excellijst/overzicht met GPS coordinaten van iets.
Van elke wil ik ten eerste een longitude en latitude van hebben. Dit zou ik online 1 voor 1 kunnen invoeren op een site, maar ik heb iets te veel data daarvoor.

Daarnaast wil ik dat als ik dat punt heb in long/lat, vervolgens de long/lat van een vierkant omheen met daarin als middenpunt dus die spot. Waarvan de linker en rechterkant bv 150 meter betreffen en ook de boven/onderzijde van het vierkant.

Iemand enig idee mbt rekenkunsten die hievoor gebruikt kunnen worden?
Kan je dan niet beter iets met de API van Google Maps doen?
Cue_maandag 5 maart 2012 @ 15:17
quote:
0s.gif Op maandag 5 maart 2012 15:08 schreef qu63 het volgende:

Kan je dan niet beter iets met de API van Google Maps doen?
Doen doen we wel al wat mee. Het tonen van de diverse punten op de mooie wereldkaart.

Maar nu moet ik een excel lijst met gpspunten (3000 stuks) omzetten naar long/lat + straal .. die wil ik in een database gooien, zodat vervolgens dit getoond kan worden op de kaart.
Deetchmaandag 5 maart 2012 @ 15:22
Is wel een beetje afhankelijk van het format van je GPS coordinaten. Geef eens een voorbeeld van je GPS en bijbehorende lon/lat? Hoe zijn N/S en E/W gedefinieerd?

Met wat IF functies en omrekenen komene we er wel maar dan hebben we dus eerst een voorbeeld nodig.

Voorbeeldje:

GPS notatie 78 12.500 wordt 78 ° 12' 30'' met onderstaande formule
1=LEFT(A1,FIND(" ",A1)-1)&CHAR(176)&" "&MID(A1,FIND(" ",A1)+1,FIND(".",A1)-FIND(" ",A1)-1)&"' "&60*RIGHT(A1,LEN(A1)-FIND(".",A1)+1)&""""


[ Bericht 46% gewijzigd door Deetch op 05-03-2012 15:39:50 ]
Cue_maandag 5 maart 2012 @ 15:39
voorbeelden heb ik natuurlijk :
Gegeven dat ik heb:
GPS_LON = 5° 56' 11" E
GPS_LAT = 50° 54' 03" N

Moet worden:
long 5.936389
lat 50.900833

Waarvan dit dus het exacte punt is. En nu moet ik eigenlijk 2 andere punten.
Denk om dat punt een vierkant (met als center dus bovenstaand punt en een breedte/hoogte van bv 150 meter). En dan heb ik de long/lat van het punt linksboven en het punt rechtsonder (van het vierkant) nodig.
Deetchmaandag 5 maart 2012 @ 15:54
Met deze functie reken je alvast het decimale coordinaat uit:
1=LEFT(A1,FIND("°",A1)-1)+(MID(A1,FIND("°",A1)+2,FIND("'",A1)-FIND("°",A1)-2)/60)+MID(A1,FIND("'",A1)+2,FIND(CHAR(34),A1)-FIND("'",A1)-2)/3600
Deze functie noem ik even FUNCTIE

Vervolgens moet je er nog een + of - teken voor zetten.
E en N zijn positief, W en Z (of S) zijn negatief

Voor GPS_LON: =IF(RIGHT(A1,1)="E",FUNCTIE,-1*FUNCTIE)
Voor GPS_LAT: =IF(RIGHT(A1,1)="N",FUNCTIE,-1*FUNCTIE)

Gelukt?
qu63maandag 5 maart 2012 @ 16:03
quote:
0s.gif Op maandag 5 maart 2012 15:39 schreef Cue_ het volgende:
voorbeelden heb ik natuurlijk :
Gegeven dat ik heb:
GPS_LON = 5° 56' 11" E
GPS_LAT = 50° 54' 03" N

Moet worden:
long 5.936389
lat 50.900833

Waarvan dit dus het exacte punt is. En nu moet ik eigenlijk 2 andere punten.
Denk om dat punt een vierkant (met als center dus bovenstaand punt en een breedte/hoogte van bv 150 meter). En dan heb ik de long/lat van het punt linksboven en het punt rechtsonder (van het vierkant) nodig.
Eigenlijk moet je dus 4 functies maken.
1e: midden -75m lon en -75m lat
2e: midden -75m lon en +75 lat
3e: midden +75m lon en -75m lat
4e: midden +75m lon en +75 lat

En dan dus meter omrekenen naar graden/minuten/seconden..
Cue_maandag 5 maart 2012 @ 16:05
quote:
3s.gif Op maandag 5 maart 2012 15:54 schreef Deetch het volgende:
Met deze functie reken je alvast het decimale coordinaat uit:
[ code verwijderd ]

Deze functie noem ik even FUNCTIE

Vervolgens moet je er nog een + of - teken voor zetten.
E en N zijn positief, W en Z (of S) zijn negatief

Voor GPS_LON: =IF(RIGHT(A1,1)="E",FUNCTIE,-1*FUNCTIE)
Voor GPS_LAT: =IF(RIGHT(A1,1)="N",FUNCTIE,-1*FUNCTIE)

Gelukt?
Heb hem een moeten vertalen naar het nederlands en krijg ik dit eruit, maar geeft ie een #Naam? fout op .
1=LINKS(P2;VIND("°";P2)-1)+(DEEL(P2;VIND("°";P2)+2;VIND("'";P2)-VIND("°";P2)-2)/60)+DEEL(P2;VIND("'";P2)+2;VIND(TEKEN(34);P2)-VIND("'";P2)-2)/3600

Moet natuurlijk ook nog wat met de rest van je verhaal doen :+
Maar moet je dan die FUNCTIE er gewoon inplakken? of kan je die wee rvanuit een andere cel oproepen?

[ Bericht 4% gewijzigd door Cue_ op 05-03-2012 16:18:44 ]
Deetchmaandag 5 maart 2012 @ 16:50
Probeer eens VIND te vervangen door VIND.ALLES. In het NL bestaat de functie VIND niet vandaar de foutmelding.

Volgende keer ook even taal en versie vermelden bij je vraag ^O^

Die FUNCTIE kun je er gewoon in plakken (zonder het eerste "=" teken natuurlijk)
Geraltmaandag 5 maart 2012 @ 16:51
Kan iemand me helpen met mijn simpele excelsheet mbt bijhouden van energieverbruik?
Ik wil het elke maand op de 5de de meterstanden invullen vanaf nu.

Ik heb 2 meterstanden. Die van vandaag en die van ergens in oktober vorig jaar.

Het ziet er nu zo uit:
2hcq68x.jpg

In de onderste tabel wil ik het verbruik per maand zien van zowel dag als nachttarief en het totale verbruik per maand. Om dat te berekenen heb ik bv B7-B6 gedaan voor het verbruik van 9 oktober tot 5 maart.

Diezelfde berekening zit ook in de cellen eronder, echter geeft hij dan bij de komende maand een negatieve waarde omdat ik in de bovenste tabel bij de komende maand nog niets ingevuld heb en hij daar de stand van vandaag vanaf telt.

De rest vult ie wel automatisch 0 in.

Hoe krijg ik die eerste negatieve waarde weg?
Als ik 5 april invul dan verspringt in de onderste tabel de negatieve waarde 1 cel omlaag etc.

Iemand een idee? Dit moet vast heel makkelijk zijn voor jullie, maar ik heb excel nooit echt veel gebruikt :@
Geraltmaandag 5 maart 2012 @ 16:52
Het gaat er dus om welke formule ik in cel B21 moet zetten en door kan trekken tot en met B30.

Nu staat daar heel simpel =SOM(B7-B6)
Bij cel B22 gaat het dan mis want die telt B8 (waar nog niks staat) - B7 en daar komt natuurlijk een negatief getal uit ;(

Als ik daar geen negatieve waardes meer in heb dan kloppen de negatieve cijfers aan de rechterkant ook vanzelf :)
Deetchmaandag 5 maart 2012 @ 16:54
Volgens mij zijn meters niet direct in graden te vertalen vanwege de kromming van de aarde. Blokjes van precies 150x150 is dus lastig want afhankelijk van de werkelijk positie.

misschien kun je met de applicatie een formule maken die uitrekend hoeveel seconden 150 meter is bij een bepaalde hoek.
Cue_maandag 5 maart 2012 @ 16:57
quote:
3s.gif Op maandag 5 maart 2012 16:50 schreef Deetch het volgende:
Probeer eens VIND te vervangen door VIND.ALLES. In het NL bestaat de functie VIND niet vandaar de foutmelding.

Volgende keer ook even taal en versie vermelden bij je vraag ^O^

Die FUNCTIE kun je er gewoon in plakken (zonder het eerste "=" teken natuurlijk)
Sorry :@ was uberhaupt eerst de vraag of het kon via excel of dat ik hier uberhaupt verkeerd zat met de vraag.
Cue_maandag 5 maart 2012 @ 16:58
Maar met vind.alles doet hij het :o :)
Deetchmaandag 5 maart 2012 @ 17:01
quote:
7s.gif Op maandag 5 maart 2012 16:52 schreef Geralt het volgende:
Het gaat er dus om welke formule ik in cel B21 moet zetten en door kan trekken tot en met B30.

Nu staat daar heel simpel =SOM(B7-B6)
Bij cel B22 gaat het dan mis want die telt B8 (waar nog niks staat) - B7 en daar komt natuurlijk een negatief getal uit ;(

Als ik daar geen negatieve waardes meer in heb dan kloppen de negatieve cijfers aan de rechterkant ook vanzelf :)
Je eerste meting staat in B6
Je datums staan in A6 en verder

Probeer eens voor maandverbruik tussen twee meetpunten
=ALS(b7="";"";30,5*((b7-b6)/(A7-A6)))

Wil je je voortschrijdende gemiddelde maandverbuik vanaf de datum in B6 gebruik dan
=ALS(b7="";"";30,5*((b7-$b$6)/(A7-$A$6)))

En voor voortschreiden gemiddelde jaarverbruik gebruik je:
=ALS(b7="";"";365*((b7-$b$6)/(A7-$A$6)))
Deetchmaandag 5 maart 2012 @ 17:02
quote:
0s.gif Op maandag 5 maart 2012 16:57 schreef Cue_ het volgende:

[..]

Sorry :@ was uberhaupt eerst de vraag of het kon via excel of dat ik hier uberhaupt verkeerd zat met de vraag.
Geen probleem en met EXCEL kan alles mits je de onderliggende formules van je probleem maar kent.
Geraltmaandag 5 maart 2012 @ 17:02
Ok wacht even. Hier snap ik geen klote van :D :@

Wat vul ik in in cel B21? :@
Deetchmaandag 5 maart 2012 @ 17:03
quote:
7s.gif Op maandag 5 maart 2012 17:02 schreef Geralt het volgende:
Ok wacht even. Hier snap ik geen klote van :D :@

Wat vul ik in in cel B21? :@
een van de drie formules, mag je zelf kiezen.

wat de formules doen is kijken of de cel b7 leeg is, zo ja dan wordt B21 ook leeg.

als b7 wel een getal bevat dan wordt tde meterstand van b6 afgetrokken van B7 en gedeeld door het aantal dagen van de meting van b7 en b6 (dan hoef je dus niet precies elke maand een waarde op te schrijven)

vervolgens wordt deze vermenigvuldigd met 30.5 (gemiddeld aantal dagen per maand) of 365 (dagen per jaar)
Geraltmaandag 5 maart 2012 @ 17:05
Als ik de bovenste invul in B21 dan zou ik een waarde van 2301 moeten krijgen.
Echter met die formule van jou krijg ik dan 474,1926 :?
Geraltmaandag 5 maart 2012 @ 17:08
Ik wil overigens geen gemiddeldes per maand of iets dergelijks.

Als ik in cel B8 bv 28000 invul en in cel B9 30000 dan moet er in cel B23 komen te staan 2000
Deetchmaandag 5 maart 2012 @ 17:15
quote:
7s.gif Op maandag 5 maart 2012 17:05 schreef Geralt het volgende:
Als ik de bovenste invul in B21 dan zou ik een waarde van 2301 moeten krijgen.
Echter met die formule van jou krijg ik dan 474,1926 :?
Dat klopt toch ook, tussen 9 okt en 5 mrt zit toch ook 5 maand dan kan 2300 toch nooit kloppen.
Of je moet de tekst in rij 20 even aanpassen want daar staat verbruik per maand.

Als je daar verbruik per periode wilt hebben gebruik dan de formule:

=ALS(b7="";"";(b7-b6)
Cue_maandag 5 maart 2012 @ 17:19
Als de cijfers vergelijk met een site waar je ze handmatig kan overzetten komen ze niet helemaal overeen :{
site: http://transition.fcc.gov/mb/audio/bickel/DDDMMSS-decimal.html

waarde bv

48° 10' 44" N
eigen berekening: 48,28888889
via de site: 48.178889

16° 21' 29" E
eigen berekening: 16,43055556
de site 16.358056
Geraltmaandag 5 maart 2012 @ 17:22
quote:
3s.gif Op maandag 5 maart 2012 17:15 schreef Deetch het volgende:

[..]

Dat klopt toch ook, tussen 9 okt en 5 mrt zit toch ook 5 maand dan kan 2300 toch nooit kloppen.
Of je moet de tekst in rij 20 even aanpassen want daar staat verbruik per maand.

Als je daar verbruik per periode wilt hebben gebruik dan de formule:

=ALS(b7="";"";(b7-b6)
Ik wil niet het verbruik per maand hebben over die periode.
Ik wil gewoon het verbruik tussen oktober en nu te weten tussen 25431 en 23130 hebben en dat is 2301.

Van daar uit ga ik het elke maand invullen en dan wil ik elke maand in de onderste tabel hebben staan wat het verbruik die maand is geweest. Dus als mijn meter de volgende keer dat ik hem invul op 26431 staat dan moet in cel B22 komen te staan dat het verbruik 1000 is geweest.

Met de simpele =som(B7-B6) en die omlaag trekken kom ik er niet want dan telt ie bij de volgende maand waar nog niets staat 0 - deze maand en dan vult ie een min waarde in.

Die minwaarde is mijn probleem.
HEt werkt allemaal prima, als ik het hele jaar invul dan doet ie wat ie moet doen. Enige euvel is dus dat ik het hele jaar telkens 1 minwaarde erin heb zitten bij de komende maand omdat die simpelweg nog niet ingevuld is.

Is het zo duidelijk wat ik wil? :)
Geraltmaandag 5 maart 2012 @ 17:23
quote:
Of je moet de tekst in rij 20 even aanpassen want daar staat verbruik per maand.
Ja dat was ff snel omdat ik het nu wel elke maand wil bijhouden maar de laatste gegevens van oktober nog zijn :@
=edit=
quote:
Als je daar verbruik per periode wilt hebben gebruik dan de formule:

=ALS(b7="";"";(b7-b6)
Met die doet ie inderdaad wat ik wil _O_

Dan heb ik alleen nog in de rechter kolom van die "verbruik per maand tabel" #WAARDE! staan totdat ik iets ingevuld heb in die maand zegmaar.

Kan ik dat nog gewoon op 0 krijgen of een lege cel? :@

In cel D21 staat nu =som(B21+C21)

Als je me hier ook nog mee kan helpen ben ik je eeuwig dankbaar _O_

=edit=
2rxfeqs.jpg

Ik heb de kolom van nachttarief ook aangepast met jouw formule en even wat fictieve waardes ingevuld.

Dat werkt prima zo, alleen heb ik dan in die totaalkolom #WAARDE! staan totdat ik iets invul in de tabel bovenaan.

Mogelijk om die ook gewoon leeg te krijgen totdat ik iets invul in de bovenste tabel? :)

[ Bericht 30% gewijzigd door Geralt op 05-03-2012 17:31:21 ]
Geraltmaandag 5 maart 2012 @ 18:05
Die WAARDE is niet zo een ramp, dus ik laat het maar zo. Scheelt jullie/jou ook weer nadenken.

Met de =ALS(B7="";"";(B7-B6)) formule werkt het prima zoals ik het hebben wil en ik heb meteen maar even ook een tabel gemaakt voor het water en daar ook die formule toegepast.

Thanks, ik ben weer wat wijzer geworden _O_
Jesse_maandag 5 maart 2012 @ 18:17
quote:
14s.gif Op maandag 5 maart 2012 18:05 schreef Geralt het volgende:
Die WAARDE is niet zo een ramp, dus ik laat het maar zo. Scheelt jullie/jou ook weer nadenken.

Met de =ALS(B7="";"";(B7-B6)) formule werkt het prima zoals ik het hebben wil en ik heb meteen maar even ook een tabel gemaakt voor het water en daar ook die formule toegepast.

Thanks, ik ben weer wat wijzer geworden _O_
Als je er ALS.FOUT(ALS(B7="";"";(B7-B6));"") van maakt geeft hij "" weer als de formule een error geeft.
Geraltmaandag 5 maart 2012 @ 18:52
Als ik dat doe dan zegt ie in die cel #NAAM? :@
McGillesmaandag 5 maart 2012 @ 19:45
quote:
7s.gif Op maandag 5 maart 2012 18:52 schreef Geralt het volgende:
Als ik dat doe dan zegt ie in die cel #NAAM? :@
=isfout(

en daar achteraan de rest.

Wat ik zou doen in die D kolom: =als(en(B21="";C21="");"";B21+C21)
#ANONIEMmaandag 5 maart 2012 @ 19:48
quote:
0s.gif Op maandag 5 maart 2012 19:45 schreef McGilles het volgende:

[..]

=isfout(
Als(isfout(blabla)=waar;"";als(x="";"";ietsanders))

[ Bericht 0% gewijzigd door #ANONIEM op 05-03-2012 19:50:43 ]
McGillesmaandag 5 maart 2012 @ 19:50
quote:
14s.gif Op maandag 5 maart 2012 19:48 schreef KritischeMassa het volgende:

[..]

Als(isfout(blabla)=waar;"";ietsanders)
In een =als( etc. functie hoef je nooit =waar / =onwaar te gebruiken, neemt ie automatisch mee :)
#ANONIEMmaandag 5 maart 2012 @ 19:51
quote:
0s.gif Op maandag 5 maart 2012 19:50 schreef McGilles het volgende:

[..]

In een =als( etc. functie hoef je nooit =waar / =onwaar te gebruiken, neemt ie automatisch mee :)
Is dat waar?

(grapje.... maar ik wist het niet)
DaFanmaandag 5 maart 2012 @ 19:51
WRONG.
Als(isfout(bla)=onwaar; kan ook he :D die kan ook waar zijn.
Maar beter gebruik je dan ALS(ISFOUT(bla);x;hierjeding.
#ANONIEMmaandag 5 maart 2012 @ 19:53
quote:
1s.gif Op maandag 5 maart 2012 19:51 schreef DaFan het volgende:
WRONG.
Als(isfout(bla)=onwaar; kan ook he :D die kan ook waar zijn.
Maar beter gebruik je dan ALS(ISFOUT(bla);x;hierjeding.
Net getest en WAAR

:D