Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1564to1568
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
Inhaltsverzeichnis

ActiveSheet.Cells ....(Target.Row+3,1)

ActiveSheet.Cells ....(Target.Row+3,1)
28.06.2017 21:59:25
STeve
Hallo Leute.
Probiere seit einer Stunde folgende Variable zu füllen:
In einer Userform soll eine Label damit beschrieben werden:
Dim MitarbeiterinArbeit As String
MitarbeiterinArbeit = ActiveSheet.Range("A21").Value 'liefert den richtigen Wert
Dachte mir:
MitarbeiterinArbeit = ActiveSheet.Cells(Target.Row + 3, 1).Value ' hat jemand eine Idee
Bitte um Hilfe
Danke

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ActiveSheet.Cells ....(Target.Row+3,1)
28.06.2017 22:05:31
Matthias
HAllo! Wo kommt den Target her? Normalerweise nutzt man das bei ChangeEreignisse im Blatt. So kann man nicht erkennen, wie diese Variabele definiert ist und auf was sie sich bezieht. VG
AW: ActiveSheet.Cells ....(Target.Row+3,1)
28.06.2017 22:09:22
STeve
Hallo Matthias........super dass dich meldest.
Ja genau........... ist in einem Workbook SheetChange - Ereignis in ein Modul rein und von dort wird eine Userform aufgerufen und dort würde ich die Variable benötigen
lg
AW: ActiveSheet.Cells ....(Target.Row+3,1)
28.06.2017 22:24:32
Matthias
Hallo! Also ganz so einfach ist das nicht. Würde es wie folgt lösen. In deinem Change Event lädst du die USerform und weißt der Tag Eigenschaft deine Zahl zu. Dann zeigst du die Form an. In der Form kannst du dann mit Me.tag auf den Wert zugreifen. So zum Beispiel:
Private Sub Worksheet_Change(ByVal Target As Range)
Load UserForm1
UserForm1.Tag = Target.Row + 3
UserForm1.Show
End Sub

Im Code dann so
MitarbeiterinArbeit = ActiveSheet.Cells(Me.tag , 1).Value
Einfach mal probieren. Was einfacheres fällt mir grad nicht ein. VG
Anzeige
AW: ActiveSheet.Cells ....(Target.Row+3,1)
28.06.2017 22:32:04
Matthias
Achja, eins noch. Die Zuweisung müsste dann im Userform.activate oder einem andern Ereignis passieren. Im UF.initialize klappt es nicht, da beim Aufruf davon der Wert noch nicht an Tag geschrieben wurde. (initialize starte ja schon beim load Befehl). VG
Danke an Matthias.....werde es versuchen
28.06.2017 22:43:01
STeve
Wouw.....Matthias........also da überforderst mich jetzt mal ordentlich.
Danke für deinen Tipp.
Werde versuchen es umzusetzen...........Sollte ich scheitern hoffe ich darf ich mich nochmal melden.
LG STeve
AW: Danke an Matthias.....werde es versuchen
28.06.2017 22:55:43
Matthias
Kein Problem, wird dann aber erst morgen. Habe noch ne dritte Antwort (vermtl. einfacher) gepostet. So schwierig ist es nicht, schaffste schon. Viel Glück und VG:
Anzeige
AW: ActiveSheet.Cells ....(Target.Row+3,1)
28.06.2017 22:42:08
Matthias
Zum Letzten. Bei näherem Überlegen, war die Variante davor auch zu kompliziert. Das mit dem Laden bleibt, an Stelle der Zuweisung an die Tag Eigenschaft kann man natürlich auch gleich auf das Label etc. zugreifen. Sieht dann so aus.
Private Sub Worksheet_Change(ByVal Target As Range)
Load UserForm1
UserForm1.MitarbeiterinArbeit  = ActiveSheet.Cells(Target.Row + 3, 1)
UserForm1.Show
End Sub
VG
Klappt nicht..........
29.06.2017 08:26:20
STeve
Guten Morgen Matthias...........Vorab schon mal großes Danke für deine Mühen und dass dich mit mir hier abplagst.
Aber das klappt nicht.
wenn ich im Modul welches durch das Change Ereignis aufgerufen wird:
Load Userform1
mache - dann beginnt natürlich die Initialisierung - dort dann die Target.Row +3 als .Tag (Zahl) bei Userform- Activate zu speichern

Private Sub UserForm_Activate()
Userform1.Tag = Target.Row + 3
End Sub

geht nicht weil Activate erst bei .Show gestartet wird und dann

Fehlermeldung - Objekt erforderlich

erscheint.
....mfg STeve
Anzeige
DANKE an Matthias und Nepumuk (vor 12 Jahren)
29.06.2017 08:47:21
STeve
Hallo Matthias.........Danke dir hat sich erledigt.
Habe es gefunden und zwar unter:
So gehts:
Change-Modul:
Dim MitarbeiterinArbeit As String
MitarbeiterinArbeit = ActiveSheet.Cells(Target.Row + 3, 1)
UserForm1.Tag = MitarbeiterinArbeit
Userform:

Private Sub UserForm_Activate()
Label1.Caption = Me.Tag
End Sub
Wünsche noch schönen Tag.
LG STeve

62 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige