just4fun1990
Goto Top

Textbox Zelle ändern

Hallo Administrator.de User,

wieder einmal eine Frage (nimmt ja heute kein Ende face-smile )

Und zwar möchte ich eine Listbox haben, die mir die Geräte auflistet am besten untereinander aufgelistet:

erstes Problem die Geräte sind nebeneinander von Zelle A1 - Q1 aufgeschrieben wie krieg ich die dann in der Listbox untereinander.
zweites Problem ich möchte über eine Schaltfläche das in der Listbox markierte Gerät zurücksetzen können. Sprich wenn es ursprünglich "Gerät 3" heißt ich es dann umbenannt habe zu "Beispiel" dann möchte ich, wenn ich auf die Schaltfläche zurücksetzen Klicke,
dass es dann wieder in Gerät 3 umbenannt wird.


Ich hoffe ihr könnt mir dabei Helfen

Viele Grüße

Justin

Content-Key: 258314

Url: https://administrator.de/contentid/258314

Printed on: April 24, 2024 at 03:04 o'clock

Mitglied: 114757
114757 Dec 22, 2014 updated at 12:27:22 (UTC)
Goto Top
Moin,
erstes Problem die Geräte sind nebeneinander von Zelle A1 - A17 aufgeschrieben wie krieg ich die dann in der Listbox untereinander.
ListBox1.Clear
For Each cell In Sheets(1).Range("A1:Q1")  
    ListBox1.AddItem cell.Value
Next
das zweite Problem verstehe ich so nicht ...

Gruß jodel32
Member: Just4fun1990
Just4fun1990 Dec 22, 2014 at 13:54:57 (UTC)
Goto Top
Hi Jodel32,

der Code funktioniert bei mir leider nicht.

Mit freundlichen Grüßen Justin
Mitglied: 114757
114757 Dec 22, 2014 updated at 14:04:32 (UTC)
Goto Top
Zitat von @Just4fun1990:
der Code funktioniert bei mir leider nicht.
"Funktioniert nicht " ist keine qualifizierte Fehlermeldung !!

Der geht problemlos wenn man ihn an seine Umgebung anpasst !! Ich gehe recht in der Annahme das du eine ListBox(Name ListBox1) in einer Userform meinst ? Der Code geht in diesem Fall einwandfrei...

Sheet und Range muss natürlich auch an deine Umgebung angepasst werden, das kann man hier doch erwarten oder ??

p.s. du meintest wohl anstatt A1:A17 eher A1:Q1 denn dein genannter Range wäre eine Spalte und kein Horizontaler Bereich !!!!
Member: Just4fun1990
Just4fun1990 Dec 22, 2014 at 14:14:35 (UTC)
Goto Top
Tut mir leid, der Code funktioniert aber nicht bei mir ka wieso trotzdem danke
Mitglied: 114757
114757 Dec 22, 2014 updated at 14:17:10 (UTC)
Goto Top
Zitat von @Just4fun1990:

Tut mir leid, der Code funktioniert aber nicht bei mir ka wieso trotzdem danke

Aha, mal wieder einer der sich nicht helfen lassen will ...

"Funktioniert nicht " ist keine qualifizierte Fehlermeldung !!
Member: Just4fun1990
Just4fun1990 Dec 23, 2014 at 06:20:21 (UTC)
Goto Top
Hi Jodel32,

tut mir leid aber mein Excel funktioniert nicht immer richtig. (habe das schon öfters feststellen müssen).
Mittlerweile funktioniert der Code. (komisch bei mir war, dass der Code im "kaputten" Excel nicht funktionierte und
trotzdem wurde einfach kein Fehlercode angezeigt deswegen konnte ich dir auch keinen sagen, denn die UserForm blieb einfach weiß.)

So jetzt zum zweiten Problem:

Gerät 1-17 sind die Standardbezeichnungen der Zellen. Angenommen, ich hätte jetzt die Zelle B1 (Also "Gerät 2") in z.B. "Autokran" umgeschrieben, dann wird in der Listbox "Autokran" anstatt "Gerät 2" angezeigt. Ich möchte, dass wenn ich jetzt auf "Autokran" in der Listbox klicke und dann auf die Schaltfläche Gerät löschen klicke, dass er dann nur die Zelle B1 (Also "Autokran") wieder in "Gerät 2" umbenennt.

Hoffe ich konnte mein Problem diesmal besser erklären.
Ps. Tut mir leid für die ich sag mal Unannehmlichkeiten.

Mit freundlichen Grüßen Justin
Mitglied: 114757
114757 Dec 23, 2014 at 09:12:47 (UTC)
Goto Top
Nehme einfach den ListIndex des markierten Eintrags in der Listbox für eine Referenz auf deine Zelle im Arbeitsblatt:
Cells(1, (ListBox1.ListIndex +1)).Value = "Gerät " & (ListBox1.ListIndex + 1)
und feddich ist die Laube.

Gruß jodel32
Member: Just4fun1990
Just4fun1990 Dec 23, 2014 at 09:25:12 (UTC)
Goto Top
Hi Jodel32,

ich bin erst vor seit gut zwei Monaten in VBA eingestiegen, kannst du mir vielleicht erklären anhand deines Codes den du mir vorher geschickt hast, wie genau ich das zu machen habe? Ich denke du beherrschst VBA schon etwas länger als ich. Habe nachsehen mit mir face-smile

Gruß Justin
Mitglied: 116301
Solution 116301 Dec 24, 2014 updated at 11:19:42 (UTC)
Goto Top
Hallo Justin!

Soweit ich das verstanden habe, ginge das in etwa so:
Option Explicit

Private Const SheetName = "Tabelle1"    'Tabellenname anpassen  

Private Sub UserForm_Initialize()   'ListBox initialisieren  
    ListBox1.List = WorksheetFunction.Transpose(Sheets(SheetName).Range("A1:Q1"))  
End Sub

Private Sub CommandButton1_Click()  'Zurücksetzen  
    Dim ListIndex As Long
    
    With ListBox1
        ListIndex = .ListIndex
        If ListIndex >= 0 Then
            Sheets(SheetName).Range("A1").Offset(0, ListIndex).Value = "Gerät " & ListIndex + 1  
           .List = WorksheetFunction.Transpose(Sheets(SheetName).Range("A1:Q1"))  
           .ListIndex = ListIndex
        End If
    End With
End Sub

Grüße Dieter
Member: Just4fun1990
Just4fun1990 Dec 24, 2014 at 10:08:35 (UTC)
Goto Top
Hi Dieter,

den Code habe ich gesucht vielen Dank. Funktioniert prima face-smile

Viele Grüße

Justin