Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1084to1088
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
Userform, Crtl.-Felder in Tabelle übernehmen
Kay
Hallo,
...noch eine Frage zu Options- und Controllfeldern. Habe ziemlich viele davon in meiner Userform und möchte gern, nach der Übertragung des Inhalte (.Caption) in die Tabelle auch ermöglichen, dass die Userform zurück die Daten lesen kann. D.h. wenn ein enstprechender Datensatz (Zeile) ausgewählt wurde - soll die Userform wieder mit den Infos gefüllt sein. Dazu dachte ich, wenn ich in die Tabelle neben den Captions auch eine Spalte jeweils nehme mit der Eigenschaft (True/False) - kann ich dass später wieder anhand der Spalte und der Crtl.Nr. (Name) wieder zu weisen... aber finde hier keinen richtigen Code-Ansatz ?
Wollte es als Schleife tun - for i = 1 to 48, Worksheets("Tabelle1").Cells(Zeile, i) = Checkbox&i.value ?!....
Wer kann mir da helfen ?
Gruß
Kay
AW: Userform, Crtl.-Felder in Tabelle übernehmen
11.07.2009 20:38:43
Original
Hi,
= Controls("Checkbox" & CStr(i))
mfg Kurt
AW: Userform, Crtl.-Felder in Tabelle übernehmen
11.07.2009 21:09:24
Kay
Hi Danke, aber irgendwie stimmt noch was nicht.
Habe in Spalte 40 - 57 vor, die Eigenschaften der Optionsfelder (OB) 1-18 zu hinterlegen.
Aber mit dem unteren Code - steht in der Tabelle immer False - egal welches Optionsfeld aktiv ist ?!
Warum ?!
Gruß und Danke schon mal
Kay
' Ergänzung der Erfassung mit Eintragung der Check-&Optionsfelder-Eigenschaften
With Worksheets("ATE")
LZeile = LZeile
For i = 40 To 57
For a = 1 To 18
.Cells(LZeile, i) = Controls("OB" & CStr(a))
Next a
Next i
End With
Anzeige
AW: Userform, Crtl.-Felder in Tabelle übernehmen
11.07.2009 22:01:05
Kay
So klappt es ... Danke für Eure Unterstützung.
Mit der doppelten For-Schleife hat das Marko alle Felder mehrfach durchlaufen und somit niecht den eigentlichen Wert stehen lassen.
With Worksheets("ATE")
LZeile = LZeile
For a = 1 To 18
.Cells(LZeile, a + 39) = Me("OB" & a).Value
Next a
End With
AW: Userform, Crtl.-Felder in Tabelle übernehmen
11.07.2009 21:47:26
Kay
Hi Tino,
...vielen Dank für die Beispiel-Datei. Kann Sie zwar nachvollziehen, aber irgendwie nicht auf meine Datei übertragen ?
Wie müsste der Code lauten, um nicht in A senkrecht zu gehen, sondern spalte 40-57 zu nutzen und wie kann ich es auf die Zeile beziehen, die mit speichern genommen werden soll ?
Und wie kann ich die Optionsfelder 1-18 auf die Spalte 40-57 verteilen ?!
Hatte es halt per Schleife versucht - siehe Anwort zuvor...
Gruß und Danke !
Kay
Anzeige
AW: Userform, Crtl.-Felder in Tabelle übernehmen
11.07.2009 22:08:00
Tino
Hallo,
so wird ab der Zelle AN1 (=Spalte 40) nach rechts eingefügt.
Option Explicit

Private Sub CommandButton1_Click()
 Unload Me
End Sub


Private Sub UserForm_Initialize()
Dim myAr
Dim A As Long, L As Long
    
    With Sheets("Zwischenspeicher")
     L = .Cells(1, .Columns.Count).End(xlToLeft).Column
     myAr = .Range(.Cells(1, 40), .Cells(1, L))
    End With
  
  If L > 39 Then
         If L > 40 Then
              For A = 1 To Ubound(myAr, 2)
                   Me(myAr(1, A)) = True
              Next A
         Else
                  Me(myAr) = True
         End If
   End If
End Sub

Private Sub UserForm_Terminate()
Dim objCheck As Control
Dim iCount As Integer
Dim myAr()


For Each objCheck In Me.Controls
 If TypeName(objCheck) = "CheckBox" Then
  If objCheck Then
   Redim Preserve myAr(iCount)
   myAr(iCount) = objCheck.Name
   iCount = iCount + 1
  End If
 End If
Next objCheck

With Sheets("Zwischenspeicher")
 .Range(.Cells(1, 40), .Cells(1, .Columns.Count)).Value = ""
 If iCount > 0 Then
  .Cells(1, 40).Resize(1, Ubound(myAr) + 1) = myAr
 End If
End With

End Sub
PS: ich würde die von oben nach unten in einer separaten Tabelle machen die kannst Du ja ausblenden.
Gruß Tino
Anzeige
AW: Userform, Crtl.-Felder in Tabelle übernehmen
11.07.2009 22:10:25
Kay
Super - finde ich klasse - vielen lieben Dank !
Auch die Idee mit dem anderen Blatt - perfekt !
Gruß
Kay
ok. oT.
11.07.2009 22:12:07
Tino

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige