Hallo Josi,
Du hast vergessen, den Cell bzw. Row-Term einzusetzen. ActiveSheet hat keine Parameter. Siehe Sub Test1.
Ich nehme an, Du möchtest das Schleifenprogrammieren üben, denn sonst könntest Du ja auch alles in einem Rutsch kopieren. Sub Test2
Falls Du nur Werte übernehmen wolltest, kannst Du diese auch direkt übernehmen, ohne Kopieren. Das geht bei größeren Mengen deutlich schneller.
Code:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 |
|
Sub Test()
Dim last As Integer
last = Worksheets(2).Cells(Rows.Count, 1).End(xlUp).Row + 1
'Falls der Button angewählt ist, sollen mehrere Zeilen aus dem einen Tabellenblatt ins andere kopiert werden
If OptionButton_SS3 = True Then
For m = 2 To 8
ActiveSheet.Rows(m & ":" & m).Copy Destination:=Worksheets(2).Cells(last, 1)
last = last + 1
Next m
End If
End Sub
Sub Test2()
Dim last As Integer
last = Worksheets(2).Cells(Rows.Count, 1).End(xlUp).Row + 1
If OptionButton_SS3 = True Then
ActiveSheet.Rows("2:8").Copy Destination:=Worksheets(2).Cells(last, 1)
End If
End Sub
Sub Test3()
'nur Werte
Dim last As Integer
last = Worksheets(2).Cells(Rows.Count, 1).End(xlUp).Row + 1
If OptionButton_SS3 = True Then
Worksheets(2).Cells(last, 1).Resize(7, 1).EntireRow.Value = ActiveSheet.Rows("2:8").Value
End If
End Sub
|
_________
viele Grüße
Karl-Heinz
|