• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Bedragen optellen

Status
Niet open voor verdere reacties.

don42

Gebruiker
Lid geworden
25 apr 2014
Berichten
764
Hoi

Ik ben op zoek naar een code om in een MsgBox op een nette manier bedragen op te tellen
zou graag iet hebben als het weektotaal = €12.00
nu krijg ik gewoon 12 of 12.5 en ja dat wel 12.25 maar zonder €-teken
heb een klein voorbeeld als bijlage
Tabblad 2 voer getallen in F1 tot F10
selecteer cel F16 voor het resultaat (wat ik er van gebakken heb)
wie heeft hiet een mooie oplossing voor

bvd
Don

Bekijk bijlage tellen.xlsm
 
Laatst bewerkt:
probeer es
Code:
Format(WorksheetFunction.Sum(Blad2.Range("f1:f10")), "€ ##,##0.00")
 
Laatst bewerkt:
Superrrrr helemaal goed.
dat ziet er keurig uit daar ben ik blij mee.
maaruhh, nu dit werkt wil ik dat graag invoeren voor een gespaard bedrag per week
dat zijn dus een 50 weken, moet ik nu deze code voor elke kolom opnieuw invullen
of bestaat er (ik weet het bijna zeker) iets wat telt in welke kolom ik sta, (bv kolom G)
en dat er dan vanaf G3 t/m G80 wordt opgeteld als ik cel G81 selecteer

Hoop dat jij of iemand anders hier ook nog een oplossing voor heeft

Don
 
bedoel je zo?
Code:
k = Selection.Column
 If Not Application.Intersect(Range(k & "16"), Target) Is Nothing Then
  Response = MsgBox("De weekinvoer is " & Format(WorksheetFunction.Sum(Blad2.Range(Cells(1, k), Cells(10, k))), "€ ##,##0.00")
 
Het volgende
ik heb een blad met 50 weken
kolom A = Week 1 - Kolom B = Week2 enz
nu zet ik elke week een ongelijk aantal bedragen in bv a1 t/m A87
de week erna van B1 t/m B87 (aantal rijen die ik heb voor de invoer blijven gelijk)
nu zou ik graag de cel onder de laatste invoer selecteren, en de som krijgen van bovenstaande bedragen
Dus A88 en B88.
wil er vervolgens in de msgbox nog het aantal nullen (niets spaarders enz in vermelden als een klein overzicht voor de gebruiker)
maar dat is voor later eerst stap 2

Don
 
Laatst bewerkt:
nu klopt er iets niet in je verhaal (vraag) misschien kun je beter een nieuw voorbeeld plaatsen.
want als ik B89 selecteer dan is A88 niet het bovenstaande. Probeer in de sheet aan te geven hoe het er uit moet zien
 
Vioorbeeld tellen

Bekijk bijlage tellen.xlsm

ik heb in het voorbeeld een aantal weken aangemaakt
enkel kolom F werkt de andere niet
nu was mijn vraag met ik nu 52 x (weken van een jaar)
die code inzetten met de verwijzingen,
of kan het zo dat wanneer ik een van de gele cellen selecteer, "gezien"wordt dat dit bijvoorbeeld kolom G = en dan in dit geval G2:G11 opgeteld wordt
er wordt ook nog een datum uit de bovenste cel gehaald
in de code wordt opgeteld van F1:F10 dat zou tot F11 moeten zijn maar dat is van minder belang natuurlijk

hoop dat je begrijpt wat ik bedoel

Don
 
Laatst bewerkt:
heb je reactie nummer #4 toegepast?
 
heb even geprobeerd maar moet toegeven dat ik dat niet goed begreep dit toe te passen
 
misschien dat iemand mij met volgende kan helpen dit is de code
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
 If Not Application.Intersect(Range("f12"), Target) Is Nothing Then
 If Range("a1").Value = 10 Then
  Response = MsgBox("De weekinvoer is " & Format(WorksheetFunction.Sum(Range("f2:f11")), "€ ##,##0.00") & vbNewLine & "Controleer dit met je eigen gegevens. ", vbQuestion + vbYesNo, "Spaarkas de Donderie " & Range("f1"))
 Else
 If Range("a1").Value = 0 Then
 Response = MsgBox("Je hebt nog niets ingevoerd. ", vbQuestion + vbOKOnly, "Spaarkas de Donderie    made by db ©")
 If Response = vbNo Then Exit Sub
 Else
  Response = MsgBox("Je moet nog van " & WorksheetFunction.Sum(Range("a2") - Range("a1")) & vbNewLine & "Kas(sen) de bedragen invullen. ", vbQuestion + vbOKOnly, "Spaarkas de Donderie    made by db ©")
  End If
 End If
  End If
    End Sub

als ik er nu
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
 If Not Application.Intersect(Range("g12"), Target) Is Nothing Then
 If Range("a1").Value = 10 Then
  Response = MsgBox("De weekinvoer is " & Format(WorksheetFunction.Sum(Range("g2:g11")), "€ ##,##0.00") & vbNewLine & "Controleer dit met je eigen gegevens. ", vbQuestion + vbYesNo, "Spaarkas de Donderie " & Range("g1"))
 Else
 If Range("a1").Value = 0 Then
 Response = MsgBox("Je hebt nog niets ingevoerd. ", vbQuestion + vbOKOnly, "Spaarkas de Donderie    made by db ©")
 If Response = vbNo Then Exit Sub
 Else
  Response = MsgBox("Je moet nog van " & WorksheetFunction.Sum(Range("a2") - Range("a1")) & vbNewLine & "Kas(sen) de bedragen invullen. ", vbQuestion + vbOKOnly, "Spaarkas de Donderie    made by db ©")
  End If
 End If
  End If
    End Sub

aan wil koppelen krijg ik een foutmelding
heb er Else tussen gezet

kan iemand mij uitleggen hoe ik hier nu een code van maak voor twee kolommen ga het uitbreiden naar 52
want het werkt wel, alleen veel werk.

don
 
je hebt bij deze de cellen A1 en A2 niet meer nodig
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
k = Selection.Column
On Error Resume Next
If Not Application.Intersect(Cells(12, k), Target) Is Nothing Then
 tel = WorksheetFunction.Count(Blad2.Range(Cells(2, k), Cells(11, k)))
 eindtel = 10 - tel
  If tel = 0 Then Response = MsgBox("Je hebt nog niets ingevoerd. ", vbQuestion + vbOKOnly, "Spaarkas de Donderie    made by db ©"): Exit Sub
  If tel <> 10 Then Response = MsgBox("Je moet nog van " & eindtel & vbNewLine & "Kas(sen) de bedragen invullen. ", vbQuestion + vbOKOnly, "Spaarkas de Donderie    made by db ©"): Exit Sub
   Response = MsgBox("De weekinvoer is " & Format(WorksheetFunction.Sum(Blad2.Range(Cells(2, k), Cells(11, k))), "€ ##,##0.00") & vbNewLine & "Controleer dit met je eigen gegevens. ", vbQuestion + vbYesNo, "Spaarkas de Donderie " & Range("f1"))
End If
End Sub
Ik weet niet hoe je originele sheet er uit ziet maar je geeft aan dat er 52 kolommen zijn, als kolom A de eerste is dan kun je nog een "IF k =< 52 THEN" toevoegen
 
Laatst bewerkt:
Top
nog 1 dingetje :eek:
nu is de rij oneindig, en daar kan ik goed mee leven want ik ga dit gebruiken
maar kan je het instellen dat je bv na 52 weken de 53ste kolom niet meer werkt
vraag die K is dat gewoon een door jou gekozen letter
geweldig man je bent echt goed
 
je kunt altijd een nieuwe vraag stellen want de mail die je me stuurde wordt ik helaas niet veel wijzer van met wat je precies wilt bereiken.
Dus open een nieuwe vraag en voeg er een voorbeeld bestand bij
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan