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
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
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
MartinSt Geschrieben 11. August 2011 Geschrieben 11. August 2011 Und wo? In welchem Sheet? Muß man den dann nicht auch über das Sheet adressieren?
murat1895 Geschrieben 11. August 2011 Autor Geschrieben 11. August 2011 Naja, dies habe ich doch schon mit: Sheets("Tabelle1").Activate gemacht oder nicht?!
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
MartinSt Geschrieben 11. August 2011 Geschrieben 11. August 2011 poste mal bitte den neuen kompletten Code
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
MartinSt Geschrieben 12. August 2011 Geschrieben 12. August 2011 und in welcher Zeile kommt der Fehler?
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 ...
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden