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.

kleine VBA Programmierung
#1
Hallo
ich hab keine Erfahrung mit VBA Programmierung, aber ich würde gerne ein Makro programmieren, welches
- Bereiche eines Tabellenblattes markiert und an eine andere Stelle kopiert
- dann zwei Spalten weiterspringt, wieder einen ähnlichen Bereich markiert und 26 Zeilen weiter unten (an das vorher kopierte anschliessend) kopiert

so weit bin ich bisher gekommen:

Sub Spaltenuntereinander2()
'


    Range("F7:G32").Select
    Selection.Copy
    Range("D33").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
       
        Range("H7:I32").Select
   
    Selection.Copy
    Range("D59").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
       

End Sub


Dies könnte ich nun einige 100 male wiederhollen, will ich aber nicht sondern ich möchte eine Schleife haben bis alles untereinander kopiert wurde

Danke vorab für eure Hilfe
Antwortento top
#2
Hallo Ruben,

probier mal das:
Code:
Public Sub Test()

Spalte = 6

Do
    Range(Cells(7, Spalte), Cells(32, Spalte + 1)).Select
    Selection.Copy
    Cells(ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row + 1, 4).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

    Spalte = Spalte + 2

Loop Until Spalte > ActiveSheet.Cells(7, Columns.Count).End(xlToLeft).Column

End Sub

Gruß,
Lutz
Antwortento top
#3
Danke

Ich bekomme die Fehlermeldung beim ersten Schritt: Fehler beim Kompilieren: Variable nicht definiert
Antwortento top
#4
Hallo Ruben,

vor der Zeile "Spalte=6"

Dim Spalte as Integer

einfügen.

Gruß,
Lutz
Antwortento top
#5
Mein code sieht jetzt so aus:

Public Sub Test()
Dim Spalte As Integer
Spalte = 6

Do
    Range(Cells(7, Spalte), Cells(32, Spalte + 1)).Select
    Selection.Copy
    Cells(ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row + 1, 4).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub


Ich bekomme nun die Meldung:Fehler beim Kompilieren: Do ohne Loop


Angehängte Dateien
.xlsm   CÜ neu - mit MAKROsV3e.xlsm (Größe: 55,15 KB / Downloads: 0)
Antwortento top
#6
Hallo Ruben,

Du hast die letzen beiden Zeilen nicht kopiert:
Code:
    Spalte = Spalte + 2

Loop Until Spalte > ActiveSheet.Cells(7, Columns.Count).End(xlToLeft).Column
Gruß,
Lutz
Antwortento top
#7
Smile 
Super !!!
Danke
Jetzt funzt es
Antwortento top


Gehe zu:


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