Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Range(gesuchteZelle1:gesuchteZelle2)

Range(gesuchteZelle1:gesuchteZelle2)
01.03.2018 13:40:46
Jakob
Hallo Wissende,
ich muss vorausschicken: Meine VBA-Kenntnisse sind absolut redumentär und rekorderabhängig. Ich habe alles mir momentan Mögliche versucht, habe jetzt aber aufgegeben und hoffe auf Hilfe :-)
Ich möchte Zwischensummen einer rießigen Axceltapeten rausziehen, die völlig unterscheidlich aufgebaut sind. Dafür benötige ich eine Suchefunktion, die einen Bereich zwischen zwei Zellen in einer Summenformel zusammenfasst. Hier mein Versuch:
- suche nach Zelle 1 mit Inhalt "Start" und speichere Position in Variable 1
- suche nach Zelle 2 mit Inhalt "Ende" und speichere Position in Variable 2
- suche nach Zelle 3 mit Inhalt "Summe", Offset 1 nach rechts, schreibe Summenformel mit Range = Bereich zwiscchen Variable 1 und Variable 2
Meine Code-Schnipsel (oder Misachtung jeglicher VBA-Syntax) sehen so aus:
Sub Makro34()
Dim Variable1 As String
Dim Variable2 As String
Cells.Find(What:="Start", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
AcitveCell.Range = Variable1
Cells.Find(What:="Ende", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
AcitveCell.Range = Variable2
Cells.Find(What:="Hier", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Offset(0, 1).FormulaR1C1 = "=SUM(Variable1:Variable2)"
End Sub

Viele Grüße!
Jakob

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Range(gesuchteZelle1:gesuchteZelle2)
01.03.2018 14:38:17
Werner
Hallo Jakob,
wo stehen denn deine Werte, die du Summieren möchtets?
Zwischen Start und Ende (also in der gleichen Spalte wie Start und Ende)?
Rechts neben Start bis rechts neben Ende?
Gruß Werner
AW: Range(gesuchteZelle1:gesuchteZelle2)
01.03.2018 15:08:32
Jakob
Hallo Werner,
die Werte stehen zwischen "Start" und "Ende" + 5 Spalten nach rechts.
Oder anders ausgedrückt:
Erster Wert der Summe = Zelle "Start" Offset (1, 5)
Letzter Wert der Summe = Zelle "Ende" Offset (-1, 5)
AW: Range(gesuchteZelle1:gesuchteZelle2)
01.03.2018 15:22:43
Daniel
Hi
im Prinzip so:

dim Start as Range
dim Ende as Range
dim Summe as Range
Set Start = Cells.Find(What:="Start", lookat:=xlwhole).Offset(1, 5)
Set Ende = Cells.Find(What:="Ende", Lookat:=xlwhole).Offset(-1, 5)
Set Summe = Cells.find(What:="Summe", Lookat:=xlwhole).Offset(0, 1)
Summe.Formula = "=Sum(" & Range(Start, Ende).Address & ")"
gruß Daniel
Anzeige
AW: Range(gesuchteZelle1:gesuchteZelle2)
01.03.2018 16:07:12
Jakob
Das klappt perfekt, besten Dank!
AW: Range(gesuchteZelle1:gesuchteZelle2)
01.03.2018 16:14:45
Werner
Hallo Jakob,
schick meins jetzt trotzdem noch nach. Hab das über Stringvariable zusammengebaut. Ist auch mit Fehlerbehandlung. Ansonsten läufst du in einen Fehler, sollten deine Suchbegriffe einmal nicht vorhanden sein.
Sub Makro34()
Dim Variable1 As String, Variable2 As String, Variable3 As String
On Error Resume Next
Variable1 = Cells.Find(What:="Start", LookAt:=xlPart).Offset(1, 5).Address
Variable2 = Cells.Find(What:="Ende", LookAt:=xlPart).Offset(-1, 5).Address
Variable3 = Cells.Find(What:="Hier", LookAt:=xlPart).Offset(0, 1).Address
If Not Variable1 = "" And Not Variable2 = "" And Not Variable3 = "" Then
Range(Variable3).Formula = "=SUM(" & Variable1 & ":" & Variable2 & ")"
Else
On Error GoTo 0
MsgBox "Fehler"
End If
End Sub
Gruß Werner
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige