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.
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
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?
(23.03.2015, 11: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.
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?