Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
544to548
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
544to548
544to548
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Target (Range) Columns ansprechen

Target (Range) Columns ansprechen
13.01.2005 14:39:07
Kristin
moin moin,
ich bin leider etwas eingerostet, wer von euch kann mir sagen, wie ich aus
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
das Target herauskriege?
Ich will nichts weiter als die Target.Columns selectieren. anscheinen verstehe ich nicht so richtig wie Target 'aussieht'. Kann ich das nicht irgendwie ausgeben?
MsgBox Target.Value ist gar nichts.
Was mache ich falsch.
Danke und viele grüße Kristin

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Target (Range) Columns ansprechen
Dr.
Hi Kristin,
die Target so adressieren:
If Target.Adress = blabla...
AW: Target (Range) Columns ansprechen
13.01.2005 14:52:04
Kristin
mhhh,
ja, ich hab mir das schon ungefähr so gedacht. Aber das hilft mir so nicht weiter.
ich habe z.b. geschrieben:
Columns("A:C").Select
Jetzt brauche ich aber sowas wie:
Columns(Target.AnfangColumn:Target.EndeColumn).Select
- das geht natürlich so nicht! ich müsste also wissen wie Target übergeben wird, damit ich weiß wie ich an die beiden Spalten-Werte heran komme. Hat jemand eine Idee?
Bitte Fragen wenn ich mich unklar ausdrücke.
Dankeschön
Kristin
AW: Target (Range) Columns ansprechen
WernerB.
Hallo Kristin,
wie gefällt Dir das (ungetestet)?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Bereich As String, lo As String, ru As String
Dim sl As Integer, sr As Integer
Bereich = Target.Address(False, False)
lo = Left(Bereich, InStr(Bereich, ":") - 1)             'links oben
ru = Right(Bereich, Len(Bereich) - InStr(Bereich, ":")) 'rechts unten
sl = Range(lo).Column                                   'Spalte links
sr = Range(ru).Column                                   'Spalte rechts
Range(Columns(sl), Columns(sr)).Select
End Sub

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
AW: Target (Range) Columns ansprechen
Martin
Hallo Werner,
das läuft auf einen Fehler, da er z.B. mit Range(H).Column nicht anfangen kann. Gehen würde z.B.
sl = Range(lo & "1").Column 'Spalte links
sr = Range(ru & "1").Column 'Spalte rechts
aber da scheint mir mein Lösungsvorschlag etwas einfacher zu sein. ;-)
Gruß
Martin Beck
AW: Target (Range) Columns ansprechen
WernerB.
Hallo Martin,
vielen Dank für Deinen Hinweis.
Mit Deiner Fehlerursachenvermutung liegst Du allerdings wohl etwas daneben.
Mein Code muss nur um das aus- und wieder einschalten der Ereignissteuerung ergänzt werden, dann läuft er auch reibungslos.
Deine Anmerkung bezüglich der Einfachheit Deines Vorschlages findet hingegen meine volle neidlose Zustimmung.
Dein Vorschlag gibt mir auch Anlass, mich einmal mit dem Thema "EntireColumn/EntireRow" etwas näher zu beschäftigen.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Bereich As String, lo As String, ru As String
Dim sl As Integer, sr As Integer
Bereich = Target.Address(False, False)
lo = Left(Bereich, InStr(Bereich, ":") - 1)             'links oben
ru = Right(Bereich, Len(Bereich) - InStr(Bereich, ":")) 'rechts unten
sl = Range(lo).Column                                   'Spalte links
sr = Range(ru).Column                                   'Spalte rechts
Application.EnableEvents = False                        'Ereignis AUS
Range(Columns(sl), Columns(sr)).Select
Application.EnableEvents = True                         'Ereignis EIN
End Sub

Gruß
WernerB.
Anzeige
AW: Target (Range) Columns ansprechen
Martin
Hallo Kristin,

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
Target.EntireColumn.Select
Application.EnableEvents = True
End Sub

Gruß
Martin Beck
AW: Target (Range) Columns ansprechen
13.01.2005 15:28:56
Kristin
Hallo Martin, hallo Werner,
sowas...so einfach?! danke Martin, genau das richtige.
Werner, dass was du meintest hab ich getestet es ging nicht auf anhieb, aber sowas hatte ich mir vorgestellt. hab es nicht zu ende gebaut/angepasst :( , weil Martins Idee so einfach war, ich hatte mir die Lösung so in etwa aber vorgestellt - das geht bestimmt auch.
vielleicht benutze ich es mal, wenn ich x spalten weiter links markieren möchte. :)
der weg von Martin ist super.
danke euch.
gruß
kristin
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige