Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
984to988
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
984to988
984to988
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Set Bereich = wks.Range
07.06.2008 15:05:10
Andreas
Hallo Excel Profis,
ich habe folgendes Makro:
'Selektiert im Bereich alle Zeilen in denen mindestens eine Zelle ausgefüllt ist A1:H1000
Dim wks As Worksheet, Bereich As Range, Selektieren As Range
Dim rngZeile As Range, Zeile As Long
Set wks = ActiveSheet
Set Bereich = wks.Range("A1:H1000")
With wks
For Zeile = Bereich.Row To Bereich.Row + Bereich.Rows.Count - 1
'Zellbereich in Zeile
Set rngZeile = .Range(.Cells(Zeile, Bereich.Column), _
.Cells(Zeile, Bereich.Column + Bereich.Columns.Count - 1))
'Prüfen ob alle Zellen im Zellbereich leer sind
If Application.WorksheetFunction.CountBlank(rngZeile) < Bereich.Columns.Count Then
If Selektieren Is Nothing Then
Set Selektieren = rngZeile
Else
Set Selektieren = Application.Union(Selektieren, rngZeile)
End If
End If
Next
If Not Selektieren Is Nothing Then Selektieren.Select
End With
Jedoch würde ich gerne den Bereich gerne wie folgt ändern:
Set Bereich = wks.Range("A1:BP1000")
Jedoch bekomme ich dann die Fehlermeldung, Laufzeitfehler 1004!
kann mir jemand bei meinem Problem helfen?
Im Vorraus vielen Dank!
mfg Andreas

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Set Bereich = wks.Range
07.06.2008 15:36:06
Daniel
Hi
am Code liegt es nicht, der funktioniert einwandfrei.
es muss also an was anderem liegen.
um den Fehler zu finden, solltest du mal deine Datei hochladen, sonst kann man da nichts sagen.
außerdem lässt sich dein Makro über die SPECIALCELLS-Funktion etwas einfacher und vorallem schleifenfrei gestalten:

Sub selektiern()
Dim wks As Worksheet
Dim Zellen As Range
Set wks = ActiveSheet
With wks.Range("A1:BP1000")
On Error Resume Next
Set Zellen = .SpecialCells(xlCellTypeConstants)
Set Zellen = .SpecialCells(xlCellTypeFormulas)
Set Zellen = Union(.SpecialCells(xlCellTypeConstants), .SpecialCells(xlCellTypeFormulas))
Intersect(.Cells, Zellen.EntireRow).Select
On Error GoTo 0
End With
End Sub


Gruß, Daniel

Anzeige
AW: Set Bereich = wks.Range
07.06.2008 15:47:06
Andreas
Hallo Daniel,
wenn ich dein Makro in meine Datei einfüge, funktioniert alles genau so, wie ich es gerne hätte.
Danke!!
Gruß Andreas

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige