Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


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
to 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
to 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
to 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.
Gruß Ralf

?mage

Die deutsche Rechtschreibung ist Freeware, d.h. du kannst sie kostenlos nutzen.
Allerdings ist sie nicht Open Source, deswegen darfst du sie nicht verändern oder in veränderter Form veröffentlichen.
to 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: 0)
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Zellen Summe verstecken (VBA Makro Befehl ) Kj91 15 187 18.11.2016, 13:30
Letzter Beitrag: Kj91
  [S] Makro - alle Werte aus einer Dropdownliste einzeln ausw. und dann jew. speich bernd99 5 190 13.10.2016, 16:09
Letzter Beitrag: schauan
  Formel für die Bildung einer Summe (Tabellenübergreifend) sveninho11 4 426 31.05.2016, 09:50
Letzter Beitrag: sveninho11
  Summe von bestimmten Monaten aus einer Tabelle ermitteln sveninho11 7 402 18.04.2016, 10:51
Letzter Beitrag: sveninho11
  SUMME aus einer gefilterten Tabelle Scolex2015 11 1.162 27.12.2015, 14:38
Letzter Beitrag: schauan
  Summe einer Spalten, Ergebnis in 2. Spalte Exelgo 10 2.142 02.11.2014, 22:34
Letzter Beitrag: Rabe

Gehe zu:


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