Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1424to1428
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sheet-Wechsel

Sheet-Wechsel
12.05.2015 10:51:45
Larissa
Ich habe folgendes Problem mit dem Wechseln von Mappen innerhalb eines Workbooks:
Sub Copy()
Dim Zeile As Long
Set Ziel = ThisWorkbook
ZeileMax = Ziel.Worksheets(1).UsedRange.Rows.Count
n = 2
For Zeile = 2 To ZeileMax
If Ziel.Worksheets(1).Cells(Zeile, 3).Value Like "S-*" Then
Ziel.Worksheets(1).Range("A" & Zeile & ":H" & Zeile).Select
Selection.Copy
Ziel.Worksheets(3).Range("A" & n).Select
ActiveSheet.Paste
n = n + 1
End If
Next
End Sub

Laufzeitfehler 1004; Die Select-Methode des Range-Objektes konnte nicht ausgeführt werden.
Ich verstehe nicht, wieso der Wechsel nicht klappt. Ich markiere in Sheet1 die Zeilen und möchte sie in Zeile 3 kopieren.
Wo ist mein Denkfehler?

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sheet-Wechsel
12.05.2015 10:54:28
Hajo_Zi
Select, Activate usw. ist in VBA zu 99,9% nicht notwendig.
Der Cursor ist kein Hund der überall rumgeführt werden muss.
Hinweise zu select usw. Hajo-Excel.de
Hinweise zu select usw. Online-Excel.de
Hinweise zu select usw. Online-Excel.de
Sub Copy()
Dim Zeile As Long
Set Ziel = ThisWorkbook
ZeileMax = Ziel.Worksheets(1).UsedRange.Rows.Count
n = 2
For Zeile = 2 To ZeileMax
If Ziel.Worksheets(1).Cells(Zeile, 3).Value Like "S-*" Then
Ziel.Worksheets(1).Range("A" & Zeile & ":H" & Zeile).Copy Ziel.Worksheets(3).Range("A" & _
n)
n = n + 1
End If
Next
End Sub

Anzeige
AW: Sheet-Wechsel
12.05.2015 11:16:04
Larissa
Vielen Dank!

AW: Sheet-Wechsel
12.05.2015 11:06:26
Rudi
Hallo,
Sub Kopieren()
Dim Zeile As Long, n As Long, ZeileMax As Long, Ziel As Workbook
Application.ScreenUpdating = False
Set Ziel = ThisWorkbook
n = 2
With Ziel.Worksheets(1)
ZeileMax = .UsedRange.Rows.Count
For Zeile = 2 To ZeileMax
If .Cells(Zeile, 3).Value Like "S-*" Then
.Cells(Zeile, 1).Resize(, 8).Copy Ziel.Worksheets(3).Cells(n, 1)
n = n + 1
End If
Next
End With
End Sub
Verwende keine VBA-Schlüsselwörter (hier: Copy) als Prozedurnamen, Variablen etc.!
Gruß
Rudi

AW: Sheet-Wechsel
12.05.2015 12:21:54
Daniel
Hi
der .Select-Befehl kann für Zellen immer nur auf dem aktiven Blatt ausgeführt werden.
du müsstest also erst das Blatt und dann auf dem aktiven Blatt den Zellbereich selektieren

Ziel.Activate
ActiveWorkbook.Worksheets(1).Select
ActiveSheet.Range("A" & Zeile & ":H" & Zeile).Select

direkt funktioniert es mit
Application.Goto Ziel.Worksheets(1).Range("A" & Zeile & ":H" & Zeile)
dass das Selektieren in den meisten Fällen nicht notwendig ist, wurde dir ja schonn erklärt.
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige