Mehrwertsteuer für ausgewählten Betrag bzw. Zelle

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Mehrwertsteuer für ausgewählten Betrag bzw. Zelle
von: Dirk
Geschrieben am: 22.03.2005 10:37:49
Guten Morgen zusammen,
kann mir jemand den VBA-Code geben, mit dem ich zu dem Wert einer ausgewählten Zelle die Mehrwertsteuer draufrechnen und den Gesamtbetrag dann 2-3 Zeilen tiefer (oder auch durch Zellauswahl) einfügen kann?
Die Zelle, für welche die Mwst-Berechnung stattfinden soll, muss (durch Mausklick) wählbar sein und wenn die gewählte Zelle leer ist, wäre eine MesgBox mit Fehlermeldung nicht schlecht.
Ist eigentlich keine schwere Sache, ich weiss. Aber hab noch Probleme es nicht auf Zellen zu fixieren, also dass die gewählte Zelle (die immer eine andere ist) zur Berechnung genommen wird.
Ich danke euch schon mal im Voraus für alle LÖsungen und es dürfen gerne auch mehr sein.
Liebe Grüße,
Dirk

Bild

Betrifft: AW: Mehrwertsteuer für ausgewählten Betrag bzw. Zelle
von: Andi
Geschrieben am: 22.03.2005 10:49:07
Hi,
probier mal das hier:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo errorhandler
If Target.Value = "" Then
  MsgBox "Die ausgewählte Zelle ist leer"
  Exit Sub
End If
Cells(Target.Row + 2, Target.Column).Value = Target.Value * 1.16
Exit Sub
errorhandler:
If Err = 13 Then
  MsgBox "Bitte wählen Sie eine Zelle mit einer Zahl aus"
Else
  MsgBox "Unbekannter Fehler"
End If
End Sub

Schönen Gruß,
Andi
Bild

Betrifft: Nachtrag
von: Andi
Geschrieben am: 22.03.2005 11:16:29
Hi nochmal,
wenn Du die Ziel-Zelle auswählen möchtest, kannst Du das mit folgendem Code per Inputbox machen (hab ich mit Hilfe der Herber-VBA-Beispiele gebastelt, die Eingabe einer Zelle per Inputbox ist leider nicht auf meinem eigenen Mist gewachsen)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo errorhandler
Dim ziel As Range
If Target.Value = "" Then
  MsgBox "Die ausgewählte Zelle ist leer"
  Exit Sub
End If
Set ziel = Application.InputBox("In welche Zelle soll das Ergebnis geschrieben werden?", Type:=8)
ziel.Value = Target.Value * 1.16
Exit Sub
errorhandler:
If Err = 13 Then
  MsgBox "Bitte wählen Sie eine Zelle mit einer Zahl aus"
Else
  MsgBox "Unbekannter Fehler"
End If
End Sub

Schönen Gruß,
Andi
Bild

Betrifft: AW: Nachtrag
von: Dirk
Geschrieben am: 22.03.2005 13:30:29
Hallo Andi,
leider bekomme ich folgenden Fehler bezüglich der ersten Zeile:
Mehrdeutiger Name: Worksheet_SelectionChange.
Muss ich außerdem das Private Sub immer in einem "normalen" Sub aufrufen, oder geht das auch direkt. Es wird sonst nicht als Prozedur erkannt.
Gruß, Dirk
Bild

Betrifft: AW: Nachtrag
von: Andi
Geschrieben am: 22.03.2005 14:12:39
Hi,
wo hast Du denn den Code hinkopiert? Er gehört in das Modul des betreffenden Tabellenblatts, und wird dann automatisch jedesmal abgearbeitet, wennn eine neue Zelle angeklickt wird. Einen extra Aufruf brauchst Du dann nicht mehr.
Schönen Gruß,
Andi
Bild

