title image


Smiley Re: Excel funktion im VBA
DANKEEEEEE!!!





Hat super geklappt.

Allerdings wird es jetzt etwas voll in meinem quell text.

Ich habe insgesamt 8 Felder die so befüllt werden müssen.

Nun habe ich für jedes Feld ein Case geschrieben und alles 8 mal kopiert...fürs erste sieht es so aus:





Private Sub CommandButton1_Click()



Dim Jahre As Integer



Dim Ziel1 As Long

Dim Ziel2 As Long

Dim Ziel3 As Long

Dim Ziel4 As Long

Dim Ziel5 As Long

Dim Ziel6 As Long

Dim Ziel7 As Long

Dim Ziel8 As Long

Dim Betrag As Double





Jahre = Sheets("Deckblatt").Range("F26")

Ziel1 = Sheets("Deckblatt").Range("G29")

Ziel2 = Sheets("Deckblatt").Range("H29")

Ziel3 = Sheets("Deckblatt").Range("I29")

Ziel4 = Sheets("Deckblatt").Range("J29")

Ziel5 = Sheets("Deckblatt").Range("K29")

Ziel6 = Sheets("Deckblatt").Range("L29")

Ziel7 = Sheets("Deckblatt").Range("M29")

Ziel8 = Sheets("Deckblatt").Range("N29")







Select Case (Jahre)



Case "1"

Sheets("WKZ").Range("R76").Value = "1.Jahr"

Sheets("WKZ").Range("R77").Value = Ziel1



With Sheets("WKZ")

If .Range("V70").Value - .Range("S70").Value > 0 Then

Betrag = 0

Else

Betrag = (-(.Range("V70").Value - .Range("S70").Value) * 1.15) / (.Range("R77").Value + .Range("S77").Value + .Range("T77").Value + .Range("U77").Value + .Range("V77").Value + .Range("W77").Value + .Range("X77").Value + .Range("Y77").Value)

End If

.Range("R78").Value = WorksheetFunction.Round(Betrag, 2)

End With



With Sheets("WKZ")

If .Range("V71").Value - .Range("S71").Value > 0 Then

Betrag = 0

Else

Betrag = (-(.Range("V71").Value - .Range("S71").Value) * 1.15) / (.Range("R77").Value + .Range("S77").Value + .Range("T77").Value + .Range("U77").Value + .Range("V77").Value + .Range("W77").Value + .Range("X77").Value + .Range("Y77").Value)

End If

.Range("R79").Value = WorksheetFunction.Round(Betrag, 2)

End With





für das 8. dann so:





Case "8"

Sheets("WKZ").Range("R76").Value = "1.Jahr"

Sheets("WKZ").Range("S76").Value = "2.Jahr"

Sheets("WKZ").Range("T76").Value = "3.Jahr"

Sheets("WKZ").Range("U76").Value = "4.Jahr"

Sheets("WKZ").Range("V76").Value = "5.Jahr"

Sheets("WKZ").Range("W76").Value = "6.Jahr"

Sheets("WKZ").Range("X76").Value = "7.Jahr"

Sheets("WKZ").Range("Y76").Value = "8.Jahr"

Sheets("WKZ").Range("R77").Value = Ziel1

Sheets("WKZ").Range("S77").Value = Ziel2

Sheets("WKZ").Range("T77").Value = Ziel3

Sheets("WKZ").Range("U77").Value = Ziel4

Sheets("WKZ").Range("V77").Value = Ziel5

Sheets("WKZ").Range("W77").Value = Ziel6

Sheets("WKZ").Range("X77").Value = Ziel7

Sheets("WKZ").Range("Y77").Value = Ziel8



With Sheets("WKZ")

If .Range("V70").Value - .Range("S70").Value > 0 Then

Betrag = 0

Else

Betrag = (-(.Range("V70").Value - .Range("S70").Value) * 1.15) / (.Range("R77").Value + .Range("S77").Value + .Range("T77").Value + .Range("U77").Value + .Range("V77").Value + .Range("W77").Value + .Range("X77").Value + .Range("Y77").Value)

End If

.Range("R78").Value = WorksheetFunction.Round(Betrag, 2)

.Range("S78").Value = WorksheetFunction.Round(Betrag, 2)

.Range("T78").Value = WorksheetFunction.Round(Betrag, 2)

.Range("U78").Value = WorksheetFunction.Round(Betrag, 2)

.Range("V78").Value = WorksheetFunction.Round(Betrag, 2)

.Range("W78").Value = WorksheetFunction.Round(Betrag, 2)

.Range("X78").Value = WorksheetFunction.Round(Betrag, 2)

.Range("Y78").Value = WorksheetFunction.Round(Betrag, 2)

End With



With Sheets("WKZ")

If .Range("V71").Value - .Range("S71").Value > 0 Then

Betrag = 0

Else

Betrag = (-(.Range("V71").Value - .Range("S71").Value) * 1.15) / (.Range("R77").Value + .Range("S77").Value + .Range("T77").Value + .Range("U77").Value + .Range("V77").Value + .Range("W77").Value + .Range("X77").Value + .Range("Y77").Value)

End If

.Range("R79").Value = WorksheetFunction.Round(Betrag, 2)

.Range("S79").Value = WorksheetFunction.Round(Betrag, 2)

.Range("T79").Value = WorksheetFunction.Round(Betrag, 2)

.Range("U79").Value = WorksheetFunction.Round(Betrag, 2)

.Range("V79").Value = WorksheetFunction.Round(Betrag, 2)

.Range("W79").Value = WorksheetFunction.Round(Betrag, 2)

.Range("X79").Value = WorksheetFunction.Round(Betrag, 2)

.Range("Y79").Value = WorksheetFunction.Round(Betrag, 2)

End With







End Select









End Sub





gibt es eine Lsg das ganze etwas kompakter zu gestalten??









geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: