Clever-Excel-Forum

Normale Version: Rechenoperationen in anderem WS ausführen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe gerade ein grundliegendes Problem.

also ich habe in meiner Mappe ein WS "Data" und ein WS "Chart". Jetzt soll mit den Daten aus "Data" eine Rechenoperation ausgeführt werden.
Schaltfläche dafür ist auf dem WS "Chart".

Mein Code dafür lautet:
Code:
Sub SMA60T()

Sheets("Data").Activate
Range("C2") = Application.Sum(Sheets("Data").Range(Cells(2, 2), Cells(46, 2)))

End Sub


Meine Frage: Kann man die Operation auch ausführen, ohne daß das WS "Data" angezeigt wird, quasi im Hintergrund?
Hallo

ungetestet


Code:
Sub SMA60T()
   With Sheets("Data")
       .Range("C2") = Application.Sum(.Range(.Cells(2, 2), .Cells(46, 2)))
   End With
End Sub

beachte die Punkte vor Range und Cells

MfG Tom
Super, funzt - Danke Thumbsupsmileyanim
... manchmal kann VBA einen ganz schön nerven.

gestern habe ich den Tipp von CrazyTom auf meinen Code angewendet - hat auch prächtig funktioniert. Heute Morgen wollte ich die gleiche Methode auf eine anderes Problem anwenden - und es funktioniert nicht Huh .


Zitat:Sub DATASweep2()
Dim reihe As Long
   
With Sheets("CSV Transfer")
     .Cells(3, 11) = Cells(Rows.Count, 1).End(xlUp).Row
End With

End Sub

Hierbei soll einfach die Anzahl der beschriebenen Reihen ermittelt werden. Mit der activate-Methode gibts die richtge Anzahl, aber mit with
gibt er mir 1 aus.
Moin,
nimm es sportlich  Blush , den wenn di nicht genügend Punkte hast, bist du nicht der Gewinner :05:
Zitat:With Sheets("CSV Transfer")
     .Cells(3, 11) = .Cells(Rows.Count, 1).End(xlUp).Row
End With

Zumindest glaube ich, dass dort der Hase im Pfeffer liegt. Der Punkt sorgt dafür, dass sich die folgenden Cells-Anweisung auf den mit With deklarierten Bereich bezieht und nicht auf das aktuelle Blatt.
Moin!
Crazy Tom schrieb:beachte die Punkte vor Range und Cells
Dann lies Dir mal folgendes aufmerksam durch:
https://msdn.microsoft.com/de-de/library...aspx?f=255&MSPPError=-2147217396
(ist zwar VB, ist hier aber unerheblich)

Als Tipp:
Dein Code ermittelt die letzte beschriebene Zelle in Spalte A des aktiven Tabellenblatts.

Gruß Ralf
Beim nochmaligem Lesen fiel mir auf, dass man mich missverstehen könnte.
Mein Hinweis war natürlich an lapunta und nicht an Crazy Tom gerichtet.

(deutsche Sprache, schwere Sprache)
Blush

Gruß ralf
... es war tatsächlich der fehlende Punkt.

Danke!