Betrifft: AW: Nachtrag
von: Dirk
Geschrieben am: 22.03.2005 14:25:36
Hallo Andi.
Ich wusste nicht, dass es eine interne Routine ist, aber hab es jetzt hinbekommen und es funktioniert auch so wie ich es mir vorgestellt habe.
Nur will ich die Funktion erst durch einen Button aufrufen (und nicht immer), doch hab ich das noch nicht ganz hinbekommen. Vielleicht kannst du mir noch weiterhelfen. Momentan sieht es so aus:
=========================================

Private Sub CommandButton1_Click()
'On Error GoTo errorhandler
Dim target As Range
Dim ziel As Range
target = ActiveSheet.Cells  >> Hier gibt es allerdings eine Fehlermeldung!
If target.Value = "" Then
  MsgBox "Die ausgewählte Zelle ist leer"
  Exit Sub
End If
Set ziel = Application.InputBox("In welche Zelle soll das Ergebnis geschrieben werden?", Type:=8)
ziel.Value = target.Value * 1.16
Exit Sub
errorhandler:
If Err = 13 Then
  MsgBox "Bitte wählen Sie eine Zelle mit einer Zahl aus"
Else
  MsgBox "Unbekannter Fehler"
End If
End Sub

================================================
Wäre super, wenn du mir da noch helfen könntest.
Gruß, Dirk
Bild

Betrifft: AW: Nachtrag
von: Andi
Geschrieben am: 22.03.2005 15:08:17
Hi,
soweit ich weiss, kann man, während die Routine eines CommandButton abgearbeitet wird, keine Zellen anklicken (eventuelle Mitleser mögen mich ggf gern eines besseren belehren...). Ich hab's deshalb über ne Checkbox gelöst (die Du natürlich noch auf Dein Arbeitsblatt einfügen musst). Wenn die Checkbox angeklicht ist, dann wird der Code ausgeführt, wenn sie nicht angeklickt ist, passiert nix.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo errorhandler
Dim ziel As Range
If CheckBox1.Value = False Then Exit Sub
If Target.Value = "" Then
  MsgBox "Die ausgewählte Zelle ist leer"
  Exit Sub
End If
Set ziel = Application.InputBox("In welche Zelle soll das Ergebnis geschrieben werden?", Type:=8)
ziel.Value = Target.Value * 1.16
Exit Sub
errorhandler:
If Err = 13 Then
  MsgBox "Bitte wählen Sie eine Zelle mit einer Zahl aus"
Else
  MsgBox "Unbekannter Fehler"
End If
End Sub

Ich hoffe, das hilft Dir.
Schönen Gruß,
Andi
Bild

Betrifft: AW: Nachtrag
von: Dirk
Geschrieben am: 22.03.2005 15:26:46
Hi,
ist nicht schlecht so und funktioniert, aber ist halt schon etwas umständlich.
Ginge es denn wenn man das erste Beispiel nimmt und den Betrag einfach 2 Zellen unter der ausgewählten Zelle einfügt?
Die Zelle zur Berechnung wird dann vor dem Button ausgewählt.
Hoff ich höre nochmal von dir.
Gruß, Dirk
Bild

Betrifft: AW: Nachtrag
von: Andi
Geschrieben am: 22.03.2005 15:36:40
Hi,
ja, das geht, und zwar so:
Private Sub CommandButton1_Click()
On Error GoTo errorhandler
If Selection.Value = "" Then
MsgBox "Die ausgewählte Zelle ist leer"
Exit Sub
End If
Cells(Selection.Row + 2, Selection.Column).Value = Selection.Value * 1.16
Exit Sub
errorhandler:
If Err = 13 Then
MsgBox "Bitte wählen Sie eine Zelle mit einer Zahl aus"
Else
MsgBox "Unbekannter Fehler"
End If
Schönen Gruß,
Andi
Bild

Betrifft: AW: Nachtrag
von: Dirk
Geschrieben am: 22.03.2005 16:08:03
Hallo.
Super. Ich glaub das ist die feinere Lösung. Damit kann ich mich anfreunden ;-)
Vielen Dank.
Gruß, Dirk
Bild

Betrifft: Gern geschehen... (ot)
von: Andi
Geschrieben am: 22.03.2005 16:43:40
.
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Mehrwertsteuer für ausgewählten Betrag bzw. Zelle"