Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1436to1440
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

UserForm soll auf eine bestimmte Zeile zugreifen

UserForm soll auf eine bestimmte Zeile zugreifen
29.07.2015 09:49:12
Frank
Hallo zusammen,
ich habe mir ein schönes Formular zusammengebaut. Die Daten daraus werden in einer Liste mit Aufgaben benötigt. Diese Liste hat insgesamt 100 Zeilen, also für 100 Aufgaben. Meine Kollegen sollen nun in einer beliebigen Zeile, z. B. 25 auf eine Button drücken, und für die Aufgabe Nr. 25 die nötigen Eingaben über mein Formular einstellen können. Kurzum: das Formular soll auf die Felder zugreifen, die in der ausgewählten Zeile liegen.
Hier mein bisheriger Code:

Private Sub ListBox_Verantwortlich_Click()
'Werte werden in der Spalte D in der aktiven Zeile benötigt
End Sub
Private Sub TextBox_Bearbeitungsvermerk_Change()
'Werte werden in der Spalte B in der aktiven Zeile benötigt
End Sub
Private Sub TextBox_Beschreibung_Change()
'Werte werden in der Spalte A in der aktiven Zeile benötigt
End Sub
Private Sub userform_Initialize()
With UserForm1.ListBox_Bearbeitungsstatus
.AddItem "neu"
.AddItem "in Arbeit"
.AddItem "erledigt"
.AddItem "terminiert"
.AddItem "verzögert"
.AddItem "gestoppt"
End With
End Sub
Private Sub Abbrechenschaltfläche_Click()
'Beendet die Userform1
Unload UserForm1
End Sub
Private Sub OKSchaltfläche_Click()
'Beendet die Userform1
Unload UserForm1
End Sub
Private Sub Frame_Beschreibung_Click()
End Sub
Private Sub Frame1_Click()
End Sub
Private Sub CommandButton_Löschen_Bearbeitungsvermerk_Click()
'Löscht den Inhalt der TextBox_Bearbeitungsvermerk
If MsgBox("Textfeld wirklich löschen", vbYesNo) = vbYes Then
TextBox_Bearbeitungsvermerk = ""
Else
Exit Sub
End If
End Sub
Private Sub Lösche_Beschreibung_Click()
'Löscht den Inhalt der TextBox_Beschreibung
If MsgBox("Textfeld wirklich löschen", vbYesNo) = vbYes Then
TextBox_Beschreibung = ""
Else
Exit Sub
End If
End Sub
Private Sub Image1_Click()
End Sub
Private Sub Label1_Click()
End Sub
Private Sub ListBox_Bearbeitungsstatus_Click()
'Werte werden in der Spalte C in der aktiven Zeile benötigt
End Sub
Private Sub TextBox_Titel_Change()
End Sub
Private Sub UserForm_Click()
End Sub
Einen Button für den Aufruf des Formulars würde ich vor jede Zeile stellen. Inhalt wäre nur
Sub UserForm()
UserForm1.Show
End Sub
Gruß
Frank

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm soll auf eine bestimmte Zeile zugreifen
29.07.2015 10:05:28
Sepp
Hallo Frank,
da gibt es viele Möglichkeiten.
Nutze z. B. die Tag-Eigenschaft des UF und lies aus dieser die Zeilennummer aus.
Wenn du CommandButtons verwendest, so.
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub CommandButton1_Click()
With UserForm1
  .Tag = CommandButton1.TopLeftCell.Row
  .Show
End With
End Sub


Wenn du Formular-Buttons verwendest, dann so.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub Klick()
With UserForm1
  .Tag = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row
  .Show
End With
End Sub


Vorteil der Formular-Buttons, du brauchst nur ein Makro für alle Buttons, wichtig ist nur, dass die Buttons innerhalb der Zelle liegen, wegen .TopLeftCell!
Gruß Sepp

Anzeige
AW: UserForm soll auf eine bestimmte Zeile zugreifen
30.07.2015 11:28:46
Frank
Hallo Sepp,
den Button kann ich zwar so wie beschrieben erstellen und den Tag (vermute ich mal) auch erzeugen. Aber wie bringe ich VBA jetzt bei, das er in meinem Formular die Daten aus der entsprechenden Zeile ziehen soll? Ich habe das bisher bei der Texbox über die Eigenschaften und dort den Punkt ControlSoucre eingestellt. Kann ich da irgenwie die Informationen einbauen, die ich gerade erstellt habe?
Gruß
Frank

AW: UserForm soll auf eine bestimmte Zeile zugreifen
02.08.2015 16:46:16
Sepp
Hallo Frank,
du musst enhtweder im Activate-Ereignis des UF die .ControSource entsprechend zuweisen, oder du weißt den Zellinhalt in der Form "TextBox1 = Cells(zeile,spalte).Text" zu. Wobei du die Zeile eben aus der .Tag-Eigenschaft des UF ermittelst.
Gruß Sepp

Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige