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

Userform
22.03.2020 13:39:35
Josef
Hallo, ich bin neu hier und hoffe ihr könnt mir helfen.
Ich habe eine Userform in der Verschieden Zellen aus einer Zeile angezeigt werden. Jetzt kommt das Problem: Wenn auf eine Schaltfläche geklickt wird, die sich in der Userform befindet, dann soll in der Userform die Daten aus der darunter liegenden Zeile angezeigt werden.
Freue mich auf eure Antworten.
Private Sub UserForm_Initialize()
Label6.Caption = Worksheets("Adresse").Range("A5").Value
Label2.Caption = Worksheets("Adresse").Range("b5").Value
Label5.Caption = Worksheets("Adresse").Range("c5").Value
Label11.Caption = Worksheets("Adresse").Range("d5").Value
Label10.Caption = Worksheets("Adresse").Range("y5").Value
Label9.Caption = Worksheets("Adresse").Range("z5").Value
Label8.Caption = Worksheets("Adresse").Range("aa5").Value
Label15.Caption = Worksheets("Adresse").Range("e5").Value
Label19.Caption = Worksheets("Adresse").Range("ab5").Value
Label21.Caption = Worksheets("Adresse").Range("ac5").Value
End Sub
Private Sub Schlie?en_Click()
Unload Me
End Sub

'

Private Sub Vor_Click()
'Unload Me
'Range("A6").Select
'End Sub
Private Sub Vor_Click()
Unload Me
Selection.Offset(1, 0).Select
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Userform
22.03.2020 14:17:08
Hajo_Zi
Label6.Caption = Worksheets("Adresse").Range("A6").Value
Label2.Caption = Worksheets("Adresse").Range("b6").Value
Label5.Caption = Worksheets("Adresse").Range("c6").Value
Label11.Caption = Worksheets("Adresse").Range("d6").Value
Label10.Caption = Worksheets("Adresse").Range("y6").Value
Label9.Caption = Worksheets("Adresse").Range("z6").Value
Label8.Caption = Worksheets("Adresse").Range("aa6").Value
Label15.Caption = Worksheets("Adresse").Range("e6").Value
Label19.Caption = Worksheets("Adresse").Range("ab6").Value
Label21.Caption = Worksheets("Adresse").Range("ac6").Value
nur die beschriebene Aufgabe beantwortet.
Ich würde ja für die Zeile mit einer variablen arbeiten.
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
änderrn.
Das ist nur meine Meinung zu dem Thema.

Anzeige
AW: Userform
22.03.2020 15:34:05
Hajo_Zi

Option Explicit
Dim LoZeile As Long
Private Sub UserForm_Activate()
Label6.Caption = Worksheets("Adresse").Range("A5").Value
Label2.Caption = Worksheets("Adresse").Range("b5").Value
Label5.Caption = Worksheets("Adresse").Range("c5").Value
Label11.Caption = Worksheets("Adresse").Range("d5").Value
Label10.Caption = Worksheets("Adresse").Range("y5").Value
Label9.Caption = Worksheets("Adresse").Range("z5").Value
Label8.Caption = Worksheets("Adresse").Range("aa5").Value
Label15.Caption = Worksheets("Adresse").Range("e5").Value
Label19.Caption = Worksheets("Adresse").Range("ab5").Value
Label21.Caption = Worksheets("Adresse").Range("ac5").Value
LoZeile = 5
End Sub
Private Sub Schließen_Click()
Unload Me
End Sub
Private Sub Vor_Click()
With Worksheets("Adresse")
LoZeile = LoZeile + 1
Label6.Caption = .Range("A" & LoZeile).Value
Label2.Caption = .Range("b" & LoZeile).Value
Label5.Caption = .Range("c" & LoZeile).Value
Label11.Caption = .Range("d" & LoZeile).Value
Label10.Caption = .Range("y" & LoZeile).Value
Label9.Caption = .Range("z" & LoZeile).Value
Label8.Caption = .Range("aa" & LoZeile).Value
Label15.Caption = .Range("e" & LoZeile).Value
Label19.Caption = .Range("ab" & LoZeile).Value
Label21.Caption = .Range("ac" & LoZeile).Value
End With
End Sub
Private Sub Zurück_Click()
If LoZeile > 5 Then
With Worksheets("Adresse")
LoZeile = LoZeile - 1
Label6.Caption = .Range("A" & LoZeile).Value
Label2.Caption = .Range("b" & LoZeile).Value
Label5.Caption = .Range("c" & LoZeile).Value
Label11.Caption = .Range("d" & LoZeile).Value
Label10.Caption = .Range("y" & LoZeile).Value
Label9.Caption = .Range("z" & LoZeile).Value
Label8.Caption = .Range("aa" & LoZeile).Value
Label15.Caption = .Range("e" & LoZeile).Value
Label19.Caption = .Range("ab" & LoZeile).Value
Label21.Caption = .Range("ac" & LoZeile).Value
End With
Else
MsgBox "kein Satz davor"
End If
End Sub
Gruß Hajo
Anzeige
AW: Userform
22.03.2020 20:04:19
Josef
Hallo,
Super funktioniert einwandfrei.
Danke für die schnelle Hilfe.
Grüße
AW: Userform
22.03.2020 16:05:01
Nepumuk
Hallo Josef,
teste mal:
Option Explicit

Private mlngRow As Long

Private Sub UserForm_Initialize()
    Row = 5
    Call FillForm
End Sub

Private Sub Schließen_Click()
    Call Unload(Object:=Me)
End Sub

Private Sub Vor_Click()
    Row = Row + 1
    Call FillForm
End Sub

Private Sub Zurück_Click()
    If Row = 5 Then
        Call MsgBox("Erster Datensatz erreicht.", vbExclamation, "Hinweis")
    Else
        Row = Row - 1
        Call FillForm
    End If
End Sub

Private Sub FillForm()
    Label6.Caption = Worksheets("Adresse").Cells(Row, 1).Value
    Label2.Caption = Worksheets("Adresse").Cells(Row, 2).Value
    Label5.Caption = Worksheets("Adresse").Cells(Row, 3).Value
    Label11.Caption = Worksheets("Adresse").Cells(Row, 4).Value
    Label10.Caption = Worksheets("Adresse").Cells(Row, 25).Value
    Label9.Caption = Worksheets("Adresse").Cells(Row, 26).Value
    Label8.Caption = Worksheets("Adresse").Cells(Row, 27).Value
    Label15.Caption = Worksheets("Adresse").Cells(Row, 5).Value
    Label19.Caption = Worksheets("Adresse").Cells(Row, 29).Value
    Label21.Caption = Worksheets("Adresse").Cells(Row, 28).Value
End Sub

Private Property Get Row() As Long
    Row = mlngRow
End Property

Private Property Let Row(ByVal pvlngRow As Long)
    mlngRow = pvlngRow
End Property

Gruß
Nepumuk
Anzeige
AW: Userform
22.03.2020 20:11:30
Josef
Hallo,
funktioniert auch, danke.
Ein Problem hab ich noch, er fängt egal in welche reihe ich klicke immer mit dem ersten Datensatz an.
Vielleicht gibt's da auch noch ne lösung.
Grüße
AW: Userform
22.03.2020 20:36:16
Nepumuk
Hallo Josef,
im Modul der Tabelle:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
    If Not Intersect(Target, Range("$A$5:$A$15")) Is Nothing Then
        With UserForm1
            .Row = Target.Row
            Call .Show
        End With
    End If
End Sub

Im Modul des UserForms:
Option Explicit

Private mlngRow As Long

Private Sub UserForm_Activate()
    Call FillForm
End Sub

Private Sub Schließen_Click()
    Call Unload(Object:=Me)
End Sub

Private Sub Vor_Click()
    Row = Row + 1
    Call FillForm
End Sub

Private Sub Zurück_Click()
    If Row = 5 Then
        Call MsgBox("Erster Datensatz erreicht.", vbExclamation, "Hinweis")
    Else
        Row = Row - 1
        Call FillForm
    End If
End Sub

Private Sub FillForm()
    With Worksheets("Adresse")
        Label6.Caption = .Cells(Row, 1).Value
        Label2.Caption = .Cells(Row, 2).Value
        Label5.Caption = .Cells(Row, 3).Value
        Label11.Caption = .Cells(Row, 4).Value
        Label10.Caption = .Cells(Row, 25).Value
        Label9.Caption = .Cells(Row, 26).Value
        Label8.Caption = .Cells(Row, 27).Value
        Label15.Caption = .Cells(Row, 5).Value
        Label19.Caption = .Cells(Row, 29).Value
        Label21.Caption = .Cells(Row, 28).Value
    End With
End Sub

Private Property Get Row() As Long
    Row = mlngRow
End Property

Friend Property Let Row(ByVal pvlngRow As Long)
    mlngRow = pvlngRow
End Property

Gruß
Nepumuk
Anzeige
AW: Userform
25.03.2020 16:44:03
Josef
Hallo,
Wenn ich jetzt auf irgendeine Zelle in der Tabelle klicke kommt "Fehler beim Kompilieren" "Variable nicht definiert".
Irgendwo hab ich scheinbar einen Fehler gemacht, da nach einem Klick auf die Spalte A die Userform nicht mehr erscheint.
Viele Grüße
AW: Userform
25.03.2020 17:07:26
Nepumuk
Hallo Josef,
kann ich nicht nachvollziehen. Die Show-Methode wird nur ausgelöst wenn du in Range A5:A15 klickst. Ansonsten gibt es keine Aktion.
Gruß
Nepumuk

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige