Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
992to996
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
992to996
992to996
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Code ohne Select

Code ohne Select
09.07.2008 11:21:01
Michael
Hallo,
wie kann ich folgenden Code ohne Select darstellen?
With Worksheets("Einlesen")
lastCell = .Range("A65536").End(xlUp).Row
lastColumn = .Range("IV3").End(xlToLeft).Column
.Cells(lastCell, lastColumn).Select
Range(Selection, Selection.End(xlToLeft)).Select
Range(Selection, Selection.End(xlUp)).Offset(1, 0).Select
End With
Micha

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

Betreff
Datum
Anwender
Anzeige
AW: Code ohne Select
09.07.2008 11:51:20
Erich
Hallo Micha,
hier zwei Möglichkeiten, die den selben Bereich selektieren:

Sub tst()
Dim lngRow As Long, lngCol As Long ' für 2. Variante
With Worksheets("Einlesen")
.Range(.Cells(2, 1), .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row + 1, _
.Cells(3, .Columns.Count).End(xlToLeft).Column)).Select
End With
Stop
With Worksheets("Einlesen")
lngRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
lngCol = .Cells(3, .Columns.Count).End(xlToLeft).Column
.Range(.Cells(2, 1), .Cells(lngRow, lngCol)).Select
End With
End Sub

Ist der jetzt einzige "Select" am Ende überhaupt nötig?
Möglich wäre z. B.
Range(...).font.color = 3
Dafür muss der Bereich nicht selektiert werden.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Code ohne Select
09.07.2008 12:17:13
Michael
Hallo Erich,
Danke für Deine nochmalige Hilfe ;o)
Das letzte Select ist für einen Autofilter, der alle Nullwerte sucht und dann löscht.
Selection.SpecialCells(xlCellTypeVisible).EntireRow.Delete
Selection.AutoFilter Field:=15
Selection.AutoFilter
Columns(15).Delete Shift:=xlToLeft
Ich denke mal das geht noch besser, aber im Moment funzt das so ganz gut.
Deine zwei Schnipsel haben übrigens sehr gut funktioniert. ich habe das erste verwendet, obwohl ich nicht zu 100% durch die Rows.Count und Columns.Count durchgestiegen bin.
Wenn ich das Richtig interpretiere, dann fängst Du in A2 (Range(.Cells(2, 1)) an. Alles andere verstehe ich nicht so recht. Kannst Du das evtl mal kurz erläutern?
Micha

Anzeige
AW: Code ohne Select
09.07.2008 13:32:00
Erich
Hi Micha,
Cells(.Rows.Count, 1) ist nichts anderes als A65536 - wenn ein Blatt 65536 Zeilen hat.
In Excel2007 gibts schon viel mehr Zeilen...
Analog ist Cells(3, .Columns.Count) die Zelle IV3 - wenn IV die letzte Spalte des Blatts ist.
(Columns.count ist dann 256).
Die 1. Variante unterscheidet sich von der 2. nur dadurch, dass ich bei der 1.
die Audrücke, mit denen in der 2. Variante lngRow und lngCol berechnet werden,
direkt in den Range-Ausdruck geschrieben habe.
Die beiden Varianten selektieren einen Bereich ab A2 - das tat ja auch dein Code,
dessen Wirkung ich nur nachvollzogen habe.
Ist es jetzt klarer?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Code ohne Select
09.07.2008 14:27:00
Michael
Ja, vielen Dank!
Ich hatte nur von unten begonnen die sichtbaren Zeilen zu markieren, da ich nicht genau wusste, ob die zweite Zeile immer sichtbar ist. Aber mit Deinem Code gehts ja wunderbar.
Danke vielmals...
Micha

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige