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

Zellen mittel VBA markieren

Zellen mittel VBA markieren
10.04.2008 08:49:04
Josef
Hallo!
Ich möchte mittels VBA alle Zellen ab der Zeile 1573 bis zur letzten mit Werten befüllten Zeile markieren.
(Es kommen täglich neue Datensätze daz.) Wie würde hier bitte eine VBA Lösung in Bezug der Markierung aussehen?
Danke
Josef

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen mittel VBA markieren
10.04.2008 08:51:00
Hajo_Zi
Hallo Josef,
Warum? In VBA kann zu 99,9% auf select verzichtet werden.

AW: Zellen mittel VBA markieren
10.04.2008 09:05:00
Josef
Hallo Hajo!
Danke für Deine Antwort.
Ich würde ja gerne auf Select verzichten. Nur sollte die Markierung erst ab der Zeile 1573 anfangen.
Josef

AW: Zellen mittel VBA markieren
10.04.2008 09:12:00
Andi
Hi,
wozu brauchst Du denn die Markierung?
Wie Hajo schon schrieb, kommst Du mit allergrößter Wahrscheinlichkeit auch ohne Markierung zum Ziel.
Schönen Gruß,
Andi

AW: Zellen mittel VBA markieren
10.04.2008 09:09:10
selli
hallo josef,
was genau meinst du mit "markiert"?
sollen die zellen farbig oder mit fettdruck gestaltet werde, oder nur ausgewählt werden?
@hajo: wenn man milch trinken möchte, muß man milch kaufen (warum nicht select, wenn er es möchte?)
gruß
selli

Anzeige
AW: Zellen mittel VBA markieren
10.04.2008 09:12:41
Josef
Hallo seli!
Danke für Deine Antwort.
Es geht mir rein nur um die Auswahl, da ich im Anschluß eine Sortierung von 3 Spalten vornehmen möchte.
Josef

AW: Zellen mittel VBA markieren
10.04.2008 09:22:26
Andi
Hi,
eben, und dafür brauchst Du nämlich genau kein Select.
Statt
Range("A1:C6").Select
Selection.Sort , Key1:=Range("A1"), Order1:=xlAscending
kannst Du auch einfach schreiben
Range("A1:C6").Sort , Key1:=Range("A1"), Order1:=xlAscending
Select ist eine notwendige Nebenerscheinung des Makro-Rekorders, die im Grunde so überflüssig ist wie ein Kropf.
Zu Deinem Problem:
Den Bereich ab Zeile 1573 bis zur letzten gefüllten Zeile in Spalte C bekommst Du so:
Dim bereich As Range
Set bereich = Range("A1573:C" & Range("C65536").End(xlUp).Row)
Sortieren kannst Du dann zB mit
bereich.Sort , Key1:=Range("A1573"), Order1:=xlAscending
Schönen Gruß,
Andi

Anzeige
AW: Zellen mittel VBA markieren
10.04.2008 09:37:44
Josef
Hallo Andi!
Danke für Deine Antwort.
Habe mir jetzt folgendes Makro geschnitzt:

Sub Markieren_Master()
Dim bereich As Range
Dim wks As Worksheet
Set wks = Workbooks("Masterfile.xls").Worksheets("Tabelle1")
Set bereich = wks.Range("A1573:BO" & wks.Range("BO65536").End(xlUp).Row)
End Sub


Leider dürfte ich hier noch etwas falsch machen, da nach dem Ausführen des Makros keine Markierung angezeigt wird.
Josef

AW: Zellen mittel VBA markieren
10.04.2008 09:40:00
Hajo_Zi
Hallo Josef,
Dein Makro ist ok. Nur Andi sortiert noch nachdem der Bereich zugewiesen wurde.
Zugewiesene Bereich sollten vor End Sub wieder gelöscht werden
Set bereich = Nothing
Gruß Hajo

Anzeige
AW: Zellen mittel VBA markieren
10.04.2008 09:47:00
Andi
Hi,

da nach dem Ausführen des Makros keine Markierung angezeigt wird

Natürlich nicht. Ich habe Dir ja auch eine Variante vorgeschlagen, die ohne Select (=Markierung) auskommt.
Wie gesagt, Select macht einen Code unübersichtlich, langsam, und ist in höchstens 0,1% der Fälle wirklich notwendig, um das gewünschte Ergebnis zu erreichen.
Schönen Gruß,
Andi

AW: Zellen mittel VBA markieren
10.04.2008 09:57:00
Josef
Hallo nochmals!
Habe jetzt das Makro fertig. möchte nur noch bitte wissen, ob es richtig wäre:
Sort werden die Spalten G, E und I

Sub Markieren_Master()
Dim bereich As Range
Dim wks As Worksheet
Set wks = Workbooks("Masterfile.xls").Worksheets("Tabelle1")
Set bereich = wks.Range("A1573:BO" & wks.Range("BO65536").End(xlUp).Row)
bereich.Sort Key1:=Range("E1573"), Order1:=xlAscending, Key2:=Range( _
"G1573"), Order2:=xlAscending, Key3:=Range("I1573"), Order3:=xlAscending _
, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:= _
xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, _
DataOption3:=xlSortNormal
Set bereich = Nothing
End Sub


Danke
Josef

Anzeige
AW: Zellen mittel VBA markieren
10.04.2008 10:00:45
Hajo_Zi
Hallo Josef,
schreibe vor jedes Range Wks.
Gruß Hajo

AW: Zellen mittel VBA markieren
10.04.2008 10:06:00
Josef
Hallo!
Danke für den Hinweis.
Aber jetzt passt es oder?

Sub Markieren_Master()
Dim bereich As Range
Dim wks As Worksheet
Set wks = Workbooks("Masterfile.xls").Worksheets("Tabelle1")
Set bereich = wks.Range("A1573:BO" & wks.Range("BO65536").End(xlUp).Row)
bereich.Sort Key1:=wks.Range("E1573"), Order1:=xlAscending, Key2:=wks.Range( _
"G1573"), Order2:=xlAscending, Key3:=wks.Range("I1573"), Order3:=xlAscending _
, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:= _
xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, _
DataOption3:=xlSortNormal
Set bereich = Nothing
End Sub


Josef

Anzeige
AW: Zellen mittel VBA markieren
10.04.2008 10:14:37
Hajo_Zi
Hallo Josef,
ich baue das nicht nach, aber es sieht ok aus. Falls Du den Code bei einer Version vor XP verwendest solltest Du alle Schalter DataOption löschen.
Gruß Hajo

AW: Zellen mittel VBA markieren
10.04.2008 10:17:24
Josef
Hallo Hajo, Hallo Andi!
Danke für Eure Hilfe.
Schönen Tag noch

AW: Zellen mittel VBA markieren
10.04.2008 09:14:00
Renee
Hi Selli,
(warum nicht select, wenn er es möchte?)
Weil er es mangels Wissen, sich vielleicht nicht anders vorstellen kann! Darum nicht.
In Ahnlehnung an deinen Spruch:
Warum nicht einem Kind einen Flammenwerfer geben, wen es einen möchte ?
GreetZ Renée

Anzeige
AW: Zellen mittel VBA markieren
10.04.2008 09:34:00
selli
hallo renee,
dass dein vergleich dumm ist, merkst du selber, oder?
gruß selli

AW: Zellen mittel VBA markieren
10.04.2008 09:36:00
Hajo_Zi
Hallo Selli,
der Vergleich ist nur auf Deinen Vergleich aufbauend.
Gruß Hajo

ja, genau !
10.04.2008 09:52:00
selli
.

AW: Zellen mittel VBA markieren
10.04.2008 09:51:00
Andi
Hi Selli,
in einem 10-zeiligen Makro ist es im Grunde wirklich völlig wurscht, ob man Select verwendet oder nicht.
Wenn Du ein größeres Projekt hast, dann geht das uU schon merklich auf die Performance, und wenn Du in so einem Projekt schonmal einen Fehler gesucht hast, dann weißt Du eine effiziente Programmierung, die auf überflüssige Zeilen verzichtet, sicherlich zu schätzen, oder? Warum sollte man also einen Anfänger nicht von Anfang an auf einen sauberen Programmier-Stil hinweisen, der im später evtl viel Ärger erspart?
Es ist nunmal leider (aber unvermeidlicherweise) so, dass Anfänger vom Makro-Rekorder die exzessive Verwendung von Select und Activate vorgelebt bekommen. Was spricht dagegen, in diesem Forum da bisschen gegen zu steuern?
Schönen Gruß,
Andi

Anzeige
AW: Zellen mittel VBA markieren
10.04.2008 11:37:50
selli
hallo andi,
ich stimme dir ja vollkommen zu.
aber findest du, dass hajos erste antwort überhaupt auf die aufgabenstellung eingeht.
da kommt nur irgendsoein flappsiger kommentar und dazu noch völlig unbegründet. wie wird denn damit einem vermeindlichen anfänger geholfen?
das nervt. und nur das habe ich mit einem teil meiner antwort hervorheben wollen.
viele grüße
selli

AW: Zellen mittel VBA markieren
10.04.2008 11:51:56
Andi
Hi,
dass Hajo es in diesem Leben nicht mehr ins diplomatische Corps schaffen wird, darf man vermutlich als sicher betrachten.
Im Grunde will er mit seinen Antworten die Fragesteller imho oft nur dazu anhalten, die Fragen präzise zu stellen und auch darauf einzugehen, was eigentlich bezweckt wird. Das ist in meinen Augen ein gutes Anliegen, auch wenn seine Art es zu formulieren mitunter etwas, sagen wir, speziell ist... ;-)
Schönen Gruß,
Andi
Anzeige

82 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige