Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
540to544
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
540to544
540to544
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hallo Ramses

Hallo Ramses
08.01.2005 13:28:39
Erich Müller
Hallo Ramses,
ich bin wieder da. Nun suche ich ein Makro für folg. Vorgänge :
In eine Liste werden ständig ab B4 Werte in B und C eingetragen. Die Liste wird dadurch immer größer. Dabei sollen jeweils die in der gleichen Zeile stehenden Werte miteinander multipliziert werden. Das ständig wechselnde Produkt soll in C3 erscheinen.
Blöde gell, aber ich brauche es in VBA.
Gruß Erich Müller


18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: So nicht Erich; Hallo Ramses
08.01.2005 14:17:11
Gert Seler
Hallo Erich,
führe Dir mal die vorherige Lösung von Rainer zu Gemüte. Dabei kannst Du auch noch
etwas lernen. Oder willst Du das garnicht ?
Der sollte ja nicht nur dafür da sein, auszubaldowern, wie Du deine Unkenntnis oder
Hochstapler Karriere in Sachen Informatik weiter frönen kannst.
Alle Helfer in allen Foren geben Ihre Kenntnisse gerne und unentgeltlich an die
Frager weiter.
Aber es sollte auch nicht als Dauerhilfe beansprucht werden.
So das war meine Meinung zu diesem Thema.
Blöde gell, aber da solltest Du Dein Köpfchen bemühen.
mfg
Gert
AW: So nicht Erich; Hallo Ramses
08.01.2005 14:30:37
Erich Müller
Hallo Gert,
hast Du schlecht geschlafen oder hast Du noch Probleme von Sylvester ?
Ich habe eine Frage gestellt, sonst nichts. Was Du daraus machst, ist mir völlig unverständlich. Anstelle Deines "lehrreichen Geschwafels" hättest Du mir die Antwort geben können. Scheint bei Dir aber nicht zu funktionieren !?!
Weitere Belehrungen verbitte ich mir von Dir !
Im übrigen werde ich weiterhin Fragen stellen und mich freuen, wenn ich darauf Antworten bekomme.
Gruß Erich Müller
Anzeige
AW: Ich bin raus Erich o.T.
08.01.2005 15:41:16
Gert Seler
AW: Hallo Ramses
08.01.2005 16:16:15
Ramses
Hallo
Bei der letzten Frage sollten es nur die Summen sein !?
Es wäre schön, wenn du dich entscheiden könntest.
Müssen die Produkte aufaddiert sein, oder soll nur jeweils das Produkt der aktuellen Zeile dort erscheinen ?
Grundsätzlich bin ich der Meinung, dass VBA hier völlig fehl am Platze ist.
Das liesse sich mit einer internen Funktion von EXCEL wesentlich eleganter bzw. sicherer lösen.
Wenn du allerdings unbedingt als VBA-Crack glänzen willst... ;-)
Gruss Rainer
AW: Hallo Ramses
08.01.2005 17:02:39
Erich Müller
Danke Rainer,
für Deine Hilfe.
Die Produkte sollten aufaddiert sein. Wenn möglich auch die aktuellen Zeilen.
Als VBA-Crack werde ich wohl nie glänzen. Ich bemühe mich allerdings.
Gruß Erich Müller
Anzeige
AW: Hallo Ramses
08.01.2005 17:27:21
Ramses
Hallo

Private Sub Worksheet_Change(ByVal Target As Range)
Dim pRange As Range, multRange As Range
Set multRange = Range("C4:C1000")
Application.EnableEvents = False
If Not Intersect(Target, multRange) Is Nothing Then
Range("C3") = Range("c3") + (Target * Target.Offset(0, -1))
End If
Application.EnableEvents = True
End Sub

Irgendwie hat Gerd schon ein wenig recht,... mit dem lernen und so ;-)
Gruss Rainer
AW: Hallo Ramses
08.01.2005 17:42:23
Erich Müller
Danke Rainer,
Dein angefügter Kommentar "trifft voll ins Schwarze".
Ich versuche, mich als Diplomingenieur auf die "geistige Höhe" eines Informatikers zu bringen. Da ich dabei erst am Anfang bin, kommen solch blöde Fragen von mir ins Forum.
Ich bitte dies zu entschuldigen !
Nochmals Danke für Deine Hilfe, mich aus meinem "geistigen Tiefstand" nach oben zu hieven.
Gruß Erich Müller
Anzeige
@OffTopic
08.01.2005 18:00:55
Ramses
Hallo Erich
Nicht in den falschen Hals kriegen :-)
Ich bin auch kein Informatiker und musste mich auch erst mal damit beschäftigen, aber vieles ist abgeleitet. Die VBA-Hilfe leistet hier manchmal ;-) gute Hilfe.
Ansonsten,... immer nur fragen :-)
Gruss Rainer
AW: @OffTopic
08.01.2005 18:20:47
Erich Müller
Hallo Rainer,
tut mir leid, daß ich schon wieder da bin. Habe die Datei hochgeladen.
Funktioniert nicht, bin scheinbar doch zu blöde.
Schaust Du mal ?
Gruß Erich Müller

https://www.herber.de/bbs/user/15805.xls
Tippfehler
08.01.2005 18:31:16
Beate Schmitz
Hallo Erich,
liegt wohl an der Zeile:
Set multRange = Range("C4:C1000")
soll sicher heißen:
Set multRange = Range("B4:C1000")
Gruß,
Beate
Anzeige
AW: Tippfehler
08.01.2005 18:39:10
Ramses
Hallo Beate
Nein, kein Tippfehler.
Die Multiplikation soll ja erst stattfinden, wenn in der Spalte C was eingegeben wurde, sonst fängt er schon zu kopieren an, wenn in B was eingegeben wurde.
Aber er hat anstelle von "Offset(0,-1)", für die Spalte B "Offset(0,1)" geschrieben.
Damit multipliziert er den Wert aus Spalte B mit dem Wert aus Spalte D und das ergibt nun mal 0 ;-)
Gruss Rainer
@ Rainer
08.01.2005 20:45:38
Beate Schmitz
Hallo Rainer,
da habe ich auf dem Schlauch gestanden. Alles klar.
Gruß,
Beate
AW: @OffTopic
08.01.2005 18:36:59
Ramses
Hallo Erich
"...Funktioniert nicht, bin scheinbar doch zu blöde...."
Dazu möchte ich jetzt nichts sagen ;-)
Es muss anstelle von "1" in deinem Code, wie von mir angegeben "-1" heissen ;-)
Gruss Rainer
Anzeige
AW: @OffTopic
08.01.2005 19:15:34
Erich Müller
Hallo Rainer,
scheinbar haben Gert und Du doch recht. Zu blöde zum Abschreiben ...
Ich bleibe wohl lieber bei den Formeln. Da weiß ich, was ich tue.
Danke für alles.
Gruß Erich Müller
Nicht aufgeben....
08.01.2005 19:23:00
Ramses
Hallo Erich
es wird schon werden ;-)
Gruss Rainer
AW: Nicht aufgeben....
08.01.2005 20:12:07
Erich Müller
Hallo Rainer,
es wird mir schon peinlich, aber ich habe noch eine Frage.
Wenn ich mich zwischen B$:C1000 vertippe, oder wenn ich neu beginne, bleibt die Ergebniszelle C3 wie sie ist, d.h., sie verändert das Ergebnis nicht. Das ist bestimmt nicht in Deinem Sinne. Was ist zu tun ?
Gruß Erich Müller
AW: Nicht aufgeben....
08.01.2005 20:52:28
Ramses
Hallo
wie gesagt, diese Prozedur ist problembehaftet, sie reagiert nur, wenn eine Änderung oder Eingabe im Bereich Cx:Cx erfolgt, andernfalls könnte ein Null-Multiplikation erfolgen.
Das zweite ist natürlich, dass die Prozedur den addierten Wert schon einmal hinzugefügt hat, und bei einer Änderung diesen Wert natürlich vorher nicht abzieht.
Wie gesagt, am einfachsten wäre es die Funktion Summenprodukt in der Zelle zu verwenden, oder die ganze Sache so umzuschreiben:


Private Sub Worksheet_Change(ByVal Target As Range)
Dim pRange As Range, multRange As Range
Set multRange = Range("B4:C1000")
Application.EnableEvents = False
If Not Intersect(Target, multRange) Is Nothing Then
Range("C3") = WorksheetFunction.SumProduct(Range("C4:C1000"), Range("B4:B1000"))
End If
Application.EnableEvents = True
End Sub

Aber damit verwendest du auch nur die Zellenfunktion Summenprodukt().
Wie du siehst, grosser Aufwand, kleines Ergebnis
Schreib in C3:
=SUMMENPRODUKT(b4:b1000;C4:C1000)
und du hast das gleiche :-)
Es gibt definitiv KEINEN Grund, dafür VBA einzusetzen
Gruss Rainer
Anzeige
Mein lieber Schwan...
08.01.2005 21:22:27
Erich Müller
Hallo Rainer,
ich ziehe den Hut vor Dir. Es klappt ! Phantastisch was Du drauf hast !
Tausend Dank für Deine Hilfe !
Gruß Erich Müller

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige