Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Makro - Umbuchung von einer summe
#1
Hallo Excel Freunde

Um mein Excel Datei weiter zu Arbeiten bauch ich ein Makro wo ein Umbuchung auf ein anderes Tabellenblatt macht.

Um eine Umbuchung zu machen habe ich mir überlegt:

In zelle "D10" Steht der Name des Konto´s Wo die Umbuchung hien soll.
Es Wird 6 Konten geben:
P. Privat 1 = Privat Konto 1 <-Name des Tabellenblatt
P. Privat 2 = Privat Konto 2 <-Name des tabellenblatt
u.s.w
z.B.: Wenn in zelle D10 -> "P. Konto 1" Steht, dann soll
in der Tabelle "Privat Konto 1" in der Letzten nicht beschriebenen Zeile:
*Vom Aktuellen Tabelle I9 -> Tabelle "Privat Konto 1" In die letzte Nicht beschriebene Zelle "E" (Target, 5)
*Vom Aktuellen Tabelle J9 -> Tabelle "Privat Konto 1" In die letzte Nicht beschriebene Zelle "F" (Target, 6)
*Vom Aktuellen Tabelle J10 -> Tabelle "Privat Konto 1"In die letzte Nicht beschriebene Zelle "K" (Target, 11)
*In der Aktuellen Tabelle Soll I9 soll auch In die letzte Nicht beschriebene Zelle "E" (Target, 5)
*In der Aktuellen Tabelle Soll J9 soll auch In die letzte Nicht beschriebene Zelle "F" (Target, 6)
*In der Aktuellen Tabelle Soll J10 soll auch In die letzte Nicht beschriebene Zelle "K" (Target, 11)
*Im Aktuellen Tabelle soll zelle 'Range("I9, F10:J10").ClearContents gelöscht werden.

Die Aktivierung ist per "Schaltfläche"

Kann mir da jemand Helfen Bitte?

MfG BD
Antworten Top
#2
Noch ein Beispiel: würde es aber gerne mit einer Schaltfläche Starten!
Code:
Private Sub worksheet_change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("D10:E10")) Is Nothing Then Exit Sub
'ActiveSheet.Unprotect Password:="Geheim"
Select Case Target.Value

Case 0 <-Hier soll "P.Konto 1" Stehen.
   'In Tabelle "Privat Konto 1" = Cells(Target.Row, 5) = (Cells(9, 9))
   'In Tabelle "Privat konto 1" = Cells(Target.Row, 6) = (Cells(9, 10))
   'In Tabelle "Privat Konto 1" = Cells(Target.Row, 11) = (Cells(10, 10))
   'Cells(Target.Row, 5) = (Cells(9, 9))
   'Cells(Target.Row, 6) = (Cells(9, 10))
   'Cells(Target.Row, 11) = (Cells(10, 10))
   'Cells(9, 9) = ""
   'Cells(10, 6) = ""
   'Cells(10, 10) = ""
Case 1 <-Hier soll "P. Konto 2" Stehen.

Case 2 <- u.s.w.
 
End Select
'ActiveSheet.Protect Password:="Geheim", DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Wie kann ich das machen, das ich um das Makro mit einer Schaltfläche zu Aktivieren?
Wie kann ich das machen, das die änderund auf einem Anderen Tabellenblatt gemacht werden?
Wie kann ich das machen, das Hinter "Case" Der name wie "P. Privat 1" wo aus Zelle D10 geholt wird?

Bitte Kann mir jemand Helfen?

MfG BD
Antworten Top
#3
Kann mir denn keiner Helfen?

Ich habe natürlich mal selber ein wenig Probiert, und bin zu diesem Makro gestossen:
Zitat:Sub Test_14()
Dim Umbuchung As String
Umbuchung = Range("D10")
   Select Case Umbuchung
       Case "P. Konto 1"
           Cells(Target.Row, 5) = (Cells(9, 9))
           Cells(1, 2) = ""
       Case "P. Konto 2"
           Cells(3, 5) = (Cells(1, 2))
       Case "P. Konto 3"
           Cells(4, 5) = (Cells(1, 2))
       Case "P. Konto 4"
           Cells(5, 5) = (Cells(1, 2))
       Case "G. Konto 1"
           Cells(6, 5) = (Cells(1, 2))
       Case "G. Konto 2"
           Cells(7, 5) = (Cells(1, 2))
       End Select
End Sub
Der Rot Makierte Text geht aber nicht, Wo mir sagen soll der Werd von "I9" soll in die Letzt Freie Zelle in Spalt "E" im
Bereich von ("E12:E1010").

Gibt es da eine Möglich keit?
Bitte um Hilfe!

MfG BD
Antworten Top
#4
Hi,

(23.03.2015, 10:24)BadDog81 schrieb:            Cells(Target.Row, 5) = (Cells(9, 9))
[...]
Der Rot Makierte Text geht aber nicht, Wo mir sagen soll der Werd von "I9" soll in die Letzt Freie Zelle in Spalt "E" im
Bereich von ("E12:E1010").

ich dachte seither immer, Target.Row ist die Zeile, in der der Cursor gerade steht und nicht die erste freie Zelle.
Die letzte freie Zelle ist doch gaaaaanz unten.

Tipp:
Suche mal im Forum nach dem Begriff "loLetzte", die dort gefundene Codezeile ermittelt die letzte belegte Zelle in der Spalte und dann noch +1, dann bist du in der ersten freien.
Antworten Top
#5
Hallo Ralf

erst mal danke für deine Antwort.
Ich habe mich mal selber versuch und einige Lösungen gefunden
aber das Makro ist noch nicht Fertig:
Code:
Public Sub Umbuchung()
Dim Umbuchung As String
'letztezeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
A = Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row + 1
B = Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row + 1
C = Sheets("Tabelle3").Cells(Rows.Count, 1).End(xlUp).Row + 1
'Die Obere Zeilen A,B,C noch einen Genauen Bereich hinzufügen z.B.: ("A2:A20")
Umbuchung = Range("D1")
   Select Case Umbuchung
       Case "P. Privat 1"
           'Beispiel bezieht Sich nur auf "P. Konto 1" und "P. Konto 2"
           Cells(A, 1) = (Cells(1, 1))
           Sheets("Tabelle2").Cells(B, 1) = (Sheets("Tabelle1").Cells(1, 1))
           Cells(A, 2) = "Umbuchung auf Konto 2"
           Sheets("Tabelle2").Cells(B, 2) = "Umbuchung von Konto 1"
           Cells(A, 3) = (Cells(1, 3))
           Sheets("Tabelle2").Cells(B, 3) = (Sheets("Tabelle1").Cells(1, 3))
           Cells(1, 1) = ""
           Cells(1, 3) = ""
       Case "P. Privat 2"
           Cells(A, 1) = (Cells(1, 1))
           Sheets("Tabelle3").Cells(C, 1) = (Sheets("Tabelle1").Cells(1, 1))
           Cells(A, 2) = "Umbuchung auf Konto 3"
           Sheets("Tabelle3").Cells(C, 2) = "Umbuchung von Konto 1"
           Cells(A, 3) = (Cells(1, 3))
           Sheets("Tabelle3").Cells(C, 3) = (Sheets("Tabelle1").Cells(1, 3))
           Cells(1, 1) = ""
           Cells(1, 3) = ""
       Case "P. Privat 3"
           'Cells(4, 5) = (Cells(1, 2))
       Case "P. Privat 4"
           'Cells(5, 5) = (Cells(1, 2))
       Case "P. Privat 5"
           'Cells(6, 5) = (Cells(1, 2))
       Case "P. Privat 6"
           'Cells(7, 5) = (Cells(1, 2))
   End Select
End Sub
Hier mal ein Beispiel.

Weitere Fragen:
* Gibt es die Möglichkeit denn Bereich A;B;C in nur einem Bestimmten Bereich ausfüchren zu Lassen?
z.B.: A2:A20
* Da ich von einem zum anderem Konto Geld Buche Müste das in dem Makro zeile abgezogen werden.
Cells(A, 3) = (Cells(1, 3)) so zu sagen Cells(A, 3) die gleich summe mit minus davor, was für möglichkeiten gibt es?

Bitte um Hilfe!
Hier noch eine Test Datei

MfG BD


Angehängte Dateien
.xlsm   Umbuchungs Test.xlsm (Größe: 24,52 KB / Downloads: 1)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste