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.

Copy/Paste VBA
#1
Hallo zusammen Smile

Ich versuche einen Prozess zu automatisieren, scheitere aber an den notwendigen VBA Skills.
Ich habe schon diverse Ansätze aus Foren ausprobiert, konnte sie aber nicht adaptieren...

Folgende Tabelle:
siehe Anhang als Beispieltabelle

2 Schritte sollen ausgeführt werden:

1) wenn in Spalte B (Bereich B8:B24) der Wert "done" steht, dann konvertiere die Formel in der gleichen Zeile in den Spalten J:M in Werte
2) wenn in Spalte B (Bereich B8:B24) der Wert "copy" steht, dann kopiere die Formel aus dem Bereich J6:M6 und füge sie in der gleichen Zeile (Wert "copy" in Spalte B) in die Spalten J:M

Ich würde mich über jeden Ansatz freuen.

Vielen Dank,

silverchair


Angehängte Dateien
.xlsm   CopyPasteVBA.xlsm (Größe: 13,91 KB / Downloads: 3)
Antworten Top
#2
Hallo

das kleine makro reicht aus um diese Aufgabe auszuführen. In Modul1 kopieren und per Button starten.
Bei Worksheets("Demo") bitte den richtigen Tabellen Namen der Originaldatei angeben!!

mfg Gast 123

Code:
Sub Auswertung()
Dim AC As Range, lz1 As Long
'** bitte deine Tabelle angeben!!
With Worksheets("Demo")
    lz1 = .Range("B7").End(xlDown).Row
    For Each AC In .Range("B6:B" & lz1)
        If AC.Value = "done" Then
           AC.Offset(0, 8).Resize(1, 4).Value = _
           AC.Offset(0, 8).Resize(1, 4).Value
        ElseIf AC.Value = "copy" Then
          .Range("J5:M5").Copy
          AC.Offset(0, 8).PasteSpecial xlPasteFormulas
        End If
    Next AC
End With
End Sub
Antworten Top


Gehe zu:


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