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.

Zeilen Verschieben mit Makro
#1
Hallo zusammen,
 
ich bin neu in diesem Forum und benötige euren Rat zu folgendem Problem.
Ich habe in einem Excel Tabellenblatt hunderte verschiedene Bauvorhaben angeführt (Spalte B). Unter anderem soll damit über einen Zeitraum von 3 Jahren eine grobe Personaleinsatzsteuerung gemacht werden.
Für jedes Bauvorhaben sind 9 Zeilen für die erforderlichen Ressourcen (Spalte C) angelegt. (Zeile 7 Bauleiter Bauvorhaben 1, Zeile 8 Polier Bauvorhaben 1, Zeile 9 Kranfahrer Bauvorhaben 1, usw.).
Die Spalten D bis APG stellen die einzelnen Kalendertage (2020-2022) dar. Hier wird die jeweils erforderliche Anzahl an Kranfahrer, Polier usw. tagesgenau eingetragen.
 
Mein Problem:
Angenommen einige dieser (hunderte) Bauvorheben verschieben sich nach vor oder zurück. Kann man ein Makro erstellen, das die Zeile der zugehörigen Ressource (Bauleiter, Kranfahrer...) automatisch um eine bestimmte Anzahl an Tagen nach rechts (Späteres Datum) oder nach links (früheres Datum) verschiebt.? So ähnlich wie bei dem YouTube Video „Google Tabellen“     https://www.youtube.com/watch?v=Dj7DKAK0rbs
 
Im Anhang habe ich einen kleinen Ausschnitt der Datei angefügt.

Ich wäre euch echt dankbar für einige Ratschläge wie ich das hinbekommen kann.
 
LG STM


Angehängte Dateien
.xlsx   Kopie von Zeilen Verschieben.xlsx (Größe: 168,81 KB / Downloads: 3)
Antworten Top
#2
Hi
das sollte helfen

Code:
Sub Verschieben()
    Dim lVerschiebung As Long
    Dim a As Range, b As Range, c As String
   
    With ActiveSheet.Columns("B")
        Set a = .Find(InputBox("Projektname", , "Bauvorhaben 1"))
        lVerschiebung = InputBox("Verschiebug in Tagen")
        If Not a Is Nothing Then
            c = a.Address
            Do
                If lVerschiebung < 0 Then
                    Set b = Range(a.Offset(, 2 - lVerschiebung), Cells(a.Row, Columns.Count).End(xlToLeft))
                    b.Offset(, lVerschiebung) = b.Value
                    b.Offset(, b.Columns.Count + lVerschiebung).Resize(, -lVerschiebung).Clear
                Else
                    Set b = Range(a.Offset(, 2), Cells(a.Row, Columns.Count).End(xlToLeft))
                    b.Offset(, lVerschiebung) = b.Value
                    b.Resize(, lVerschiebung).Clear
                End If
                Set a = .FindNext(a)
            Loop While Not a Is Nothing And a.Address <> c
        End If
    End With
End Sub



Viel Erfolg.
Antworten Top


Gehe zu:


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