Inhalt aus mehreren Zeilen auslesen und addieren?

ACIDJUNKIE85

Grünschnabel
Hallo ich möchte gerne zahlen werte aus mehreren Zeilen auslesen und zusammen rechnen um diese dann in eine neue Zeile als z.B. Gesammtkosten anzeigen lassen. Wie kann ich das realisieren? Wäre schön wenn mir jemand das sagen könnte da ich ein Neuling in VBA bin und die Microsoft Hilfe mir nicht wirklich weiter hilft. Danke
 
Excel? Da kannst du ja in der Zelle selbst eine Summenformel eingeben und dort das Ergebnis anzeigen.

In VBA sprichst du über Cells(Row, Column) eine Zelle an, einfach alle einlesen und addieren.


Der Doc!
 
Haaaallloo...

ich hab genau das gleiche problem ich hab ein kleines programmchen in visual basic also von excel geschrieben und ich möchte nun zellen einlesen dass ich diese addieren kann.
wie lautet denn die genaue syntax, mit dem Cells(Row, Column) kann ich leider nix anfangen... :confused:

bin noch totaler anfänger.. sorrrry... würd mich über hilfe freun !!


also das muss dann so sein, dass ich die zellen durchlaufen kann mit einem laufindex, weil ich alle abfragen muss und je nachdem was drinne steht funktionen ausführen...


ich bin verzweifelt mein hirn ist gekocht :(

danke schonmal, ich hoff es kann mir jemand helfen...
 
Zuletzt bearbeitet:
Cells ist nur eine Eigenschaft des Worksheets-Objekts, du musst natürlich das dementsprechende Sheet angeben. Außerdem hat Cells ja auch Eigenschaften, zum auslesen von Werten die Value-Eigenschaft.


Der Doc!
 
Hey Doc,
Danke erstmal...
ich kann die aktuelle zelle makieren und auslesen das ist kein problem.

Aber das bringt mir nichts weil ich muss nicht nur eine Zelle auslesen, sondern ALLE zellen in dem sheet überprüfen und je nach dem was drinne steht verschiedene funktionen machen.

weisst du wie ich das mein ?

soll ich dir das excel sheet als beispiel zeigen oder verstehst du mich ...

gaa voll kompliziert...

also danke schonmal und liebe grüße,
maybebaby
 
Du kannst das ganze Sheet ja in einer Schleife durchgehen und auslesen (markieren ist nicht notwendig), würde so aussehen:
Visual Basic:
With ActiveSheet
 For xRows = 1 To 10 '10 Zeilen
  For xCols = 1 To 10 '10 Spalten
   sWert = .Cells(xRows, xCols)
   'Hier kannst du noch Berechnungen durchführen
  Next xCols
 Next xRows
End With


Der Doc!
 
Hallo,

danke für die schnelle Antwort du bist echt mein lebensretter ich war da schon einen ganzen Tag auf arbeit dran gesessen und bin ver Verzweiflung nahe...
jetzt kann ich die Zellen durchlaufen, das ist schonmal super aber leider nochnicht die vollständige lösung meines problems.
innendrinnen möchte ich eine if abfrage machen und nun meine erste frage: mit was deklariere ich die Variable, da in den Zellen sowohl Wörter als auch Zahlen stehen können ?

und dann meine nächste Frage: die tabelle ist so aufgabaut..:

MA Bereich Projekt Featuregruppe Auslastung
Wagner Proj. Regional P6 F10 20%
Wagner Proj. Regional GR allg 20%

Ich frage nun das Projekt ab und immer wenn zB P6 dort steht möchte ich die Prozentzahlen addieren.kann ich irgendwie den Spaltennamen abfragen?
das würde es um einiges vereinfachen, dann könnte ich gezielt abfragen weisst du wie ich mein ?



Hab ich das richtig verstanden ist sWert dann der Inhalt der Zelle die wir gerade durchlaufen ?
Weil den brauch ich ja.... Oder ist das nur der Index ?

sorry dass ich soviele dumme fragen stell aber ich hab mir vorgestern nur ein buch zu visual durchgelesen und dann losgelegt... grrr

danke für deine geduld schonmal
 
Zuletzt bearbeitet:
Nein, stimmt schon, sWert ist der Inhalt der Zelle, die gerade durchlaufen wird.

Um festzustellen, ob der Inhalt einer Variable eine Zahl ist, benutzt du die Funktion IsNumeric(). Wenn der Inhalt eine Zahl ist, kriegst du True zurück, ansonsten False.

Wenn du eine Variable ohne Typ deklarierst,
Visual Basic:
Dim sWert
'Vergleiche: Dim sWert As Integer -> Integer-Variable, Wertebereich -32768 - 32767, nur Zahlen
kriegst du eine sogenannte Variant-Variable zurück. Diese kann alle Typen aufnehmen.

Wenn du ein Blatt so wie du gerade beschrieben hast hast, ist es sowieso besser, wenn du in der Schleife nur die Zeilen durchgehst und die Spalten separat abfragst. So kannst du die einzelnen gewünschten Zellen abfragen, sie kombinieren und die Ergebnisse schreiben.

Stell doch mal eine Tabelle mit Dummydaten hoch, so wie sie aussehen soll bzw. du dir das vorstellst. Du kannst in Excel über Einfügen - Kommentar einzelne Zellen kommentieren, damit man sich was besser vorstellen kann.


Der Doc!
 
Hallo

kann ich denn die spalten direkt abfragen ? oder muss ich die zeile durchlaufen bis ich bei der spalte bin in die ich will... mir den index merken und dann in die 2te schleife gehen um die spalte nach unten abzufragen ?

ich möchte quasi erst den namen des mitarbeiters haben, dann dazu das projekt und dann zuwieviel % er mit diesem projekt ausgelastet ist. so soll es aussehen:

zB

name projekt feauregruppe auslastung

so soll mein erarbeitetes excel sheet aussehen und das soll einfach in dem nächsten tabellenblatt nach meiner liste aus der ich diese daten berechne sein.



erfreulicherweise konnte ich sonst soweit alles lösen..

ich merke mir die spalte und die zeile aus der ich was addieren möchte, was wie folgt aussieht:

For xRows = 1 To 4 'Anzahl Zeilen
For xCols = 1 To 17 'Anzahl Spalten
sWert = .Cells(xRows, xCols)
If sWert = "P1" Then
Zeile = z
Spalte = 5
Do While Spalte < 17
temp = .Cells(Zeile, Spalte) '?wie greife ich auf die zelle zu, deren Zeile und Spalte ich weiss ?
MsgBox ("Temp : " & temp)
ergebnis = ergebnis + temp
MsgBox ("ergebnis lautet : " & ergebnis)
Spalte = Spalte + 3
Loop
'Dreisatz um Prozentsatz pro Woche zu berechnen :
prozentsatzwoche = 100 / 500 * ergebnis
MsgBox ("Die Auslastung betraegt " & prozentsatzwoche)
End If
s = s + 1
Next xCols
z = z + 1
Next xRows



nun würde ich in temp gerne den inhalt der zelle schreiben, von der ich mir spalte und zeile gemerkt hab... kannst du mir da bitte nochmal helfen? an dieser stelle funktioniert es quasi nicht : temp = .Cells(Zeile, Spalte)
weil ich mit dieser zelle dann rechnen muss, ich muss ihren inhalt quasi addieren...

liebe grüße,
maybebaby
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück