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

VBA: Probleme mit Selection.Address

VBA: Probleme mit Selection.Address
17.11.2004 14:31:19
Heiko
Hallo Leute,
ich möchte ein Makro schreiben das in markierten Bereichen bestimmte Wertveränderungen ausführt. (Siehe unten z.B. Eins hochzählen)
Dieser Quellcode tut das. Aber leider auch dann, wenn ich das Arbeitsblatt verlassen habe wieder aufrufe und für mich kein Bereich ersichtlich mehr markiert ist. (Der Bereich ist nicht mehr farblich markiert.)
Zellen = ActiveWindow.Selection.Address
MsgBox Zellen
For Each Wert In Range(Zellen)
Wert.Value = Wert.Value + 1
Next Wert
End Sub
Gibt es eine Möglichkeit nur für "wirklich" markierte Bereiche (Zellen sind im Arbeitsblatt farblich markiert) eine Range Objekt zurückzubekommen, wenn aber kein Bereich sichtbar markiert ist auch keine (oder leeres) Range Objekt zurückzubekommen.
Danke schon mal vorab für alle Antworten,
Gruß Heiko

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Probleme mit Selection.Address
harry
hi,
ist das ganze ein worsheet change ereignis oder so etwas ähnliches?
du könntest das durch if bedingungen herausfiltern, z.b.
zellen = ActiveWindow.Selection.Address
If Range(zellen).Cells.Count > 1 Then
For Each acell In Range(zellen)
If acell.Value = "" Then
a = a + 1
End If
Next
If a For Each Wert In Range(zellen)
Wert.Value = Wert.Value + 1
Next Wert
End If
End If
liebe grüße,
harry
AW: VBA: Probleme mit Selection.Address
Heiko
Moin Harry,
das ist keine Worksheet change, sondern von mir so gedacht das ich einen bestimmten Bereich (immer wieder andere) per Maus markiere und dann auf Knopfdruck (Button im Arbeitsblatt) die Aktion ausführe.
Dein Code funktioniert übrigens in dem Sinne wie ich mir das denke, dafür schon mal besten Dank.
Trotzdem nochmal die Frage, gibt es keine VBA Funktion kein VBA Objekt das einen Range Bereich für nur "wirklich" markierte (also sichtbar farblich hinterlegte) Zellen zurückgibt.
Würde die Sache in Zukunft halt vereinfachen.
Danke und Gruß,
Heiko
Anzeige
AW: VBA: Probleme mit Selection.Address
harry
was meinst du mit
"wirklich" markierte (also sichtbar farblich hinterlegte) Zellen ?
zellen, die mit maus oder cursor markiert wurden, oder zellen, die eine andere hintergrundfarbe haben?
AW: VBA: Probleme mit Selection.Address
Heiko
Moin Harry,
ist immer blöd so Problem in Worte zu fassen.
Also nochmal ein Versuch:
Ich habe eine Tabelle mit ca. 1500 Zeilen und 40 Spalten.
Einige der Spalten enthalten Text, einige Zahlen.
Nun habe ich das Problem das einige Zahlen verändert werden müssen.
Diese Zahlen markiere ich mit der Maus (z.B. Zellen E14 bis F27), dann sieht man in der Tabelle das diese Zellen markiert sind. (Excel macht eine schwarzen Rahmen drum und hinterlegt die Zellen grau.)
Wenn ich nun die Aktion starte indem ich auf meinen Button dafür drücke läuft das ja auch wunderbar, die gewünschte Veränderung wird durchgeführt.
Danach ist dann aber die Kennzeichnung das die Zellen markiert nicht mehr sichtbar.
Drücke ich wieder auf den Button dann läuft die Aktion wieder ab obwohl für mich keine Zellen mehr sichtbar markiert sind.
Das scheint aber ein Problem zu sein das mit dem Button zu tun hat, denn wenn ich die Aktion mit dem Button starte ist die Markierung weg.
Dein Code von gestern hat übrigens leider doch nicht die gewünschte Eigenschaft gehabt.
Habe mal eine Tabelle beigefügt in ich gerade mit dem Problem rumprobiere. Schau da doch auch mal rein dann wird mein Problem vielleicht klarer.
https://www.herber.de/bbs/user/13606.xls
Danke und Gruß
Heiko
Anzeige
AW: VBA: Probleme mit Selection.Address
Heiko
Moin Harry,
habe nochmal ein bisschen rumprobiert und nun eine Lösung gefunden die mir nach der Aktion wieder den markierten Bereich anzeigt. Siehe letzte Zeile im Code.
Zellen = ActiveWindow.Selection.Address
MsgBox Zellen
For Each Wert In Range(Zellen)
Wert.Value = Wert.Value + 1
Next Wert
ActiveWindow.ActiveCell.Activate
Also Danke für deine Bemühungen,
Gruß Heiko
AW: VBA: Probleme mit Selection.Address
Ulf
Gib den farblich gekennzeichneten Zellen einen Namen.
Ulf

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige