abonnement Unibet Coolblue
  vrijdag 25 september 2015 @ 19:18:16 #126
62215 qu63
..de tijd drinkt..
pi_156379280
quote:
0s.gif Op vrijdag 25 september 2015 19:08 schreef speedfast het volgende:
Waarschijnlijk is dit een hele domme vraag maar ik kom er na een lange tijd hersenkraken en proberen nog steeds niet achter hoe ik dit oplos:

[ afbeelding ]

Ik heb een tekstvak ingevoegd waarvan ik de input wil betrekken in een formule, namelijk met tekstvak + C4 moet worden weergegeven in het vak eronder. Nu is het probleem dat ik het tekstvak op geen enkele manier kan koppelen aan cel C3, waardoor simpelweg =C3+C4 niet werkt. Iemand enig idee hoe ik dit kan oplossen?
Het tekstvak staat niet in C3, het zweeft in je werkboek. Is dat tekstvak nodig? Want je kan dmv de uitlijning '123456' ook in het midden zetten.
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_156379486
quote:
0s.gif Op vrijdag 25 september 2015 19:18 schreef qu63 het volgende:

[..]

Het tekstvak staat niet in C3, het zweeft in je werkboek. Is dat tekstvak nodig? Want je kan dmv de uitlijning '123456' ook in het midden zetten.
Het klopt inderdaad dat hij 'zweeft'. Ik snap ook niet hoe ik er dan naartoe kan verwijzen.

Het tekstvak is noodzakelijk inderdaad.
pi_156404196
Probleem.
------------
Waarom is =(4,6-3,5-1,1)
Niet hetzelfde als =4,6-3,5-1,1 ???

De ene geeft 0, de andere -4,44089209850063E-16

Een =0 test werd namelijk FALSE bij die som.
pi_156418322
quote:
0s.gif Op vrijdag 25 september 2015 19:25 schreef speedfast het volgende:
inderdaad dat hij 'zweeft'. Ik snap ook niet hoe ik er dan naartoe kan verwijzen.

Het tekstvak is noodzakelijk inde
Ik zie niet echt een andere oplossing dan met VBA.

Hieronder een (lelijk) voorbeeld zoals het precies zou werken met jouw worksheet (dus als je iets verandert werkt het niet meer). Als je dan de macro runt dan print hij de uitkomst van het tekstvak in C5.

1
2
3
4
5
Sub Textboxadder()

Cells(5, 3).Value = Worksheets("Sheet1").Shapes("TextBox 1").TextFrame.Characters.Text + Cells(4, 3)

End Sub
Beter onethisch dan oneetbaar
  zondag 27 september 2015 @ 23:57:10 #130
85514 ralfie
!Yvan eht nioj
pi_156439992
quote:
2s.gif Op zaterdag 26 september 2015 19:20 schreef Holy_Goat het volgende:
Probleem.
------------
Waarom is =(4,6-3,5-1,1)
Niet hetzelfde als =4,6-3,5-1,1 ???

De ene geeft 0, de andere -4,44089209850063E-16

Een =0 test werd namelijk FALSE bij die som.
Afrondingsfouten ontstaan door de omzetting van decimale naar binaire getallen.

https://support.microsoft.com/nl-nl/kb/78113

blijkbaar zie Excel dit probleem wanneer je geen haakjes gebruik, anders ziet hij het probleem niet. Waarom is beyond me (zie nergens een antwoord op deze vraag die toch wel vaker gesteld is).
pi_156455634
Vanochtend gestoeid met Outlook Object Library in Excel. Ik was het zat om telkens alle vergaderruimten toe te voegen aan een uitnodiging om te zien of er een beschikbaar is (en welke).



Volgende stap is om dit te verplaatsen naar Outlook uiteraard. :+ Een online versie zou nog beter zijn uiteraard. :+
pi_156457668
Ik heb weer eens iets stoms.

Ik heb een sheet met 3 kolommmen.

In A staat steeds Ja of Nee.
In B staat een bepaald nummer.
In C staat een getal behorende bij het nummer in B.

De nummers in B komen meerdere malen voor.

Ik moet nu een formule/stukje vba hebben dat voor elke som in kolom A waar het nummer hetzelfde is hij de getallen in C optelt maar alleen als in kolom A ja staat.

Dus>
1
2
3
4
5
6
A       B      C
Ja     24       2
Nee    24       3
Ja     24       3
Nee    46       1
Nee    27       3

In dit geval moet hij als uitkomst voor 24 (in kolom B) 5 geven. En dit moet hij ook voor de overige doen, 46 en 27 in dit geval.

Iemand een idee hoe ik dit aanpak?
"AAAAAHH ZENNE MOAT, WOARST VLEISCH"
pi_156458328
Mag ik valsspelen? Voeg een draaitabel toe. Filter in die draaitabel kolom A op 'Ja', voeg kolom B toe als rij en voeg kolom C toe als waarden (som).
pi_156459294
quote:
0s.gif Op maandag 28 september 2015 21:03 schreef sylvesterrr het volgende:
Mag ik valsspelen? Voeg een draaitabel toe. Filter in die draaitabel kolom A op 'Ja', voeg kolom B toe als rij en voeg kolom C toe als waarden (som).
Dat is helaas geen optie, het moet echt zonder draaitabel. Thanks voor het meedenken wel!
"AAAAAHH ZENNE MOAT, WOARST VLEISCH"
pi_156459604
quote:
0s.gif Op maandag 28 september 2015 21:29 schreef znarch het volgende:

[..]

Dat is helaas geen optie, het moet echt zonder draaitabel. Thanks voor het meedenken wel!
Dan zou je middels VBA een ontdubbelde versie van kolom B kunnen maken (bijv. kopieer kolom B naar een apart werkblad, gebruik de ontdubbel-functie van Excel) en voeg een SUMIFS-formule toe aan iedere rij. :Y
pi_156460424
quote:
0s.gif Op maandag 28 september 2015 21:38 schreef sylvesterrr het volgende:

[..]

Dan zou je middels VBA een ontdubbelde versie van kolom B kunnen maken (bijv. kopieer kolom B naar een apart werkblad, gebruik de ontdubbel-functie van Excel) en voeg een SUMIFS-formule toe aan iedere rij. :Y
Ik heb het even bekeken. Dat is juist het probleem. Het feit dat B meerdere malen erin voorkomt hoort zo en moet zo blijven.

Ik kan niet zomaar dingen gaan verwijderen omdat de waardes achter B in C van belang zijn.
"AAAAAHH ZENNE MOAT, WOARST VLEISCH"
pi_156460730
quote:
0s.gif Op maandag 28 september 2015 22:00 schreef znarch het volgende:

[..]

Ik heb het even bekeken. Dat is juist het probleem. Het feit dat B meerdere malen erin voorkomt hoort zo en moet zo blijven.

Ik kan niet zomaar dingen gaan verwijderen omdat de waardes achter B in C van belang zijn.
Dus kolom A-B samen is niet uniek? Begrijp ik dat goed? Dan kan je hetzelfde doen als ik net voorstelde, maar dan met twee kolommen... Je kan namelijk ook twee kolommen ontdubbelen.

Wat wil je nou precies bereiken? Je kan desnoods kolom D toevoegen met daarin die formule (sumifs op basis van kolom A en B).
pi_156596636
In een stukje VBA had ik o.a. een tellertje, waar om 1 of andere reden niet uitkwam wat ik verwachtte. Tijdens uitzoeken kwam ik op een punt om de waardes maar eens uit te lezen, en dat verbaasde mij nog meer.
Gaat om beginwaarde -1 waar telkens of 0.1 of 0.05 bij opgeteld wordt. Als ik max. aantal cijfers achter de komma instel, krijg ik de volgende (deels gebroken??) getallen te zien. Weet iemand hoe dit komt?

Doubles resp. Singles met stappen van 0.05
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
-1,000000000000000000000000000000    -1,000000000000000000000000000000
-0,950000000000000000000000000000    -0,949999988079071000000000000000
-0,900000000000000000000000000000    -0,899999976158142000000000000000
-0,850000000000000000000000000000    -0,849999964237213000000000000000
-0,800000000000000000000000000000    -0,799999952316284000000000000000
-0,750000000000000000000000000000    -0,749999940395355000000000000000
-0,700000000000000000000000000000    -0,699999928474426000000000000000
-0,650000000000000000000000000000    -0,649999916553497000000000000000
-0,600000000000000000000000000000    -0,599999904632568000000000000000
-0,550000000000000000000000000000    -0,549999892711639000000000000000
-0,500000000000000000000000000000    -0,499999880790710000000000000000
-0,450000000000000000000000000000    -0,449999868869781000000000000000
-0,400000000000000000000000000000    -0,399999856948853000000000000000
-0,350000000000000000000000000000    -0,349999845027924000000000000000
-0,300000000000000000000000000000    -0,299999833106995000000000000000
-0,250000000000000000000000000000    -0,249999836087227000000000000000
-0,200000000000000000000000000000    -0,199999839067459000000000000000
-0,150000000000000000000000000000    -0,149999842047691000000000000000
-0,099999999999999700000000000000    -0,099999845027923600000000000000
-0,049999999999999700000000000000    -0,049999844282865500000000000000
0,000000000000000319189119579733    0,000000155717131633537000000000
0,050000000000000300000000000000    0,050000157207250600000000000000
0,100000000000000000000000000000    0,100000157952309000000000000000
0,150000000000000000000000000000    0,150000154972076000000000000000
0,200000000000000000000000000000    0,200000151991844000000000000000
0,250000000000000000000000000000    0,250000149011612000000000000000
0,300000000000000000000000000000    0,300000160932541000000000000000
0,350000000000000000000000000000    0,350000172853470000000000000000
0,400000000000000000000000000000    0,400000184774399000000000000000
0,450000000000000000000000000000    0,450000196695328000000000000000
0,500000000000000000000000000000    0,500000178813934000000000000000
0,550000000000000000000000000000    0,550000190734863000000000000000
0,600000000000000000000000000000    0,600000202655792000000000000000
0,650000000000000000000000000000    0,650000214576721000000000000000
0,700000000000001000000000000000    0,700000226497650000000000000000
0,750000000000001000000000000000    0,750000238418579000000000000000
0,800000000000001000000000000000    0,800000250339508000000000000000
0,850000000000001000000000000000    0,850000262260437000000000000000
0,900000000000001000000000000000    0,900000274181365000000000000000
0,950000000000001000000000000000    0,950000286102294000000000000000
1,000000000000000000000000000000    1,000000238418570000000000000000

Doubles resp. Singles met stappen van 0.1
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
-1,000000000000000000000000000000    -1,000000000000000000000000000000
-0,900000000000000000000000000000    -0,899999976158142000000000000000
-0,800000000000000000000000000000    -0,799999952316284000000000000000
-0,700000000000000000000000000000    -0,699999928474426000000000000000
-0,600000000000000000000000000000    -0,599999904632568000000000000000
-0,500000000000000000000000000000    -0,499999910593033000000000000000
-0,400000000000000000000000000000    -0,399999916553497000000000000000
-0,300000000000000000000000000000    -0,299999922513962000000000000000
-0,200000000000000000000000000000    -0,199999928474426000000000000000
-0,100000000000000000000000000000    -0,099999926984310200000000000000
-0,000000000000000138777878078145    0,000000073015691270939000000000
0,099999999999999900000000000000    0,100000075995922000000000000000
0,200000000000000000000000000000    0,200000077486038000000000000000
0,300000000000000000000000000000    0,300000071525574000000000000000
0,400000000000000000000000000000    0,400000065565109000000000000000
0,500000000000000000000000000000    0,500000059604644000000000000000
0,600000000000000000000000000000    0,600000083446502000000000000000
0,700000000000000000000000000000    0,700000107288360000000000000000
0,800000000000000000000000000000    0,800000131130218000000000000000
0,900000000000000000000000000000    0,900000154972076000000000000000
1,000000000000000000000000000000    1,000000119209280000000000000000
1,100000000000000000000000000000    1,100000143051140000000000000000
1,200000000000000000000000000000    1,200000166893000000000000000000
1,300000000000000000000000000000    1,300000190734860000000000000000
1,400000000000000000000000000000    1,400000214576720000000000000000
1,500000000000000000000000000000    1,500000238418570000000000000000
1,600000000000000000000000000000    1,600000262260430000000000000000
1,700000000000000000000000000000    1,700000286102290000000000000000
1,800000000000000000000000000000    1,800000309944150000000000000000
1,900000000000000000000000000000    1,900000333786010000000000000000
2,000000000000000000000000000000    2,000000238418570000000000000000
2,100000000000000000000000000000    2,100000143051140000000000000000
2,200000000000000000000000000000    2,200000047683710000000000000000
2,300000000000000000000000000000    2,299999952316280000000000000000
2,400000000000000000000000000000    2,399999856948850000000000000000
2,500000000000000000000000000000    2,499999761581420000000000000000
2,600000000000000000000000000000    2,599999666213980000000000000000
2,700000000000000000000000000000    2,699999570846550000000000000000
2,800000000000000000000000000000    2,799999475479120000000000000000
2,900000000000000000000000000000    2,899999380111690000000000000000
3,000000000000000000000000000000    2,999999284744260000000000000000
Scriptje voor deze getallen is:
1
2
3
4
5
6
7
8
Dim a As Double
Dim TaSIdx As Double
TaSIdx = -1
 
For a = 1 To 41
Range("A" & a).Value = TaSIdx
TaSIdx = TaSIdx + 0.05
Next a
  zondag 4 oktober 2015 @ 16:42:35 #139
62215 qu63
..de tijd drinkt..
pi_156597197
quote:
0s.gif Op zondag 4 oktober 2015 16:28 schreef Modus het volgende:
In een stukje VBA had ik o.a. een tellertje, waar om 1 of andere reden niet uitkwam wat ik verwachtte. Tijdens uitzoeken kwam ik op een punt om de waardes maar eens uit te lezen, en dat verbaasde mij nog meer.
Gaat om beginwaarde -1 waar telkens of 0.1 of 0.05 bij opgeteld wordt. Als ik max. aantal cijfers achter de komma instel, krijg ik de volgende (deels gebroken??) getallen te zien. Weet iemand hoe dit komt?

Doubles resp. Singles met stappen van 0.05
[ code verwijderd ]

Doubles resp. Singles met stappen van 0.1
[ code verwijderd ]

Scriptje voor deze getallen is:
[ code verwijderd ]

Het zijn geen absolutes waardes die je op je scherm te zien krijgt, Excel kan tot 15 digits verwerken, als je er meer wil hebben dan gaat ie raar doen.
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_156597367
OK da's een detail, maar dat verklaart niet waarom -1 + 0,05 als antwoord -0,949999988079071 heeft en niet gewoon -0,95.
  zondag 4 oktober 2015 @ 18:47:22 #141
85514 ralfie
!Yvan eht nioj
pi_156600323
quote:
0s.gif Op zondag 4 oktober 2015 16:47 schreef Modus het volgende:
OK da's een detail, maar dat verklaart niet waarom -1 + 0,05 als antwoord -0,949999988079071 heeft en niet gewoon -0,95.
Afronding. Excel werkt met binaire getallen, niet met decimale getallen. Dit is geen fout van Excel, dit is normaal.
pi_156600736
Snap ik, zoiets zag ik inmiddels ook. Maar hoe zou ik dat dan kunnen voorkomen? Ik bedoel, die -1 en 0.1 die ik benoem zijn ook echt gewoon die getallen en hebben achter de komma ook echt allemaal nullen. Het is niet alsof ik 1/3 doe en dat Excel dan standaard 0.3 in een cel zet maar op de achtergrond wel degelijk met 0.3333333333333 werkt.

En als ik in mijn code 0.100000000000 typ pakt ie dat niet en verwijdert de VB editor automatisch die rits nullen weer.
  zondag 4 oktober 2015 @ 19:40:04 #143
85514 ralfie
!Yvan eht nioj
pi_156601637
quote:
0s.gif Op zondag 4 oktober 2015 19:05 schreef Modus het volgende:
de komma ook echt allemaal nullen. Het is niet alsof ik 1/3 doe en dat Excel dan standaard 0.3 in een cel zet maar op de
Al je getallen eerst met 100 vermenigvuldigen zal je probleem oplossen (die van het voorbeeld dan)
-100 + 5 = -95
-95/100 = -0.95
  zondag 4 oktober 2015 @ 20:05:10 #144
249182 Holy_Goat
mhèèhèhè
pi_156602398
quote:
0s.gif Op maandag 28 september 2015 19:45 schreef sylvesterrr het volgende:
Vanochtend gestoeid met Outlook Object Library in Excel. Ik was het zat om telkens alle vergaderruimten toe te voegen aan een uitnodiging om te zien of er een beschikbaar is (en welke).

[ afbeelding ]

Volgende stap is om dit te verplaatsen naar Outlook uiteraard. :+ Een online versie zou nog beter zijn uiteraard. :+
Tof :)

Code snippit?
pi_156605053
quote:
1s.gif Op zondag 4 oktober 2015 20:05 schreef Holy_Goat het volgende:

[..]

Tof :)

Code snippit?
Originele code zag er niet uit, dus dan maar even opnieuw gedaan. :P Zo is ie ook beter bruikbaar. :)

Module OutlookAvailability
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
Private olApp As Object
Private olNS As Object

Public Type UserAvailability
    Username As String
    Email As String
    Availability As String
    Error As String
    
'Availability: one digit (0-4) per slot (default: 15 minutes) for the next 30 days
 '0 Free
 '1 Tentative
 '2 Busy
 '3 Out of Office
 '4 Working Elsewhere
End Type

Private Sub CreateOutlookObjects()
    If Not olApp Is Nothing Then
        Exit Sub
    End If
    
    On Error Resume Next
    Set olApp = GetObject(, "Outlook.Application")
    
    If Err.Number = 429 Then
        Set olApp = CreateObject("Outlook.Application")
    End If
    Set olNS = olApp.GetNamespace("MAPI")
End Sub

'slotInterval: default 15 minutes
Public Function GetAvailability(startDay As Date, rcpt As String, Optional slotInterval As Long = 15) As UserAvailability
    Dim olRecip As Object
    Dim cUser As Object
    Dim freeBusy As String
    Dim User As UserAvailability
    
    CreateOutlookObjects
    
    User.Username = rcpt

    Set olRecip = olApp.Session.CreateRecipient(User.Username)
    olRecip.Resolve
      
    If olRecip.resolved Then
        Set cUser = olRecip.AddressEntry.GetExchangeUser
        User.Email = cUser.PrimarySmtpAddress
        On Error GoTo ErrorHandlerFreeBusy
        User.Availability = cUser.GetFreeBusy(startDay, slotInterval, True)
    Else
        User.Error = "Not found"
    End If
    
    GetAvailability = User
    
    Set olRecip = Nothing
    Set cUser = Nothing
        
    Exit Function
    
ErrorHandlerFreeBusy:
    If Err.Number = -2147352567 Or Err.Number = 440 Then 'not allowed
        User.Error = "Not allowed"
        Err.Clear
        Resume Next
    Else
        MsgBox (Err.Number & Err.Description)
    End If
    
End Function

Module Module1
1
2
3
Public Sub test()
    MsgBox (OutlookAvailability.GetAvailability(Date, "NaamOfEmailadres").Availability)
End Sub
'Availability' is nu een string van 2688 tekens met daarin de beschikbaarheid voor een interval van 15 minuten, gerekend vanaf startDay middernacht. Kwestie van een simpele for-loop om daar wat mee te doen. ;)
pi_156605147
Nu is ie tenminste ook makkelijk te gebruiken in Outlook zelf. :+
pi_156629702
quote:
0s.gif Op zondag 4 oktober 2015 19:05 schreef Modus het volgende:
Snap ik, zoiets zag ik inmiddels ook. Maar hoe zou ik dat dan kunnen voorkomen? Ik bedoel, die -1 en 0.1 die ik benoem zijn ook echt gewoon die getallen en hebben achter de komma ook echt allemaal nullen. Het is niet alsof ik 1/3 doe en dat Excel dan standaard 0.3 in een cel zet maar op de achtergrond wel degelijk met 0.3333333333333 werkt.

En als ik in mijn code 0.100000000000 typ pakt ie dat niet en verwijdert de VB editor automatisch die rits nullen weer.
Dit ga je niet voorkomen, dit is gewoon hoe een computer werkt. Om een zo groot mogelijk getallenbereik te krijgen worden de waarden zoals wij ze kennen eigenlijk benaderd in een ander getallensysteem. De enige manier om dat te voorkomen is door zelf de definitie van de getallenrange in bytes te beïnvloeden

De enige manier waarop je het niet zichtbaar maakt is door getallen af te ronden..
Alleen wanneer je zelf
  donderdag 8 oktober 2015 @ 10:19:15 #148
1592 Puckzzz
Bitch please!
pi_156684813
Excel 2013 - Engelse versie.

Hoe zet ik in deze macro een opdracht dat hij de Cute PDF printer moet pakken?
Nu zet ik eerst Cute PDF op standaard printer maar dat vergeet ik ook wel eens.

quote:
Sub PrintFile()
'
' PrintFile Macro
'

'
Sheets("Sheet1").Select
ActiveWindow.SelectedSheets.Visible = False
ActiveWorkbook.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
Sheets("pvReport").Select
Sheets("Sheet1").Visible = True
End Sub
Hey! Het is OK om alleen je eerste twee teennagels te lakken als je van plan bent peeptoes te gaan dragen!
pi_156685254
Waarom niet gewoon opslaan als pdf? :@
  donderdag 8 oktober 2015 @ 11:23:51 #150
1592 Puckzzz
Bitch please!
pi_156685775
quote:
0s.gif Op donderdag 8 oktober 2015 10:51 schreef sylvesterrr het volgende:
Waarom niet gewoon opslaan als pdf? :@
Een pdf writer wordt als printer gezien dus je stuurt een printopdracht. Maar ik heb standaard een andere printer ingesteld, dus als ik deze in een geautomatiseerd rideltje van macro's aan het eind van de rit als pdf wil laten printen moet ie wel de goede printer pakken.
Hey! Het is OK om alleen je eerste twee teennagels te lakken als je van plan bent peeptoes te gaan dragen!
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')