Collapse column

Autor Thema: Office 2013: Zeilen bei Bedingung in andere Tabelle verschieben  (Gelesen 983 mal)

Offline Thomas78

  • Newbie
  • *
  • Beiträge: 2
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Ohne
  • Version [Office] : Office 2013
Office 2013: Zeilen bei Bedingung in andere Tabelle verschieben
« am: Dezember 13, 2016, 08:58:50 Vormittag »
Hallo zusammen,

und schonmal vorab Entschuldigung, dass ich eine Frage stelle die bereits 1000mal gestellt und beantwortet wurde. Ich habe mir diese versucht auf meine Tabelle umzuschreiben, aber ich komme einfach nicht klar.

Ich habe folgende Tabelle im Tabellenblatt "offene Forderungen":
                  
A      B            C                      D              E                      F                              G
...                  
4      Rechnungsdatum   Rechnungsnummer   Kunde   Betrag           Eingangsdatum   Bemerkungen
5      01.01.2016           123456                   asdads   1.000,00 €   01.02.2016   
6                  
7                  
8                  
9                  
...

Ich möchte nun sobald in Spalte F ein Datum eingegeben wird die komplette Zeile ausschneiden und in die gleiche Tabelle in Tabellenblatt "Archiv Forderungen" verschieben. Die alte Tabelle soll natürlich um die ausgeschnittene Zeile nach oben rutschen. Außerdem soll wenn in der Tabelle in Tabellenblatt "Archiv Forderungen" ein Datum gelöscht wird, diese Zeile wieder in die Tabelle im Tabellenblatt "offene Forderungen" zurückverschoben werden.

Da ich immer nur einen VBA Code für andere Tabellen hatte und ich mich mit VBA nullkommanull auskenne konnte ich diesen Code nicht auf meine Tabelle umschreiben. Auch wie ich diesen Code genau eingeben muss (welches Tabellenblatt usw.) erschließt sich mir nicht. :-[

Falls sich trotz meiner Unwissenheit jemand finden sollte der mir hier weiterhelfen kann wäre ich superglücklich !!!

Vielen Dank schonmal im voraus

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline gmg-cc

  • Hero Member
  • *****
  • Beiträge: 1.321
    • Profil anzeigen
    • Meine Webseite
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw:Office 2013: Zeilen bei Bedingung in andere Tabelle verschieben
« Antwort #1 am: Dezember 13, 2016, 10:34:33 Vormittag »
Moin,
kein VBA zu können ist ja an sich nichts schlimmes.
Aber damit im kaufmännischen Bereich zu arbeiten, ohne erforderliche Anpassungen vornehmen zu können …  :'(

Ich glaube, dass du auf Dauer mit einer (notfalls auch kostenlosen) FiBu wesentlich besser bedient bist. Vielfach gibt es auch noch eine kleine WaWi dazu. Und wenn du zukunftssicher arbeiten willst, dann investiert du ein paar Euro in eine der sehr preiswerten Lösungen von den großen Firmen des Bereichs für Kleinbetriebe.
Gruß
Günther

Offline Thomas78

  • Newbie
  • *
  • Beiträge: 2
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Ohne
  • Version [Office] : Office 2013
Antw:Office 2013: Zeilen bei Bedingung in andere Tabelle verschieben
« Antwort #2 am: Dezember 13, 2016, 12:12:24 Nachmittag »
Hallo gmg-cc,

danke für den Hinweis, da es sich aber um eine Tabelle handelt in der nur Werte eingegeben werden und keine Änderungen stattfinden möchte ich dies über Excel lösen.

Mittlerweile habe ich "Glück des Dummen?) doch tatsächlich selbst die Lösung gefunden. Falls es jemanden weiterhilft...

In das Arbeitsblatt "offene Forderungen" habe ich folgenden Code eingefügt:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range
Dim lRow As Long, zRow As Long

On Error GoTo FehlerHandler

lRow = Sheets("offene Forderungen").Range("B" & Rows.Count).End(xlUp).Row
zRow = Sheets("Archiv Forderungen").Range("B" & Rows.Count).End(xlUp).Row + 1

Set Bereich = Sheets("offene Forderungen").Range("F6:F" & lRow)

If Not Intersect(Target, Bereich) Is Nothing Then
    If IsDate(Target.Value) = True And Target.Value <> "" Then
   
    With Range("B" & Target.Row & ":G" & Target.Row)
    .Copy Destination:=Sheets("Archiv Forderungen").Range("B" & zRow)
   
Application.EnableEvents = False
    .Delete Shift:=xlShiftUp
    End With
    End If
End If
Application.EnableEvents = True
Exit Sub

FehlerHandler:
Application.EnableEvents = True
End Sub


vielen Dank nochmal an alle die sich Gedanken gemacht haben.

Schöne Grüße Thomas

Wenn du dich noch intensiver mit Excel beschäftigen möchtest, dann empfiehlt sich ein Online-Kurs,
in dem du sehr viel über Excel erfährst und das gelernte umgehend in der Praxis anwenden kannst.