Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1060to1064
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
Inhaltsverzeichnis

multiplikation mit vba

multiplikation mit vba
18.03.2009 19:18:08
Makrigiannis

hallöchen,
also ich habe folgendes problem:
ich habe unter excel eine tabelle angelegt und möchte z.B. der zelle B5 eine funktion zuweisen. B5 soll einen festen wert haben ( preis eines produktes z.B. 13 €) und wenn ich in die zelle einen weiteren wert eintrage (verkaufte stückzahl),soll mir in der selbenzelle (B5) das ergebnis ( stückzahl x 13 € ) angezeigt werden.hoffe ich habe es verständlich geschildert.
mit anderen worten soll der eingegene wert in der selben zelle errechnet und ausgegeben werden.
vielen dank im vorraus
janni

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: multiplikation mit vba
18.03.2009 19:34:31
Tino
Hallo,
so müsste es gehen, kommt als Code in die entsprechende Tabelle.
kommt als Code in Tabelle1
Option Explicit 
 
Private Sub Worksheet_Change(ByVal Target As Range) 
Const Multiplikator As Currency = 13 
 
 If Target.Address = "$B$5" And IsNumeric(Target) Then 
  Application.EnableEvents = False 
   If Target > 0 Then 
     Target = CCur(Target * Multiplikator) 
   End If 
  Application.EnableEvents = True 
 End If 
End Sub 
 
 


Gruß Tino

Anzeige
AW: multiplikation mit vba
18.03.2009 19:43:42
Makrigiannis
tausend dank lieber tino...versuchs schon seit 2 tage vergebens auf eigener faust...schön das es dich gibt....grins
hat sofort gefunzt
danke nochmals
AW: multiplikation mit vba
18.03.2009 20:02:04
Makrigiannis
eine letzte frage:
kann ich den code für mehrere zeilen in einer spalte einsetzen? z.B. von B5-M5?
einfach eine Zeile ersetzen ...
18.03.2009 20:08:45
Matthias
Hallo
Ersetze diese Zeile:
If Target.Address = "$B$5" And IsNumeric(Target) Then
durch diese Zeile:
If Not Intersect(Target, Range("B5:M5")) Is Nothing And IsNumeric(Target) And Target.Count = 1 Then
Gruß Matthias
AW: multiplikation mit vba
18.03.2009 20:18:57
Tino
Hallo,
z. Bsp. so
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngZelle As Range
Const Multiplikator As Currency = 13

Application.EnableEvents = False
 
    For Each rngZelle In Target
     If Not Intersect(rngZelle, Range("B5:M5")) Is Nothing And IsNumeric(rngZelle) Then
       If rngZelle > 0 Then
         rngZelle = CCur(rngZelle * Multiplikator)
       End If
     End If
    Next rngZelle

Application.EnableEvents = True

End Sub


Gruß Tino

Anzeige
AW: multiplikation mit vba
18.03.2009 20:27:19
Makrigiannis
wow,
noch mals danke für die sehr schnellen und ausführlichen antworten...werd mal die codes einsetzen und ein feedback da lassen....
jiamas
AW: multiplikation mit vba
18.03.2009 20:55:01
Makrigiannis
wo steckt da der wurm?
wollt einen 2 spaltenabschnitt einen anderen multiplikator wählen (in diesem fall 42).
der erste abschnitt läuft einwandfrei,sobald ich den 2 abschnitt einfüge gibt es probleme.
ich weiß ich nerve...aber brauche die tabele für eine ertragskalkulation...is wichtig....
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngZelle As Range
Const Multiplikator As Currency = 13
Application.EnableEvents = False
For Each rngZelle In Target
If Not Intersect(rngZelle, Range("B5:M5")) Is Nothing And IsNumeric(rngZelle) Then
If rngZelle > 0 Then
rngZelle = CCur(rngZelle * Multiplikator)
End If
End If
If Not Intersect(rngZelle, Range("B8:M8")) Is Nothing And IsNumeric(rngZelle) Then
If rngZelle > 0 Then
rngZelle = CCur(rngZelle * Multiplikator)
End If
End If
If Not Intersect(rngZelle, Range("B11:M11")) Is Nothing And IsNumeric(rngZelle) Then
If rngZelle > 0 Then
rngZelle = CCur(rngZelle * Multiplikator)
End If
End If
Next rngZelle
Application.EnableEvents = True
End Sub


Option Explicit


Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngZelle As Range
Const Multiplikator As Currency = 42
Application.EnableEvents = False
For Each rngZelle In Target
If Not Intersect(rngZelle, Range("B6:M6")) Is Nothing And IsNumeric(rngZelle) Then
If rngZelle > 0 Then
rngZelle = CCur(rngZelle * Multiplikator)
End If
End If
If Not Intersect(rngZelle, Range("B9:M9")) Is Nothing And IsNumeric(rngZelle) Then
If rngZelle > 0 Then
rngZelle = CCur(rngZelle * Multiplikator)
End If
End If
If Not Intersect(rngZelle, Range("B12:M12")) Is Nothing And IsNumeric(rngZelle) Then
If rngZelle > 0 Then
rngZelle = CCur(rngZelle * Multiplikator)
End If
End If
Next rngZelle
Application.EnableEvents = True
End Sub


Anzeige
AW: multiplikation mit vba
18.03.2009 21:06:26
Gerd
jasu,
diese Prozedur kannst Du nur einmal ins Tabellenblattmodul einfügen.
Das ist halt so bei Ereignis-Prozeduren.
Ergo benötigtst Du zwei Multiplikatoren in dieser einen Prozedur.
Const Multiplikator1= 13
Const Multiplikator2= 42
Diese dann "unter den Bereichen" jeweils angeben.
Gruß Gerd
na so ...
18.03.2009 21:08:15
Matthias
Halo

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngZelle As Range
Const Multiplikator1 As Currency = 13
Const Multiplikator2 As Currency = 16
Const Multiplikator3 As Currency = 18
Application.EnableEvents = False
For Each rngZelle In Target
If Not Intersect(rngZelle, Range("B5:M5")) Is Nothing And IsNumeric(rngZelle) Then
If rngZelle > 0 Then
rngZelle = CCur(rngZelle * Multiplikator1)
End If
End If
If Not Intersect(rngZelle, Range("B8:M8")) Is Nothing And IsNumeric(rngZelle) Then
If rngZelle > 0 Then
rngZelle = CCur(rngZelle * Multiplikator2)
End If
End If
If Not Intersect(rngZelle, Range("B11:M11")) Is Nothing And IsNumeric(rngZelle) Then
If rngZelle > 0 Then
rngZelle = CCur(rngZelle * Multiplikator3)
End If
End If
Next rngZelle
Application.EnableEvents = True
End Sub


Gruß Matthias

Anzeige
AW: na so ...
18.03.2009 21:17:02
Makrigiannis
ohhhhh dankeeeeee,
ihr macht mich wirklich glücklich....
ich hoffe ich darf mich hier trotz all dem noch blicken lassen...grins
eine fette umarmung an alle
oT... na logisch, darst Du ... Grins zurück :o)
18.03.2009 21:20:36
Matthias
AW: multiplikation mit vba
18.03.2009 20:03:58
Gerd
Hallo,
ich habe mehr "zum Beispiel" verstanden.
1. Wert eingeben
2. Multiplikator eingeben.

Private Sub Worksheet_Change(ByVal Target As Range)
Static blnOld As Boolean
Static OldValue As Currency
If Target.Address = "$B$5" Then
Application.EnableEvents = False
If Target.Value = "" Then
blnOld = False: OldValue = 0
ElseIf blnOld Then
Target.Value = Target.Value * OldValue
blnOld = False: OldValue = 0
Else
OldValue = Target.Value: blnOld = True
Target.Select
End If
Application.EnableEvents = True
End If
End Sub


Gruß Gerd

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige