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

sumif mit variablem Zellbereich

Forumthread: sumif mit variablem Zellbereich

sumif mit variablem Zellbereich
26.10.2004 11:51:21
Ingo_H
Hallo Jungs und Mädels,
ich hab ein Problem mit der sumif Funktion in meinem VBA-Code. Leider hab keine entsprechende Lösung gefunden.
Der Zweck der Formel, ich möchte alle mit "*" markeirten Zeilen meiner Liste die entsprechende Spalte z.B. 4 zusammenaddieren. Da meine Liste jedesmal unterscheidlich lang ist brauche ich eine Formel/Funktion mit Variablen. Die Funktion muß ich dann in eine bestimmte Zelle der Liste unten einfügen.
Die ganze Spalte als Bereich festzulegen funktioniert auch nicht, da es ja dann einen Fehler mit Zikelbezug gäbe.
Es existiert die Variable "ez" für erste Zeile und "lz" für letzte Zeile
Hier mein Beispiel, also, bisher steht in meine VBA-Code:
Range("F5").Select
ActiveCell.FormulaR1C1 ="=SUMIF(R[-4]C[-5]:R[-1]C[-5],R[-2]C[-5],R[-4]C:R[-1]C)"
(funktioniert soweit)
oder andere Schreibweise wäre:
Range("g5").Select
ActiveCell.FormulaR1C1 = "=SUMIF(R1C1:R4C1,""*"",R1C7:R4C7)"
(funktoniert auch)
Das Problem: der Zellberech muß ich irgendwie variabel darstellen können. Wie kann ich jetzt den Zellberech (z.B. R1C1:R4C1) mit Hilfe einer Variablen darstellen.
Oder kann ich die Darstellung mit:' Range(Cells(ez, 1), Cells(lz, 1))' verwenden.
Hmmm... hoffentlich hab ich mein Problem gut erklärt und mir kann jemand weiterhelfen.
Danke schön.
Ingo_H
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: sumif mit variablem Zellbereich
Jürg
Hallo Ingo
Habe nicht zu 100% verstanden was du machen willst ;-)
Brauchst du denn in der Zelle die Formel oder reicht es, wenn du nur das Resultat siehst?
Du könntest z.B. alle Einträge der Spalte C durchlaufen und zählen in wie vielen Zellen ein "*" steht. Das würde in etwa so aussehen:
dim anzahlSterne as integer
anzahlSterne = 0
dim x as integer
for x = ez to lz
if cells(x,3).value ="*" then
anzahlSterne = anzahlSterne +1
end if
next x
cells(5,6).value = anzahlSterne 'Anzahl Sterne in Spalte C wird in Feld F5 geschrieben
Gruss
Jürg
Anzeige
AW: sumif mit variablem Zellbereich
26.10.2004 13:51:41
Ingo_H
Hi Jürg,
danke für deine Antwort, aber das ist es nicht ganz. Ich brauche nicht das Ergebnis, sondern die Formel.
Also ich öffne, mit meinem Makro, mehrere Exceldateien, schaue nach wo sich die letzte zeile mit den Endsummen befindet, und möchte dort die Funktion einfügen, die aus allen mit "*" markierten Zeilen eine Summe zieht. So daß beim späteren Bearbeiten der Datei, und abändern der oberen Werte sich die Endsumme entsprechend mit ändern.
Hmmmm... ist ein einfacher Sachverhalt, aber irgendwie schwer zu beschreiben?
So sieht meine Datei aus, in Zeile 7 muß meine Formel rein:

1-Ortsname : Fürth, Stadt
2-* 54 Fürth, Stadt 5 2 0 0
3- 0,00% 3,70% 0,00% 0,00%
4-Ortsname : Nürnberg, Stadt
5-* 356 Nürnberg, Stadt 2 2 0 1
6- 0,00% 0,56% 0,00% 0,28%
7-** 410 7 4 0 1
Ich weis, sieht schrecklich aus, aber der Dateiupload klappt nicht:-(
Alles kapiert?
Wenn noch Fragen sich helf ich natürlich weiter.
Ciao Ingo :-\
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige