murat1895 Geschrieben 11. August 2011 Geschrieben 11. August 2011 Sehr geschätztes Forum, Ich beschäftige mich seit gestern mit VBA. Habe nun einen Fehler, den ich nicht zu beheben weiß. Vorab der Code: Sub ZeileKopieren() Dim i As Integer Sheets("Tabelle1").Activate For i = 2 To 1200 If Cells(i, 1).Value = "Test" Then Range(Cells(i, 1).Value, Cells(i, 256)).Select Selection.Copy Sheets("Tabelle7").Range("A1:A1200").Find("").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False End If Sheets("Tabelle1").Activate ActiveCell.Offset(i + 1, 2).Select Next i End Sub Nun die Fehlermeldung: Index außerhalb des gültigen Bereichs Sinn und Zweck der ganzen Geschichte ist, das ich eine Tabelle mit etlichen Datensätzen habe. Diese Datensätze haben sehr viele Leerstehende Attribute (Spalten). Damit man einen schnelleren und besseren Überblick bekommt, versuche ich nun einen Datensatz zu filtern, indem die leerstehenden Attribute wegfallen. Als Ansatz hierfür habe ich mir zunächst überlegt einen ganzen Tupel der einer Bedingung (In diesem Fall "Test" irgendwo in Spalte1) entspricht, herüber zu kopieren. Vielen Dank für eure Hilfe! Visit Me at Turorials - A. Menger Zitieren
MartinSt Geschrieben 11. August 2011 Geschrieben 11. August 2011 Bitte benutze Codeeinrückungen. Möglicherweise liegt es an Cells(i, 1).Value; soll dieses ein Zellbereich des Sheets sein oder ist das eine Variable? Gruß Martin Zitieren
murat1895 Geschrieben 11. August 2011 Autor Geschrieben 11. August 2011 Sorry, hatte ich vergessen! Nun ist´s zu spät um zu Bearbeiten. Cells(i, 1).Value sollte ein Zellbereich sein Zitieren
MartinSt Geschrieben 11. August 2011 Geschrieben 11. August 2011 Und wo? In welchem Sheet? Muß man den dann nicht auch über das Sheet adressieren? Zitieren
murat1895 Geschrieben 11. August 2011 Autor Geschrieben 11. August 2011 Naja, dies habe ich doch schon mit: Sheets("Tabelle1").Activate gemacht oder nicht?! Zitieren
MartinSt Geschrieben 11. August 2011 Geschrieben 11. August 2011 .activate aktiviert nur das Sheet Zitieren
murat1895 Geschrieben 11. August 2011 Autor Geschrieben 11. August 2011 Achso, ich dachte, nachfolgendes würde sich auf diesen Sheet dann beziehen. Naja wenn dem so nicht ist sollte es ja mit: Sheets("Tabelle1").Range(Cells(i, 1).Value, Cells(i, 256)).Select laufen, aber es erscheint immernoch dieselbe Fehlermeldung Zitieren
MartinSt Geschrieben 11. August 2011 Geschrieben 11. August 2011 poste mal bitte den neuen kompletten Code Zitieren
murat1895 Geschrieben 12. August 2011 Autor Geschrieben 12. August 2011 Sub banane() Dim i As Integer Sheets("Tabelle1").Activate For i = 2 To 300 If Sheets("Tabelle1").Cells(i, 1).Value = "123" Then Sheets("Tabelle1").Range(Cells(i, 1).Value, Cells(i, 256)).Select Selection.Copy Sheets("Tabelle7").Range("A1:A1200").Find("").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False End If Sheets("Tabelle1").Activate ActiveCell.Offset(i + 1, 2).Select Next i End Sub Das isser Zitieren
MartinSt Geschrieben 12. August 2011 Geschrieben 12. August 2011 und in welcher Zeile kommt der Fehler? Zitieren
murat1895 Geschrieben 12. August 2011 Autor Geschrieben 12. August 2011 Wenn ich ihn in Einzelschritten debuggen lasse, wird mir keine direkte Zeile angegeben ... Die ersten drei Zeilen sind Okay, nur wenns dann in die For-Schleife geht, kommt die Fehlermeldung ... Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.