Jag får inte till det med en loop i ett budgetprogram jag gjort. Kanske nån kan hjälpa mig med det. Princip exempel hur du skall tänka Tack men det blir fel (Invalid qualifier) på: <Select Case Grid1.row(i).Text Rädd att jag inte fattar. För mig ser en sån rad ut så här Ok nu vet jag vilken Grid du använder. FeedBack Nääääääää Feedback absolut det kan du se på alla mina frågor jag ställt. Har varit på husvagnssemester i ca: veckor så jag har inte hunnit testa. Fick det att fungera nu med dina justeringar. Fick göra om lite men nu förstår jag principen. Är mycket tacksam för din hjälp, tack. Så här ser resultatet ut efter justeringarna. Skitbra det värmer när gamla kunskaper fortfarande duger. Tack för FeedBackLoop i ett budgetproram
Jag har en Grid med 50 rader och 2 kolumner. I den vänstra kolumnen står det vilket konto som gäller, Konto1, Konto2, Konto3 eller Konto4. I den andra kolumnen står det en summa. Nu vill jag att programmet ska summera alla summor som det står Konto1 framför och skriva in den i en Textbox1. Sedan ska programmet summera alla summor som det står Konto2 framför och den summan ska skrivas in i Textbox2 osv. Vore tacksam för lite hjälp. Sv: Loop i ett budgetproram
Använd Select Case utmärk i denna loop
Option Explicit
Dim K1sum As Double, K2sum As Double 'osv
Private Sub Command1_Click()
Dim i As Long
For i = 0 To 49 'antal rows i Griden -1
Select Case Grid1.row(i).Text 'osäker på hur du skriver här
Case Is = "Konto1"
K1sum = K1sum + CDbl(Grid1.row(i).col(1)) 'är summan text eller double
Case Is = "Konto2"
K2sum = K2sum + CDbl(Grid1.row(i).col(1))
'osv
End Select
Next 'i
Text1.Text = CStr(K1sum)
Text2.Text = CStr(K2sum)
'osv beroende på hur många Konto du har
K1sum = 0
K2sum = 0
'osv
End Sub
'Fritt ur minnet på ungefär hur du skall tänka
Sv:Loop i ett budgetproram
Select Case Grid1.row(i).Text
det var den raden som du var osäker på. Felet verkar vara på: .rowSv: Loop i ett budgetproram
Ja det förstår jag.Jag vet inte vilken Grid du använder och syntaxer till den.
Gör nu så här.
Skriv en enkel rad där du kan läsa vad som står i Rad 0 kolumn 0
Gör samma sak så du kan läsa vad som står Rad 0 Kolumn 1
ex.
Text1.Text = Grid Rad 0 Kolumn 0
Text2.Text = Grid Rad 0 Kolumn 1
Få detta att funka innan du kan gå vidare.Sv:Loop i ett budgetproram
Grid1.row = 0
Grid1.col = 0
Text1.Text = Grid1.Text
???
För övrigt är det en Grid från från Microsoft Grid ControlSv: Loop i ett budgetproram
Då borde detta funka.
Option Explicit
Dim K1sum As Double, K2sum As Double 'osv
Private Sub Command1_Click()
Dim i As Long
For i = 0 To 49 'Ta reda på antal rows i Griden -1
Grid1.row = i
Grid1.col = 0
Select Case Grid1.Text
Case Is = "Konto1"
Grid1.col = 1
K1sum = K1sum + CDbl(Grid1.Text)
Case Is = "Konto2"
Grid1.col = 1
K2sum = K2sum + CDbl(Grid1.Text)
'osv
End Select
Next 'i
Text1.Text = CStr(K1sum)
Text2.Text = CStr(K2sum)
'osv beroende på hur många Konto du har
K1sum = 0
K2sum = 0
'osv
End Sub
'Fritt ur minnet på ungefär hur du skall tänka
Sv:Loop i ett budgetproram
Det är kanske inte så viktigt men fungerarde det.
Svara eller skit så man hör att det är liv i dig sa morfar.Sv: Loop i ett budgetproram
Dim K1sum As Double, K2sum As Double, K3sum As Double, K4sum As Double
Dim i As Long
For i = 0 To 49
Grid1.row = i
Grid1.col = 2
Select Case Grid1.Text
Case Is = "Konto 1"
Grid1.col = 3
K1sum = K1sum + Grid1.Text
Case Is = "Konto 2"
Grid1.col = 3
K2sum = K2sum + Grid1.Text
Case Is = "Konto 3"
Grid1.col = 3
K3sum = K3sum + Grid1.Text
Case Is = "Konto 4"
Grid1.col = 3
K4sum = K4sum + Grid1.Text
End Select
Next 'i
Text1.Text = CStr(K1sum)
Text2.Text = CStr(K2sum)
Text3.Text = CStr(K3sum)
Text4.Text = CStr(K4sum)
K1sum = 0
K2sum = 0
K3sum = 0
K4sum = 0Sv:Loop i ett budgetproram
Mystiskt att du kan addera så här utan att göra om Text till Cdbl
K1sum = K1sum + Grid1.Text