Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1104to1108
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

2 Fragen

2 Fragen
Martin
Ich wünsche einen schönen guten Morgen :)
Ich arbeite gerade wieder mal an meiner Excel und habe 2 Probleme. Wäre super wenn mir jemand helfen könnte, Danke schonmal im voraus!
1) Ich möchte aus meiner UserForm Daten in eine Tabelle übrtragen. Klappt bei Textfeldern auch problemlos, nur bei ComboBoxen geht es nicht...
Private Sub CommandButton1_Click()
Set Frm = UserForm1
Sheets("Wechselrichter").Activate
Range("C65536").End(xlUp).Offset(1, 0).Select
With Frm
ActiveCell.Value = .TextBox9.Value
ActiveCell.Offset(0, 1).Value = .TextBox4.Value
ActiveCell.Offset(0, 2).Value = .TextBox5.Value
ActiveCell.Offset(0, 3).Value = .ComboBox1.Value
ActiveCell.Offset(0, 4).Value = .TextBox18.Value
End With
End Sub

Ich habe auch schon nachgegoogelt und der Befehl " ActiveCell.Offset(0, 3).Value = .ComboBox1.Value" klappt anscheinend bei anderen Leuten.
2) Ich habe mehrere ComboBoxen, die ich mit Elementen gefüllt habe.
Private Sub UserForm_Initialize()
With ComboBox1
.AddItem "Planung"
.AddItem "Planung & Installation"
.AddItem "Beratung"
.AddItem "Wirtschaftlichkeitsanalyse"
End With
End Sub
Private Sub UserForm_Initialize()
With ComboBox3
.AddItem "Satteldach"
.AddItem "Pultdach"
.AddItem "Sheddach"
.AddItem "Flachdach"
.AddItem "Gewölbtes Dach"
.AddItem "Sonstige Dachform"
End With
End Sub

Nun kommt beim Test "Userform_Initialize Mehrdeutiger Name". Ich für mich ein Zeichen, das ich den Namen nicht zweimal nehmen kann, aber wenn ich ihn umbennene, zeige es mir nicht die Elemente an. Vielleicht benenne ich es auch falsch um :(
Ich bin für jede Hilfe sehr dankbar!
mfg Martin

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
zu 2.
20.09.2009 11:15:07
Matthias
Hallo
Es gibt nur ein Initialize-Ereignis
Pack alle Zeilen dazwischen
Private Sub UserForm_Initialize()
With ComboBox1
.AddItem "Planung"
.AddItem "Planung & Installation"
.AddItem "Beratung"
.AddItem "Wirtschaftlichkeitsanalyse"
End With
With ComboBox3
.AddItem "Satteldach"
.AddItem "Pultdach"
.AddItem "Sheddach"
.AddItem "Flachdach"
.AddItem "Gewölbtes Dach"
.AddItem "Sonstige Dachform"
End With
End Sub
Gruß Matthias
AW: 2 Fragen
20.09.2009 11:18:27
Daniel
HI
Frage 1
da gibts viele Möglichkeiten, die Ursache muss nicht immer am Code liegen (vielleicht heißt deine Combobox ja nicht Combobox1 sondern Klaus)
am besten ist in diesem Fall, du lädst die Datei mit dem Fehler mal hoch.
Frage 2
es darf pro Userform nur ein "_Initialize"-Makro geben.
dh. du musst den Code in einem Makro zusammenfassen.
Private Sub UserForm_Initialize()
With ComboBox1
.AddItem "Planung"
.AddItem "Planung & Installation"
.AddItem "Beratung"
.AddItem "Wirtschaftlichkeitsanalyse"
End With
With ComboBox3
.AddItem "Satteldach"
.AddItem "Pultdach"
.AddItem "Sheddach"
.AddItem "Flachdach"
.AddItem "Gewölbtes Dach"
.AddItem "Sonstige Dachform"
End With
End Sub
Gruß, Daniel
Anzeige
AW: 2 Fragen
20.09.2009 11:25:07
Martin
Vielen Dank euch beiden für eure schnelle Antwort :)
Eine Frage ist schonmal perfekt gelöst, die zweite evtl auch. Ich schaue mir nochmal alles durch, sollte aber eigentlich - zumindest von den Namen her - passen.
mfg Martin
AW: 2 Fragen
20.09.2009 11:27:14
Matthias
Hallo
es klappt bei mir alles.
Nur mußt Du Frm auch deklarieren.
Userbild
Die MSGBOX war nur zum Testen drin.
Gruß Matthias
AW: 2 Fragen
20.09.2009 11:46:40
Martin
Vielen Dank Matthias, das du es gleich probiert hast!
Ich habe es nun eingefügt und es sieht nun so aus:
Private Sub CommandButton1_Click()
Dim Frm As Object
Set Frm = UserForm1
Sheets("Wechselrichter").Activate
Range("C65536").End(xlUp).Offset(1, 0).Select
With Frm
ActiveCell.Value = .TextBox9.Value
ActiveCell.Offset(0, 1).Value = .TextBox4.Value
ActiveCell.Offset(0, 2).Value = .TextBox5.Value
ActiveCell.Offset(0, 3).Value = .ComboBox1.Value
ActiveCell.Offset(0, 4).Value = .TextBox18.Value
ActiveCell.Offset(0, 5).Value = .TextBox19.Value
ActiveCell.Offset(0, 6).Value = .TextBox20.Value
ActiveCell.Offset(0, 7).Value = .TextBox58.Value
ActiveCell.Offset(0, 8).Value = .TextBox24.Value
ActiveCell.Offset(0, 9).Value = .TextBox25.Value
ActiveCell.Offset(0, 10).Value = .TextBox26.Value
ActiveCell.Offset(0, 11).Value = .TextBox27.Value
ActiveCell.Offset(0, 12).Value = .TextBox28.Value
ActiveCell.Offset(0, 13).Value = .TextBox29.Value
ActiveCell.Offset(0, 14).Value = .ComboBox3.Value
ActiveCell.Offset(0, 15).Value = .ComboBox4.Value
ActiveCell.Offset(0, 16).Value = .ComboBox5.Value
ActiveCell.Offset(0, 17).Value = .TextBox30.Value
ActiveCell.Offset(0, 18).Value = .TextBox31.Value
ActiveCell.Offset(0, 19).Value = .TextBox33.Value
ActiveCell.Offset(0, 20).Value = .TextBox32.Value
ActiveCell.Offset(0, 21).Value = .TextBox34.Value
ActiveCell.Offset(0, 22).Value = .TextBox35.Value
ActiveCell.Offset(0, 23).Value = .TextBox40.Value
ActiveCell.Offset(0, 24).Value = .TextBox41.Value
ActiveCell.Offset(0, 25).Value = .TextBox42.Value
ActiveCell.Offset(0, 26).Value = .TextBox43.Value
ActiveCell.Offset(0, 27).Value = .TextBox44.Value
ActiveCell.Offset(0, 28).Value = .TextBox45.Value
ActiveCell.Offset(0, 29).Value = .TextBox46.Value
ActiveCell.Offset(0, 30).Value = .TextBox47.Value
ActiveCell.Offset(0, 31).Value = .TextBox48.Value
ActiveCell.Offset(0, 32).Value = .TextBox49.Value
ActiveCell.Offset(0, 33).Value = .TextBox50.Value
ActiveCell.Offset(0, 34).Value = .TextBox51.Value
ActiveCell.Offset(0, 35).Value = .TextBox52.Value
ActiveCell.Offset(0, 36).Value = .TextBox53.Value
ActiveCell.Offset(0, 37).Value = .TextBox54.Value
ActiveCell.Offset(0, 38).Value = .TextBox55.Value
ActiveCell.Offset(0, 39).Value = .TextBox56.Value
End With
End Sub
Nun kommt aber: "Laufzeitfehler 438 - Object unterstütze diese Eigenschaft oder Methode nicht." .....
Vielleicht stelle ich mich auch doof an, aber meine Kenntnisse sind noch nicht so ausgereift^^
mfg Martin
Anzeige
AW: 2 Fragen
20.09.2009 12:04:43
Daniel
Hi
es wäre hilfreich, wenn du dazuschreibst, in welcher Zeile der Fehler auftritt.
Wenn ich versuche, deine Datei nachzubauen, dann funktioniert es.
insofern wäre es schon sinnvoll, wenn du deine Datei hochlädst.
noch ein kleiner Tip, wenn du eh mit einer Variablen für die Userform arbeitest, wäre es sinnvoll, die WITH-Klammer umzustrukturieren, außerdem: solange der Code im Modul der Userform steht, ist es nicht notwendig, die Userform anzugeben, wenn du mit den Userformelementen arbeitest:
dh. du brauchst nicht: !Userform1.Textbox1" zu schreiben, sondern "Textbox1" reicht
dh wenn der Commandbuttom zur Userform gehört, solltest du den Code so schreiben:
Private Sub CommandButton1_Click()
With Sheets("Wechselrichter").Range("C65536").End(xlUp).Offset(1, 0)
.Value = TextBox9.Value
.Offset(0, 1).Value = TextBox4.Value
.Offset(0, 2).Value = TextBox5.Value
.Offset(0, 3).Value = ComboBox1.Value
End Wth
End Sub
Nur wenn der Commandbutton sich in einer anderen Userform oder direkt auf dem Tabellenblatt befindet, müsstest du es so schreiben:
Private Sub CommandButton1_Click()
dim Frm as Userform
Set Frm = Userform1
With Sheets("Wechselrichter").Range("C65536").End(xlUp).Offset(1, 0)
.Value = Frm.TextBox9.Value
.Offset(0, 1).Value = Frm.TextBox4.Value
.Offset(0, 2).Value = Frm.TextBox5.Value
.Offset(0, 3).Value = Frm.ComboBox1.Value
End Wth
End Sub
Gruß, Daniel
Anzeige
AW: 2 Fragen
20.09.2009 12:06:01
Matthias
Hallo
Probiers mal so
Private Sub CommandButton1_Click()
Sheets("Wechselrichter").Activate
Range("C65536").End(xlUp).Offset(1, 0).Select
With Selection
.Offset(0, 0).Value = Me.TextBox9.Value
.Offset(0, 1).Value = Me.TextBox4.Value
.Offset(0, 2).Value = Me.TextBox5.Value
.Offset(0, 3).Value = Me.ComboBox1.Value
.Offset(0, 4).Value = Me.TextBox18.Value
.Offset(0, 5).Value = Me.TextBox19.Value
.Offset(0, 6).Value = Me.TextBox20.Value
.Offset(0, 7).Value = Me.TextBox58.Value
.Offset(0, 8).Value = Me.TextBox24.Value
.Offset(0, 9).Value = Me.TextBox25.Value
.Offset(0, 10).Value = Me.TextBox26.Value
.Offset(0, 11).Value = Me.TextBox27.Value
.Offset(0, 12).Value = Me.TextBox28.Value
.Offset(0, 13).Value = Me.TextBox29.Value
.Offset(0, 14).Value = Me.ComboBox3.Value
.Offset(0, 15).Value = Me.ComboBox4.Value
.Offset(0, 16).Value = Me.ComboBox5.Value
.Offset(0, 17).Value = Me.TextBox30.Value
.Offset(0, 18).Value = Me.TextBox31.Value
.Offset(0, 19).Value = Me.TextBox33.Value
.Offset(0, 20).Value = Me.TextBox32.Value
.Offset(0, 21).Value = Me.TextBox34.Value
.Offset(0, 22).Value = Me.TextBox35.Value
.Offset(0, 23).Value = Me.TextBox40.Value
.Offset(0, 24).Value = Me.TextBox41.Value
.Offset(0, 25).Value = Me.TextBox42.Value
.Offset(0, 26).Value = Me.TextBox43.Value
.Offset(0, 27).Value = Me.TextBox44.Value
.Offset(0, 28).Value = Me.TextBox45.Value
.Offset(0, 29).Value = Me.TextBox46.Value
.Offset(0, 30).Value = Me.TextBox47.Value
.Offset(0, 31).Value = Me.TextBox48.Value
.Offset(0, 32).Value = Me.TextBox49.Value
.Offset(0, 33).Value = Me.TextBox50.Value
.Offset(0, 34).Value = Me.TextBox51.Value
.Offset(0, 35).Value = Me.TextBox52.Value
.Offset(0, 36).Value = Me.TextBox53.Value
.Offset(0, 37).Value = Me.TextBox54.Value
.Offset(0, 38).Value = Me.TextBox55.Value
.Offset(0, 39).Value = Me.TextBox56.Value
End With
End Sub
Ich glaube Set Frm um Dim Frm sind doch nicht notwendig, da sich das Commandbutton ja auf dem UserForm befindet, Richtg?
Gruß Matthias
Anzeige
AW: 2 Fragen
20.09.2009 12:25:37
Martin
SUPER :)
Nun klappt es!!!
Ich danke euch beiden sehr, finde es immer wieder erstaunlich wie hilfsbereit man hier ist!
Ich wünsche euch noch einen schönen Tag.
mfg Martin

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige