berechnete daten in ein excel sheet schreiben

  • Excel

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von alchimist.

    berechnete daten in ein excel sheet schreiben

    ich möchte nun die daten die ich berechnet habe in das nächste excel sheet schreiben.
    so sieht mein code aus:

    With ActiveSheet
    For xRows = 4 To 33
    'Anzahl Zeilen
    s = 3
    For xCols = 3 To 14 'Anzahl Spalten

    sWert = .Cells(xRows, xCols)

    Application.Workbooks("Resourcenplanung_Bereich2.xls").Activate



    'MsgBox ("sWert: " & sWert)

    If sWert = "P1" Then

    'MsgBox ("ifzweig P1")
    Spalte = (s + 2)
    'MsgBox ("spalte: " & Spalte)
    Zeile = z
    temp1 = .Cells(Zeile, Spalte).Value
    a = a + temp1

    End If


    s = s + 1
    Next xCols
    z = z + 1
    Next xRows

    MsgBox ("ergebnis lautet nach dem ersten Monat: " & a)


    der rote teil meines codes funktioniert nicht weil ich ja dann das sheet verlasse in dem ich berechnen muss, dabei will ich ja nur jedes ergebnis in das 2te sheet eintragen und dann wieder den nächsten wert berechnen, eintragen, nächster wert berechnen usw...
    ausserdem muss das eintragen auch flexibel mit z und s passieren weil ich ja meherere werte eintragen muss die logischerweise verschiedene zellen brauchen.

    ich hoff echt dass ihr mir helfen könnt... hab schon ne ganze menge gelernt hier... ich hoff dass ich auch demnächst mal helfen kann ..

    danke !!
    Hallo maybebaby,

    bitte vermeide Activate im Quelltext, das ist unsauber und gefährlich.

    Hier mal ein sinnloses 08/15-Bsp.

    Visual Basic-Quellcode

    1. Sub test()
    2. Dim oWks01 As Worksheet, oWks02 As Worksheet
    3. Dim i As Long
    4. Dim lngTmp As Long
    5. 'Zuweisung an die Objektvariablen
    6. Set oWks01 = ActiveWorkbook.Worksheets("Tabelle1")
    7. Set oWks02 = ActiveWorkbook.Worksheets("Tabelle2")
    8. 'Aufsummieren der 1. Spalte
    9. For i = 1 To 10
    10. lngTmp = lngTmp + oWks01.Cells(i, 1)
    11. Next i
    12. oWks02.Cells(1, 1) = lngTmp
    13. 'Aufsummieren der 2. Spalte
    14. For i = 1 To 10
    15. lngTmp = lngTmp + oWks01.Cells(i, 2)
    16. Next i
    17. Set oWks02 = ActiveWorkbook.Worksheets("Tabelle3")
    18. oWks02.Cells(1, 1) = lngTmp
    19. End Sub


    Gruß Markus