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

Übertrag in UserForm

Übertrag in UserForm
Gregor
Hallo zusammen
Mit folgendem Code übernehme ich Einträge in eine UserForm:
Sub test()
Set SuBe = Worksheets("Muster").Range("A:A").Find("Text", LookAt:=xlWhole)
If Not SuBe Is Nothing Then
Zeile = SuBe.Row
End Sub
Private Sub UserForm_Initialize()
Zeile = 5 'variabel
frmProjekt.Caption = "Projekt Muster"
txtProjekt = Sheets("Muster").Range("H" & Zeile)
txtIBN = Sheets("Muster").Range("I" & Zeile)
txtStatus = Sheets("Muster").Range("K" & Zeile)
End Sub
Neu habe ich nicht nur in der gesuchten Zeile Einträge, sondern in den Splaten H, I und K kann es in den nachfolgenden 5 oder mehr Zeilen Einträge haben. die ebenfalls übertragen werden müssen. Die Anzahl zu übernehmenden Zeilen können anhand der leeren Zellen Spalte A eruiert werden. In Spalte A ist der Eintrag, nach der die Zeile (SuBe) gesucht wird und dann die Werte Spalte A, I und K in eine UserForm übertragen werden sollen.
Vermutlich recht knifflig.
Danke und Gruss
Gregor

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Übertrag in UserForm
28.04.2012 21:23:34
fcs
Hallo Gregor,
was möglich und sinnvoll ist hängt sehr stark davon ab, was du mit den eingelesenen Daten im Userform noch alles machen willst.
Zur Zeit werden die Daten ja in 3 Textboxen geladen.
Wenn du die weiteren Daten auch in Textboxen laden willst, dann müssen diese entweder schon in einer ausreichenden Anzahl vorhanden sein oder Sie müssen nach Bedarf vom Initialisierungsmakro des Userforms erzeugt und positioniert werden- dass ist ziemlich aufwendig.
Wenn du die Daten "nur" anzeigen und ohne Veränderung weiterverarbeiten willst, dann ist es am einfachsten, wenn die Daten in eine 3-spaltige Listbox geladen werden. Auch das Bearbeiten der daten in der Liste wäre in Verbindung mit 3 Textboxen möglich, aber dann wird es schon relativ kompliziert (Eintrag in Liste auswählen, Listenwerte in Textboxen schreiben, geänderte Textboxwerte wieder in die Liste schreiben.)
Wie viele Zeilen können es denn maximal sein? Du schreibst 5 oder mehr.
Bevor weitere Hilfe möglich ist muss du noch weitere Infos geben. Insbesondere darüber was du mit den eingelesenen Daten alles machen muss/willst.
Gruß
Franz
Anzeige
AW: Übertrag in UserForm
30.04.2012 17:13:01
Gregor
Hallo franz
Ich habe erst jetzt gesehen, dass du auf meine Anfrage geantwortet hast, vielen Dank. Ich habe übers Wochenende gesucht und kombiniert und nun von Text auf List gewechselt:
Sub ShapeBenannt()
Application.ScreenUpdating = False
Dim n As Double
Dim arrFind()
Dim rZelle        As Range
Dim sFundst       As String
Blattname = ActiveSheet.Name
Wert = ActiveSheet.Shapes(Application.Caller).Name
If Wert = "" Then Exit Sub
With ThisWorkbook.Worksheets("Muster Mitte").Columns(1)
Set rZelle = .Find(What:=Wert, LookAt:=xlWhole, LookIn:=xlValues)
If Not rZelle Is Nothing Then
sFundst = rZelle.Address
n = 0
Do
n = n + 1
ReDim Preserve arrFind(1 To 4, 1 To n)
arrFind(1, n) = .Cells(rZelle.Row, 10)
arrFind(2, n) = .Cells(rZelle.Row, 11)
arrFind(3, n) = .Cells(rZelle.Row, 12)
arrFind(4, n) = .Cells(rZelle.Row, 14)
Set rZelle = .FindNext(rZelle)
Loop While Not rZelle Is Nothing And rZelle.Address  sFundst
Else
MsgBox "Der Begriff  """ & Wert & """  wurde nicht gefunden.", _
48, "   Hinweis für " & Application.UserName
End
End If
End With
With usrSuchen.lstFind
.ColumnCount = 4
.List = Application.Transpose(arrFind)
End With
usrSuchen.Caption = "       " & n & "  Projekte für " & Wert & " gefunden"
usrSuchen.Show
Application.ScreenUpdating = True
End Sub

Das klappt bestens. Wenn jedoch nur ein Eintrag gefunden wird, also wenn n = 1, dann wird der Eintrag in der Liste vertikal in Spalte 1 geschrieben statt horizontal in alle 4 Spalten.
Wie kann ich das verhindern?
Danke und Gruss
Gregor
Anzeige
AW: Übertrag in UserForm
01.05.2012 01:42:12
fcs
Hallo Gregor,
an dieser Merkwürdigkeit bin ich auch schon mal fast verzweifelt. Probiers mal mit der AddItem-Methode.
Gruß
Franz
With usrSuchen.lstFind
.ColumnCount = 4
If n = 1 Then
.Clear
.AddItem arrFind(1, n)
.List(0, 1) = arrFind(2, n)
.List(0, 2) = arrFind(3, n)
.List(0, 3) = arrFind(4, n)
Else
.List = Application.Transpose(arrFind)
End If
End With

AW: Übertrag in UserForm
01.05.2012 09:36:17
Gregor
Hallo Franz
Vielen Dank, das ist perfekt!!
Gruss Gregor

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige