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
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
Top
#3
Danke

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

vor der Zeile "Spalte=6"

Dim Spalte as Integer

einfügen.

Gruß,
Lutz
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)
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
Top
#7
Smile 
Super !!!
Danke
Jetzt funzt es
Top


Gehe zu:


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