Sum-Funktion in VBA (VBA)

Sunith, Montag, 25.11.2019, 15:31 (vor 15 Tagen)
bearbeitet von Sunith, Montag, 25.11.2019, 15:35

Hi Leute,

ich arbeite gerade an einem kleinen Makro (ich bin halbwegs beginner in vba), dass ua. aus einer dynamischen Tabelle mir eine Summe ausrechnen soll. Dafür habe ich eine kleine for-Schleife benutzt:

For b = 3 To 3 * l + 4    '<-l ist ein L
      Tabelle2.Cells(6 + Anzahl_der_Messungen, b).Value = WorksheetFunction.Sum(Tabelle2.Range(Cells(5, b), Cells(Anzahl_der_Messungen + 4, b)))             
Next b

Wenn ich dies ausführen will bekomme einen Laufzeit '1004: Benutzerdefinierte Anwendung oder Objekt benutzerdefinierte Fehler. Das komische ist nur, wenn ich statt Tabelle2 durch Tabelle1 ersetzte(Nach der sum-Funktion; das erste Tabelle2 macht kein Problem), geht das ganze auf einmal. Selbst wenn ich die Werte, die ich in Tabelle2 zur Summe haben will, in Tabelle1 kopiere, funktioniert das ganze immernoch. Ich hab auch probiert statt Tabelle2 Worksheet(2) oder ähnliches zu benutzen. Das geht auch nicht. Hat irgendwer ne idee woran es liegen könnte ?

Danke und Grüße
Sunith

Sum-Funktion in VBA

Martin Asal @, Montag, 25.11.2019, 16:33 (vor 15 Tagen) @ Sunith

Klingt für mich, als ob du Werte aufaddieren willst, die sich gar nicht aufaddieren lassen. Anders gesagt, vielleicht hast du irgendwo in Tabelle2 einen Wert wie z. B. DIV/0.

Martin

Sum-Funktion in VBA

Sunith, Mittwoch, 27.11.2019, 10:04 (vor 14 Tagen) @ Martin Asal

Kann nicht sein, weil ich ja exakt die Werte, die ich summieren will, aus Tabelle 2 in Tabelle 1 kopiert habe und dort hat es funktioniert. Aber danke. Sonst noch wer Ideen ?

Sum-Funktion in VBA

Sunith, Mittwoch, 27.11.2019, 13:20 (vor 13 Tagen) @ Sunith

Ein kleines Update:
Ich hab noch weiter an dem Programm geschraubt und das Problem kommt öfters vor, wenn ich die combination von Range(Cells) benutze. Ich konnte das teilweise durch row oder column ersetzten und da hat es funktioniert, doch brauche in vielen Situationen ich einen Befehl bei dem ich eine Range festlegen kann und dabei auch noch variablen benutzen kann (deshalb geht Range alleine nicht). Weiß wer da was ?

Sum-Funktion in VBA

Peter_Richter, Montag, 02.12.2019, 19:56 (vor 8 Tagen) @ Sunith

Wenn Du weisst wie VBA-Code in EXCEL funktioniert kann dir das vielleicht ein bisschen weiterhelfen ...


Private Sub variablentest()

Dim zeile As Long 'zeile
Dim erstezeile As Long
Dim letztezeile As Long
Dim spalte As Long
Dim wert As Integer

spalte = 3 'Vorgabe Spalte 3
erstezeile = 3 'Lesebeginn in Zeile 3
letztezeile = 10 'Leseende in Zeile 10

'Schleifenanfang ...
For zeile = erstezeile To letztezeile
Cells(zeile, spalte).Value = zeile 'schreibt einen Wert in die Zelle
wert = Cells(zeile, spalte).Value 'liest einen Wert aus der Zelle

'hier könnte auch eine Berechnungsformel oder if then Prüfung stehen - z.B.
If Cells(zeile, spalte).Value > 5 Then Cells(zeile, spalte + 1).Value = " Wert größer 5"

Next zeile
'... Schleifenende

End Sub

'****************************************************
... kopiere den Code im VBA-Editor auf Dein Arbeitsblatt oder in ein neues Modul

Starten kannst Du das zum Testen, indem Du in das Modul klickst und dann den
Button mit dem kleinen dreieckigen Pfeil

Von anderer Stelle im EXCEL-Sheet kann das Modul mit

CALL Variablentest

aufgerufen werden - z.B. über einen Button oder anderes Ereignis


Grüße aus Dieburg

Peter

RSS-Feed dieser Diskussion
powered by my little forum