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

Inputbox mit Euro-Betrag Addition in Zelle

Inputbox mit Euro-Betrag Addition in Zelle
10.01.2004 15:12:58
Drummer
10.01.2004
Hi,
suchen für folgendes Problem eine Lösung.
In einem Tabellenblatt - davon sind in einer Mappe mehr als 30 Tabellenblätter - will in in einer Zelle, in der ein Euro-Betrag eingegeben wurde, folgendes erreichen. Sobald diese Zelle doppelt angeklickt wurde, soll sich eine Inputbox o.ä. öffnen, in der ebenfalls ein neuer Euro-Betrag engegeben wird, der nach schließen der Inputbox diesen neuen Euro-Betrag dem in der Zelle bereits vorhandenen hinzuaddiert wird. Somit hat dann diese Zelle immer den aktuellen, kompletten Euro-Betrag, der sich aus mehrmaligen Eingaben über die Inputbox addiert hat. Dies soll in den Zellen "O15" bis "O415" möglich sein.
Gut wäre natürlich, wenn auch ein Minusbetrag eingegeben werden könnte, der dann auch den vorhandenen Betrag in der doppelt angeklickten Zelle auch mindert.
Gibt's da eine Hile mit einen VBA-Code?
Gruß "Drummer"

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inputbox mit Euro-Betrag Addition in Zelle
10.01.2004 15:47:18
Nepumuk
Hallo Drummer,
ist die Prozedur für alle Tabellen in der Mappe die selbe?
Gruß
Nepumuk
AW: an Nepumuk
10.01.2004 16:37:09
Drummer
10.01.2004
Hallo Nepumuk, danke für Nachfrage. Die Prozedur ist für alle Tabellen in der Mappe die selbe! Es sind halt nur verschiedene Tabellen.
Gruß Drummer
AW: an Nepumuk
10.01.2004 16:56:56
Nepumuk
Hallo Drummer,
Rechtsklick auf das Excelicon neben Datei und im Kontextmenü "Code anzeigen" auswählen. Dann folgenden Code in das sich öffnende Editorfenster kopieren:

Option Explicit
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim varEingabe As Variant
If Target.Column = 15 And Target.Row >= 15 And Target.Row <= 415 Then
varEingabe = Application.InputBox("Bitte den Betrag eingeben.", "Eingabe", Type:=1)
If varEingabe <> False Then Target = Target + CDbl(varEingabe)
Cancel = True
End If
End Sub


Code eingefügt mit: Excel Code Jeanie
Fenster wieder schließen, fertig.
Gruß
Nepumuk
Anzeige
AW: Tausend Dank an Nepumuk u. Frage
10.01.2004 18:20:04
drummer
10.01.22004
Hallo Nepumuk,
Herzlichen Dank für schnelle Hilfe. Hab's direkt ausprobiert. Funktioniert optimal.
Nun doch eine Frage, wenn es nicht unverschämt ist. Kann man diese Eingaben auch für nur bestimmte Zellen, die nicht zusammenhängend sind, festlegen, Z.B. B5, B7 ... C6, C9 ...? Ist dies Codetechnisch auch machbar? Evtl. besteht ja die Variante die benötigten Eingabezellen mit einem Namen zu versehen. So könnte dann über den Namen für eine Zelle die Eingabeoption zur Verfügun stehen. Oder das Unsinn?
Gruß Drummer
AW: Tausend Dank an Nepumuk u. Frage
10.01.2004 18:33:44
Nepumuk
Hallo Drummer,
das ist kein Problem. Es gibt verschiedene Möglichkeiten, aber welche Methode letzendlich zur Verwendung kommt, hängt von der Anzahl der betroffenen Zellen ab. Mit Namen geht es zwar auch, aber ich mache Programme nur ungern davon abhängig.
Gruß
Nepumuk
P.S. Wenn ich die von dir verwendete Jahreszahl sehe, fühle ich mit plötzlich furchtbar alt. :-)
Anzeige
AW: Grundsätzlich Dank an Nepumuk
10.01.2004 19:09:13
Drummer
10.01.2004
Hi Nepumuk, mit den Eingaben (z.B. Jahreszahl) ist dies bei der Freude über deine praktikable Lösung wohl daneben gegangen. Sollte die Nachricht jemand im Jahr meiner Jahreszahl lesen wird er über unsere Excelproblemchen wohl nur lächeln können.
Nun die einzelen Zellen wären:
C47, E47, G47, i47, K47, M47
C79, E79, G79, i79, K79, M79
C113, E113, G113, i113, K113, M113,
C146, E146, G146, i146, K146, M146
C180, E180, G180, i180, K180, M180
C213, E213, G213, i213, K213, M213
C247, E247, G247, i247, K247, M247
C209, E209, G209, i209, K209, M209
C314, E314, G314, i314, K314, M314
C348, E348, G348, i348, K348, M348
C318, E381, G381, i381, K381, M381
C415, E415, G415, i415, K415, M415.
Wäre toll, wenn ich diese Variante noch bekommen könnte.
Erst einmal herzlichen Dank.
Gruß vom Drummer
Anzeige
AW: Grundsätzlich Dank an Nepumuk
11.01.2004 01:01:41
Nepumuk
Hallo Drummer,
prüf bitte deine Zahlen nochmal. Da kommt die 209 nach 247 und in Spalte C soll die Zeile 318 in den anderen 381 reagieren. Im Programm bin ich für letzteres mal von einem Zahlendreher ausgegangen. Die Zeile 209 kannst du bei Bedarf ja selbst noch korrigieren.

Option Explicit
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim varEingabe As Variant
If InStr(1, ",47,79,113,146,180,209,213,247,314,348,381,415,", "," & CStr(Target.Row) & ",") > 0 _
And InStr(1, ",3,5,7,9,11,13,", "," & CStr(Target.Column) & ",") > 0 Then
varEingabe = Application.InputBox("Bitte den Betrag eingeben.", "Eingabe", Type:=1)
If varEingabe <> False Then Target = Target + CDbl(varEingabe)
Cancel = True
End If
End Sub


Code eingefügt mit: Excel Code Jeanie
Gruß
Nepumuk
Anzeige
AW: an Nepumuk - Du hast Recht - Danke
11.01.2004 11:53:48
Drummer
11.01.2004
Hallo Nepumuk, ich hoffe, Du hast noch genug Schlaf nach der langen Nacht bekommen.
Danke für deine Nachricht und den Fehlerhinweis meiner Zellangaben. Richtig ist:
If InStr(1, ",47,79,113,146,180,213,247,281,314,348,381,415,"...
Ich habe die Zellenummern angepasst. Es klappt hervorragend. Du hast mir eine gute, praktikable Lösung fix und fertig erstellt.
Nochmal meinen herzlichen Dank!
Ich habe öfter mal ein Praxisproblem mit Excel. Werde gerne auf deine Hilfe im Exel-Forum zurück greifen.
Einen schönen Sonntag wünscht dir und allen Forumteilnehmern
der Drummer
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige