remek4x4 remek4x4 21.12.2015, 18:43:49 1 + Cześć, mam problem z prostym kodem w Visual Basic w Excelu.Ma on mnożyć i dodawać wartości różnych komórek do komórki E11 zależnie od jej wartości.Private Sub CommandButton1_Click()Dim KOSZT As IntegerKOSZT = Range("C11").ValueIf KOSZT < 100 Then Range("E11").Value = KOSZT * Range("D4").ValueElse If 100 <= KOSZT <= 1000 Then Range("E11").Value = (KOSZT * Range("D5").Value) + Range("E5").ValueElse If 1000 <= KOSZT <= 5000 Then Range("E11").Value = (KOSZT * Range("D6").Value) + Range("E6").ValueElse If 5000 < KOSZT Then Range("E11").Value = (KOSZT * Range("D7").Value) + Range("E7").ValueEnd IfEnd SubKod dodałem przez "Insert command button(activex controll) > view code"Normalnie nie programuję w VBA, więc na 90% składnia.halp.#programowanie #vba
zakopywywacz zakopywywacz 21.12.2015, 18:46:31 0 + @remek4x4: ale właściwie nie napisałeś w czym jest problem.
remek4x4 remek4x4 21.12.2015, 18:47:55 0 + @zakopywywacz: Oj, rzeczywiście."Compile error:Block If without End If"
zakopywywacz zakopywywacz 21.12.2015, 18:48:56 0 + @remek4x4: elseif razem piszemy. Takie proste rzeczy mógłbyś zrobić w formułach, bez dodawania makra.
remek4x4 remek4x4 21.12.2015, 18:51:13 0 + @zakopywywacz: Rzeczywiście, teraz działa.Dziękuję Pan zakopywacz.
zakopywywacz zakopywywacz 21.12.2015, 18:52:36 0 + @remek4x4: czemu nie zrobisz tego w formule? Dodatkowo sprawdź warunki, bo się pokrywają. Masz nieostre nierówności w zbyt wielu miejscach. Specjalnie?
remek4x4 remek4x4 21.12.2015, 18:56:28 0 + @zakopywywacz: nie lubię pracować w formule, jest dla mnie bardzo niewygodna i nieczytelna, plus chciałbym podstawowe podstawy VBA podłapać
Ma on mnożyć i dodawać wartości różnych komórek do komórki E11 zależnie od jej wartości.
Private Sub CommandButton1_Click()
Dim KOSZT As Integer
KOSZT = Range("C11").Value
If KOSZT < 100 Then
Range("E11").Value = KOSZT * Range("D4").Value
Else
If 100 <= KOSZT <= 1000 Then
Range("E11").Value = (KOSZT * Range("D5").Value) + Range("E5").Value
Else
If 1000 <= KOSZT <= 5000 Then
Range("E11").Value = (KOSZT * Range("D6").Value) + Range("E6").Value
Else
If 5000 < KOSZT Then
Range("E11").Value = (KOSZT * Range("D7").Value) + Range("E7").Value
End If
End Sub
Kod dodałem przez "Insert command button(activex controll) > view code"
Normalnie nie programuję w VBA, więc na 90% składnia.
halp.
#programowanie #vba
"Compile error:
Block If without End If"
Dziękuję Pan zakopywacz.