Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1532to1536
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dimensionierung

Dimensionierung
06.01.2017 15:23:02
Rolf
Hallo und ein gutes Jahr 2017,
das folgende kleine Makro funktioniert und zeigt die Summe eines markierten Spaltenabschnittes.
Allerdings nur ohne "Option Explicit"!
Mit der Dimensionierung von Arr und Arr(4) komme ich nicht zurecht.
Sub Delta()
r = ActiveCell.Column
BS = ActiveWindow.RangeSelection.Address
Arr = Split(BS, "$")
zz = Replace(Arr(4), ",", "") + 1
Cells(zz, r) = WorksheetFunction.Sum(Range(BS))
End Sub

Danke und viele Grüße
Rolf

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dimensionierung
06.01.2017 15:26:54
Hajo_Zi
Hallo Rolf,
Option Explicit
Sub Delta()
Dim Arr()
Dim R As Long
Dim BS As String
Dim ZZ As Long
R = ActiveCell.Column
BS = ActiveWindow.RangeSelection.Address
Arr = Split(BS, "$")
ZZ = Replace(Arr(4), ",", "") + 1
Cells(ZZ, R) = WorksheetFunction.Sum(Range(BS))
End Sub


AW: Dimensionierung
06.01.2017 15:37:12
Rolf
Hallo Hajo,
danke für die schnelle Antwort.
Leider reagiert das Makro bei Arr=Split(BS,"$") mit "Typen unverträglich".
Gruß Rolf
AW: Dimensionierung
06.01.2017 15:45:10
Hajo_Zi
Hallo Rolf,
ich hatte mich jetzt nur um Dim gekümmert, das Stand ja im ersten Beitrag.
Option Explicit
Sub Delta()
Dim Arr
Dim R As Long
Dim BS As String
Dim ZZ As Long
R = ActiveCell.Column
BS = ActiveWindow.RangeSelection.Address
Arr = Split(BS, "$")
ZZ = Replace(Arr(4), ",", "") + 1
Cells(ZZ, R) = WorksheetFunction.Sum(Range(BS))
End Sub
Gruß Hajo
Anzeige
AW: Dimensionierung
06.01.2017 15:51:51
Rolf
Hallo Hajo,
jetzt funktioniert alles bestens!
Nochmals danke und einen schönen Tag.
Gruß Rolf
kleine Anmerkung
06.01.2017 17:14:54
Michael
Hi,
eine Zeile reicht auch:
Sub d2()
Selection.Offset(Selection.Rows.Count).Resize(1, 1) = WorksheetFunction.Sum(Selection)
End Sub

Gruß,
M.
AW: kleine Anmerkung
07.01.2017 13:28:07
Rolf
Hallo Michael,
danke für deine komprimierte Zeile. Jetzt hab ich die Qual der Wahl.
Gruß Rolf
nimm das, was Dir taugt,
07.01.2017 21:19:44
Michael
Rolf,
ich komme aber immer mehr dazu, .resize und .Offset einzusetzen, weil es mitunter eine mühselige Rechnerei mit Spalten-/Zeilennummern überflüssig macht.
Bei größeren Makros, wo man besagte Nummern mehrmals braucht, ist es natürlich sinnvoll, die in einer Variablen zwischenzuspeichern...
Die eingangs genannten Befehle sind halt Excel-Spezialitäten, die es in anderen Programmiersprachen so nicht gibt.
Happy Exceling,
Michael
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige