Microsoft Excel

Herbers Excel/VBA-Archiv

komplexeres problem

Betrifft: komplexeres problem von: mex
Geschrieben am: 20.08.2004 14:44:20

hallo zusammen:
hab eine etwas längere problemstellung, aber vielleicht macht sich ja trotzdem wer die mühe:

hab zwei arbeitsblätter: eines heißt "ergebnis", das andere "daten"
in der ersten spalte des blattes "ergebnis" sollen die summen aus jeweils einer zeile des arbeitsblattes "daten" stehen. (in A1 die summe aus der ersten zeile, in A2 die sum aus der weiten usw.)
dies wird so lange durchgeführt, bis in spalte A vom blatt "daten" eine leere zelle steht.
enthält eine zeile nicht nur zahlen, sondern auch textzeichen wird anhand der summe in der ergebnis zelle "text" ausgegeben.

für mich, als neuling leider ein unüberwindbares problem!
lg, mex

  


Betrifft: Meister... von: Boris
Geschrieben am: 20.08.2004 14:46:59

Hi Mex,

...was hälst du eigentlich mal von Feedback?
Deine bisherigen 3 Threads lassen da doch einiges vermissen...

Grüße Boris

P.S.: Falls du ein anderer mex sein solltest, vergiss es natürlich...


  


Betrifft: AW: Meister... von: mex
Geschrieben am: 20.08.2004 14:57:15

nein bin kein anderer!
tut mir leid, du hast recht, dass es falsch von mir war mich bei der tollen hilfe die ich bis jetzt erhalten hab zu bedanken!
also nachträglich: danke hab eure anregeungungen gut verwerten können!
werde mich bessern!
lg, mex


  


Betrifft: O.K. von: Boris
Geschrieben am: 20.08.2004 15:58:34

Hi Mex,

dein Einsicht ehrt dich.

Vorschlag 1):
Gib oben im Forumsbereich im Suchfeld deinen Namen ein - dann findest du deine Beiträge - und gib dort noch ne Reaktion auf die Antworten ab (von wegen: was hat funktioniert, was nicht - halt ein Feedback).

Für dein jetziges Problem versteh ich es so (die zu summierenden Zeilen stehen in Tabelle2):
In Tabelle1, A1:
=WENN(ANZAHL2(Tabelle2!1:1)-ANZAHL(Tabelle2!1:1)>0;"Text";SUMME(Tabelle2!1:1))
und runterkopieren.

Grüße Boris


  


Betrifft: AW: O.K. von: mex
Geschrieben am: 20.08.2004 16:08:45

danke, werd ich versuchen einzubauen.

dauert bei mir noch länger, geb bescheid wenns geklappt hat!

lg, mex


  


Betrifft: AW: O.K. von: mex
Geschrieben am: 20.08.2004 16:38:03

kann diesen vorschlag leider nicht verwerten (liegt sicher nicht am vorschlag, sondern meiner vba-unkenntnis)
meine bisherigen versuche bestehen aus einer

Do While Not IsEmpty(ThisWorkbook.Worksheets(2).Range("A" & zeilen).Value)

(um den vorgang auf die anzahl jener zeilen zu beschränken, in denen eine zahl steht)

eine ähnliche schleife verwend ich dann (in der oberen verschachtelt) um den vorgang auf jene spalten zu beschränken, deren zellen einen eintrag haben.

und das prob. mit der textausgabe versuch ich mit isnumeric in den griff zu bekommen.

aber leider klappts noch nicht!

lg, mex


  


Betrifft: Ich hab nix von VBA gelesen... von: Boris
Geschrieben am: 20.08.2004 16:51:51

Hi mex,

...und mein Vorschlag war ja nun auch alles andere als VBA...
Versuch mal dein Problem komplett zu schildern (und nicht mit irgendwelchen Codefragmenten). Im Zweifel lad einfach noch ne Beispieldatei mit hoch.

Grüße Boris


  


Betrifft: AW: Ich hab nix von VBA gelesen... von: mex
Geschrieben am: 20.08.2004 17:05:15

sorry, war für mich hätte schreiben sollen, dass es um vba geht.

nochmals zum problem:

wie gesagt es geht darum in einem arbeitsblatt ( genannt:"daten"), die die summe der jeweiligen zeile zu ermitteln. diese summe wird dann in die erste spalte (A1) des anderen abeitsblattes (genannt "ergebnis") übertragen.
die summe der zweiten zeile kommt dann in die zelle A2 des "ergebnisblattes" usw.
sollte in der ersten spalte einer beliebigen zeile (zb. in zeile 55) kein eintrag mehr sein, soll die schleife abgebrochen werden.
kommt in irgendeiner zelle in einer zeile, des "datenblattes" ein nichtnumerischer ausdruck vor, soll anstatt der summe, die ausgabe "text" im "ergebnisblatt stehen.

hoffentlich jetzt ein wenig verständlicher!
danke für die mühe, mex!


  


Betrifft: Dann versuch mal das: von: Boris
Geschrieben am: 20.08.2004 17:27:45

Hi mex,

Option Explicit

Sub tu_es()
Dim lCount As Long
lCount = 1
With Worksheets("Daten")
    Do Until .Cells(lCount, 1) = ""
        If Application.CountA(.Rows(lCount)) - Application.Count(.Rows(lCount)) > 0 Then
            Worksheets("Ergebnis").Cells(lCount, 1) = "Text"
        Else
            Worksheets("Ergebnis").Cells(lCount, 1) = Application.Sum(.Rows(lCount))
        End If
        lCount = lCount + 1
    Loop
End With
End Sub


Grüße Boris


  


Betrifft: funktioniert!! von: mex
Geschrieben am: 21.08.2004 13:26:52

hallo boris!

meld mich erst so spät da ich eine "auszeit" genommen hab.
hab mit deiner hilfe jetzt das problem lösen können.
nochmals herzlichen dank!

schönes we, mex!


 

Beiträge aus den Excel-Beispielen zum Thema "komplexeres problem"