Microsoft Excel

Herbers Excel/VBA-Archiv

Multiplizieren mit VBA

Betrifft: Multiplizieren mit VBA von: AndréL.
Geschrieben am: 12.08.2004 23:31:29

Hallo Excel-Profis,
ich habe mir in den Kopf gesetzt, eine Multiplikation über einen Spaltenbereich
durchzuführen. Und zwar soll jeder Wert mit dem nächsten Wert „mal genommen“
werden. z.B. U4xU5xU6… bis U74. Das Problem ist, dass die meisten Zellen
leer sind, und deswegen funzt irgendwie keine, mir bekannte, Formel.
Zumal die zu berechnenden Zellen variabel gefüllt werden.
Also, dachte ich mir, mach es doch mit VBA!! Tolle Idee, bei meinen spärlichen
Kenntnissen. Nach drei Stunden des Suchens(Recherche) und Fummeln mit
„geklauten“ Codes, gebe ich aber nicht auf, sondern ich frage Euch.
Hat zu diesem irrwitzigen Vorhaben jemand eine Idee??

Gruß
AndréL.

  


Betrifft: AW: Multiplizieren mit VBA von: joel
Geschrieben am: 12.08.2004 23:47:42

hallo andré

Sub Multiplizieren
'multipliziert den selektierten bereich
dim c as range
dim dProdukt as double

dProdukt = 1
for each c in tabelle1.range("U4:u74")
if (isnumeric(c) AND c.value<>"") then
dProdukt =dProdukt *c.value
end if
next c

End Sub



gruss joel

ps: code nicht getestet, sollte aber funzen


  


Betrifft: AW: Multiplizieren mit VBA von: AndréL.
Geschrieben am: 12.08.2004 23:57:53

Hallo Joel,
Danke für die schnelle Antwort, aber das läuft nicht.
Wo würde denn eigentlich das Ergebnis stehen?

Gruß
AndréL.


  


Betrifft: AW: Multiplizieren mit VBA von: joel
Geschrieben am: 13.08.2004 00:23:59

hallo andré

das ergebnis steht in der variablen dProdukt

kannst ja noch vor end sub eine zeile einfügen

tabelle1.range("U75").value = dProdukt


gruss joel

ps: was läuft sonst noch nicht? fehlermeldungen?


  


Betrifft: AW: Multiplizieren mit VBA von: AndréL.
Geschrieben am: 13.08.2004 00:30:06

Hallo Joel,
jetzt habe ich im Feld U75 das Ergebnis "1".
Das ist leider nicht richtig.
Es kam vorher auch keine Fehlermeldung, es passierte einfach nichts.

Danke noch mal.

Gruß
AndréL.


  


Betrifft: AW: Multiplizieren mit VBA von: joel
Geschrieben am: 13.08.2004 00:42:21

hallo andré

heisst deine tabelle im vba-editor wirklich tabelle1? wenn ja, gehe den code mal schritt für schritt durch (beliebige zelle anklicken und dann mehrere male F8)

alternativ kannst du auch in der if-abfrage mal die bedingung isnumeric(c) rauslöschen

ansonsten schick mir das file schnell

gruss joel


  


Betrifft: habs schnell getestet, funzt bei mir von: joel
Geschrieben am: 13.08.2004 00:44:45

Sub Multiplizieren()
'multipliziert den selektierten bereich
    
    Dim c As Range
    Dim dProdukt As Double

    dProdukt = 1
    For Each c In Tabelle1.Range("a1:a10")
        If (IsNumeric(c) And c.Value <> "") Then
            dProdukt = dProdukt * c.Value
        End If
    Next c
    Tabelle1.Range("A11").Value = dProdukt
End Sub



  


Betrifft: Suuuuper..... :-) von: AndréL.
Geschrieben am: 13.08.2004 00:53:31

Hallo Joel,
ich bin ein Dösbaddel(sagt man so bei uns im Norden).
Natürlich läuft das. Klasse!!
Lag daran, das ich den Code einfach kopiert habe.
Bei mir war es Tabelle3.
Vielen Dank jetzt kann ich beruhigt schlafen!?
Gruß
AndréL.


  


Betrifft: AW: Suuuuper..... :-) von: joel
Geschrieben am: 13.08.2004 01:04:06

na dann gute nacht :-)

gruss aus der schweiz


 

Beiträge aus den Excel-Beispielen zum Thema "Multiplizieren mit VBA"