Hallo Zusammen,
leider habe ich den 1. Post versehentlich gelöscht...
Problem: ich kann nicht mit der Worksheet Variable arbeiten, weil Sie egal was ich machen will eine Fehlermeldung auslöst.
UserForm:
Code:
Option Explicit
Dim ws As Worksheet
'CHAT-PARTNER DURCH BUTTON FESTLEGEN
Private Sub btn_heidi_Click()
Me.TextBox3.Value = "Heidi"
Call lb_füllen
Call set_worksheet
End Sub
Private Sub btn_martina_Click()
Me.TextBox3.Value = "Martina"
Call lb_füllen
Call set_worksheet
End Sub
Private Sub btn_andreas_Click()
Me.TextBox3.Value = "Andreas"
Call lb_füllen
Call set_worksheet
End Sub
Private Sub btn_marius_Click()
Me.TextBox3.Value = "Marius"
Call lb_füllen
Call set_worksheet
End Sub
Private Sub btn_ulrike_Click()
Me.TextBox3.Value = "Ulrike"
Call lb_füllen
Call set_worksheet
End Sub
Private Sub btn_angelika_Click()
Me.TextBox3.Value = "Angelika"
Call lb_füllen
Call set_worksheet
End Sub
Private Sub btn_maximilian_Click()
Me.TextBox3.Value = "Maximilian"
Call lb_füllen
Call set_worksheet
End Sub
Private Sub btn_fynn_Click()
Me.TextBox3.Value = "Fynn"
Call lb_füllen
Call set_worksheet
End Sub
'NEUE NACHRICHT ERFASSEN
Private Sub btn_message_Click()
Call new_message
End Sub
Private Sub user_a_Click()
With Me.user_b
.Visible = True
End With
With Me.user_btn
.Visible = True
End With
End Sub
'AUSWÄHLEN WELCHER USER MAN IST
Private Sub user_btn_Click()
Me.user_a.Caption = Me.user_b.Value
Call username
With Me.user_b
.Visible = False
End With
With Me.user_btn
.Visible = False
End With
End Sub
Private Sub UserForm_Activate()
'USER-AUSWAHL-BOX FÜLLEN
With Me.user_b
.Visible = False
.AddItem "Heidi Bungert"
.AddItem "Martina Scherf"
.AddItem "Andreas Stein"
.AddItem "Marius May"
.AddItem "Ulrike Henrich"
.AddItem "Angelika Müller"
.AddItem "Maximilian Lehnen"
.AddItem "Fynn Knippel"
End With
'USER-AUWAHL BUTTON START-EIGENSCHAFT
With Me.user_btn
.Visible = False
End With
'CHAT-PARTNER BUTTONS START-EIGENSCHAFT
Call username
End Sub
'CHAT-PARTNER BUTTONS EIGENSCHAFT
Sub username()
If Me.user_b = "Heidi Bungert" Then
Me.btn_heidi.Enabled = False
Me.btn_martina.Enabled = True
Me.btn_andreas.Enabled = True
Me.btn_marius.Enabled = True
Me.btn_ulrike.Enabled = True
Me.btn_angelika.Enabled = True
Me.btn_maximilian.Enabled = True
Me.btn_fynn.Enabled = True
ElseIf Me.user_b = "Martina Scherf" Then
Me.btn_heidi.Enabled = True
Me.btn_martina.Enabled = False
Me.btn_andreas.Enabled = True
Me.btn_marius.Enabled = True
Me.btn_ulrike.Enabled = True
Me.btn_angelika.Enabled = True
Me.btn_maximilian.Enabled = True
Me.btn_fynn.Enabled = True
ElseIf Me.user_b = "Andreas Stein" Then
Me.btn_heidi.Enabled = True
Me.btn_martina.Enabled = True
Me.btn_andreas.Enabled = False
Me.btn_marius.Enabled = True
Me.btn_ulrike.Enabled = True
Me.btn_angelika.Enabled = True
Me.btn_maximilian.Enabled = True
Me.btn_fynn.Enabled = True
ElseIf Me.user_b = "Marius May" Then
Me.btn_heidi.Enabled = True
Me.btn_martina.Enabled = True
Me.btn_andreas.Enabled = True
Me.btn_marius.Enabled = False
Me.btn_ulrike.Enabled = True
Me.btn_angelika.Enabled = True
Me.btn_maximilian.Enabled = True
Me.btn_fynn.Enabled = True
ElseIf Me.user_b = "Ulrike Henrich" Then
Me.btn_heidi.Enabled = True
Me.btn_martina.Enabled = True
Me.btn_andreas.Enabled = True
Me.btn_marius.Enabled = True
Me.btn_ulrike.Enabled = False
Me.btn_angelika.Enabled = True
Me.btn_maximilian.Enabled = True
Me.btn_fynn.Enabled = True
ElseIf Me.user_b = "Angelika Müller" Then
Me.btn_heidi.Enabled = True
Me.btn_martina.Enabled = True
Me.btn_andreas.Enabled = True
Me.btn_marius.Enabled = True
Me.btn_ulrike.Enabled = True
Me.btn_angelika.Enabled = False
Me.btn_maximilian.Enabled = True
Me.btn_fynn.Enabled = True
ElseIf Me.user_b = "Maximilian Lehnen" Then
Me.btn_heidi.Enabled = True
Me.btn_martina.Enabled = True
Me.btn_andreas.Enabled = True
Me.btn_marius.Enabled = True
Me.btn_ulrike.Enabled = True
Me.btn_angelika.Enabled = True
Me.btn_maximilian.Enabled = False
Me.btn_fynn.Enabled = True
ElseIf Me.user_b = "Fynn Knippel" Then
Me.btn_heidi.Enabled = True
Me.btn_martina.Enabled = True
Me.btn_andreas.Enabled = True
Me.btn_marius.Enabled = True
Me.btn_ulrike.Enabled = True
Me.btn_angelika.Enabled = True
Me.btn_maximilian.Enabled = True
Me.btn_fynn.Enabled = False
Else
Me.btn_heidi.Enabled = False
Me.btn_martina.Enabled = False
Me.btn_andreas.Enabled = False
Me.btn_marius.Enabled = False
Me.btn_ulrike.Enabled = False
Me.btn_angelika.Enabled = False
Me.btn_maximilian.Enabled = False
Me.btn_fynn.Enabled = False
End If
End Sub
'NEW-MESSAGE EVENTS
Sub new_message()
Dim i As Integer
Dim ws As Worksheet
' Call set_worksheet
ws = "marius-ulrike" '<- Fehlermeldung "Objektvariable oder With-Blockvariable nicht definiert."
With ws '<- Fehlermeldung "Objektvariable oder With-Blockvariable nicht definiert."
i = .Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
.Cells(i, 1).Value = Me.TextBox4.Text
.Cells(i, 2).Value = Me.user_a.Caption & " schrieb am: "
.Cells(i, 3).Value = Date & " um: "
.Cells(i, 4).Value = Time & " Uhr: "
.Cells(i, 5).Value = Me.TextBox2.Text
Me.TextBox2.Text = ""
End With
End Sub
'WORKSHEET-AUSWAHL NACH CHAT-PARTNER
Sub set_worksheet()
Dim ws As Worksheet
' ----- USER HEIDI -----
If Me.user_a.Caption = "Heidi Bungert" & Me.TextBox3.Value = "Martina" Then
Set ws = Sheets("heidi-martina")
End If
If Me.user_a.Caption = "Heidi Bungert" & Me.TextBox3.Value = "Andreas" Then
Set ws = Sheets("heidi-andreas")
End If
If Me.user_a.Caption = "Heidi Bungert" & Me.TextBox3.Value = "Marius" Then
Set ws = Sheets("heidi-marius")
End If
If Me.user_a.Caption = "Heidi Bungert" & Me.TextBox3.Value = "Ulrike" Then
Set ws = Sheets("heidi-ulrike")
End If
If Me.user_a.Caption = "Heidi Bungert" & Me.TextBox3.Value = "Angelika" Then
Set ws = Sheets("heidi-angelika")
End If
If Me.user_a.Caption = "Heidi Bungert" & Me.TextBox3.Value = "Maximilian" Then
Set ws = Sheets("heidi-maximilian")
End If
If Me.user_a.Caption = "Heidi Bungert" & Me.TextBox3.Value = "Fynn" Then
Set ws = Sheets("heidi-fynn")
End If
' ----- USER MARTINA -----
If Me.user_a.Caption = "Martina Scherf" & Me.TextBox3.Value = "Heidi" Then
Set ws = Sheets("heidi-martina")
End If
If Me.user_a.Caption = "Martina Scherf" & Me.TextBox3.Value = "Andreas" Then
Set ws = Sheets("martina-andreas")
End If
If Me.user_a.Caption = "Martina Scherf" & Me.TextBox3.Value = "Marius" Then
Set ws = Sheets("martina-marius")
End If
If Me.user_a.Caption = "Martina Scherf" & Me.TextBox3.Value = "Ulrike" Then
Set ws = Sheets("martina-ulrike")
End If
If Me.user_a.Caption = "Martina Scherf" & Me.TextBox3.Value = "Angelika" Then
Set ws = Sheets("martina-angelika")
End If
If Me.user_a.Caption = "Martina Scherf" & Me.TextBox3.Value = "Maximilian" Then
Set ws = Sheets("martina-maximilian")
End If
If Me.user_a.Caption = "Martina Scherf" & Me.TextBox3.Value = "Fynn" Then
Set ws = Sheets("martina-fynn")
End If
' ----- USER ANDREAS -----
If Me.user_a.Caption = "Andreas Stein" & Me.TextBox3.Value = "Heidi" Then
Set ws = Sheets("heidi-andreas")
End If
If Me.user_a.Caption = "Andreas Stein" & Me.TextBox3.Value = "Martina" Then
Set ws = Sheets("martina-andreas")
End If
If Me.user_a.Caption = "Andreas Stein" & Me.TextBox3.Value = "Marius" Then
Set ws = Sheets("andreas-marius")
End If
If Me.user_a.Caption = "Andreas Stein" & Me.TextBox3.Value = "Ulrike" Then
Set ws = Sheets("andreas-marius")
End If
If Me.user_a.Caption = "Andreas Stein" & Me.TextBox3.Value = "Angelika" Then
Set ws = Sheets("andreas-angelika")
End If
If Me.user_a.Caption = "Andreas Stein" & Me.TextBox3.Value = "Maximilian" Then
Set ws = Sheets("andreas-maximilian")
End If
If Me.user_a.Caption = "Andreas Stein" & Me.TextBox3.Value = "Fynn" Then
Set ws = Sheets("andreas-fynn")
End If
' ----- USER MARIUS -----
If Me.user_a.Caption = "Marius May" & Me.TextBox3.Value = "Heidi" Then
Set ws = Sheets("heidi-marius")
End If
If Me.user_a.Caption = "Marius May" & Me.TextBox3.Value = "Martina" Then
Set ws = Sheets("martina-marius")
End If
If Me.user_a.Caption = "Marius May" & Me.TextBox3.Value = "Andreas" Then
Set ws = Sheets("andreas-marius")
End If
If Me.user_a.Caption = "Marius May" And Me.TextBox3.Value = "Ulrike" Then
Set ws = Sheets("marius-ulrike")
End If
If Me.user_a.Caption = "Marius May" & Me.TextBox3.Value = "Angelika" Then
Set ws = Sheets("marius-angelika")
End If
If Me.user_a.Caption = "Marius May" & Me.TextBox3.Value = "Maximilian" Then
Set ws = Sheets("marius-maximilian")
End If
If Me.user_a.Caption = "Marius May" & Me.TextBox3.Value = "Fynn" Then
Set ws = Sheets("marius-fynn")
End If
' ----- USER ULRIKE -----
If Me.user_a.Caption = "Ulrike Henrich" & Me.TextBox3.Value = "Heidi" Then
Set ws = Sheets("heidi-ulrike")
End If
If Me.user_a.Caption = "Ulrike Henrich" & Me.TextBox3.Value = "Martina" Then
Set ws = Sheets("martina-ulrike")
End If
If Me.user_a.Caption = "Ulrike Henrich" & Me.TextBox3.Value = "Andreas" Then
Set ws = Sheets("andreas-ulrike")
End If
If Me.user_a.Caption = "Ulrike Henrich" & Me.TextBox3.Value = "Marius" Then
Set ws = Sheets("marius-ulrike")
End If
If Me.user_a.Caption = "Ulrike Henrich" & Me.TextBox3.Value = "Angelika" Then
Set ws = Sheets("ulrike-angelika")
End If
If Me.user_a.Caption = "Ulrike Henrich" & Me.TextBox3.Value = "Maximilian" Then
Set ws = Sheets("ulrike-maximilian")
End If
If Me.user_a.Caption = "Ulrike Henrich" & Me.TextBox3.Value = "Fynn" Then
Set ws = Sheets("ulrike-fynn")
End If
' ----- USER ANGELIKA -----
If Me.user_a.Caption = "Angelika Müller" & Me.TextBox3.Value = "Heidi" Then
Set ws = Sheets("heidi-angelika")
End If
If Me.user_a.Caption = "Ulrike Henrich" & Me.TextBox3.Value = "Martina" Then
Set ws = Sheets("martina-angelika")
End If
If Me.user_a.Caption = "Ulrike Henrich" & Me.TextBox3.Value = "Andreas" Then
Set ws = Sheets("andreas-angelika")
End If
If Me.user_a.Caption = "Ulrike Henrich" & Me.TextBox3.Value = "Marius" Then
Set ws = Sheets("marius-angelika")
End If
If Me.user_a.Caption = "Ulrike Henrich" & Me.TextBox3.Value = "Ulrike" Then
Set ws = Sheets("ulrike-angelika")
End If
If Me.user_a.Caption = "Ulrike Henrich" & Me.TextBox3.Value = "Maximilian" Then
Set ws = Sheets("angelika-maximilian")
End If
If Me.user_a.Caption = "Ulrike Henrich" & Me.TextBox3.Value = "Fynn" Then
Set ws = Sheets("angelika-fynn")
End If
' ----- USER MAXIMILIAN -----
If Me.user_a.Caption = "Maximilian Lehnen" & Me.TextBox3.Value = "Heidi" Then
Set ws = Sheets("heidi-maximilian")
End If
If Me.user_a.Caption = "Maximilian Lehnen" & Me.TextBox3.Value = "Martina" Then
Set ws = Sheets("martina-maximilian")
End If
If Me.user_a.Caption = "Maximilian Lehnen" & Me.TextBox3.Value = "Andreas" Then
Set ws = Sheets("andreas-maximilian")
End If
If Me.user_a.Caption = "Maximilian Lehnen" & Me.TextBox3.Value = "Marius" Then
Set ws = Sheets("marius-maximilian")
End If
If Me.user_a.Caption = "Maximilian Lehnen" & Me.TextBox3.Value = "Ulrike" Then
Set ws = Sheets("ulrike-maximilian")
End If
If Me.user_a.Caption = "Maximilian Lehnen" & Me.TextBox3.Value = "Angelika" Then
Set ws = Sheets("angelika-maximilian")
End If
If Me.user_a.Caption = "Maximilian Lehnen" & Me.TextBox3.Value = "Fynn" Then
Set ws = Sheets("maximilian-fynn")
End If
' ----- USER FYNN -----
If Me.user_a.Caption = "Fynn Knippel" & Me.TextBox3.Value = "Heidi" Then
Set ws = Sheets("heidi-fynn")
End If
If Me.user_a.Caption = "Fynn Knippel" & Me.TextBox3.Value = "Martina" Then
Set ws = Sheets("martina-fynn")
End If
If Me.user_a.Caption = "Fynn Knippel" & Me.TextBox3.Value = "Andreas" Then
Set ws = Sheets("andreas-fynn")
End If
If Me.user_a.Caption = "Fynn Knippel" & Me.TextBox3.Value = "Marius" Then
Set ws = Sheets("marius-fynn")
End If
If Me.user_a.Caption = "Fynn Knippel" & Me.TextBox3.Value = "Ulrike" Then
Set ws = Sheets("ulrike-fynn")
End If
If Me.user_a.Caption = "Fynn Knippel" & Me.TextBox3.Value = "Angelika" Then
Set ws = Sheets("angelika-fynn")
End If
If Me.user_a.Caption = "Fynn Knippel" & Me.TextBox3.Value = "Maximilian" Then
Set ws = Sheets("maximilian-fynn")
End If
End Sub
'LISTBOX-FÜLLEN
Sub lb_füllen()
' Dim ws As Worksheet
' Dim i As Long
'
' Call set_worksheet
'
' Me.Caption = "Chat zwischen " & Me.user_a.Caption & " und " & Me.TextBox3.Value
' With Worksheets(ws) '--Blattname anpassen
' ListBox1.Clear
' For i = 1 To .Cells(Rows.Count, "B").End(xlUp).Row '--Zeile 1 bis letzten benutzten Zelle in SpalteE
' If .Cells(i, "B") = Me.user_a And .Cells(i, "C") = Me.TextBox3.Value Then '-- wenn Null dann
' ListBox1.AddItem .Cells(i, "A") '--Statt A die Spalte deren Inhalt aufgefuehrt werden soll
' End If
' Next
' End With
End Sub
Zu einem Vorschlag eines Gastes aus dem 1. Post:
Methode 1:
statt
'NEW-MESSAGE EVENTS
Sub new_message()
Dim i As Integer
Dim ws As Worksheet
' Call set_worksheet
With Sheets(ws)
i = .Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
.Cells(i, 1).Value = Me.TextBox4.Text
.Cells(i, 2).Value = Me.user_a.Caption & " schrieb am: "
.Cells(i, 3).Value = Date & " um: "
.Cells(i, 4).Value = Time & " Uhr: "
.Cells(i, 5).Value = Me.TextBox2.Text
Me.TextBox2.Text = ""
End With
End Sub
zu verwenden
'NEW-MESSAGE EVENTS
Sub new_message()
Dim i As Integer
Dim ws As Worksheet
' Call set_worksheet
With ws '<- Fehlermeldung "Objektvariable oder With-Blockvariable nicht definiert."
i = .Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
.Cells(i, 1).Value = Me.TextBox4.Text
.Cells(i, 2).Value = Me.user_a.Caption & " schrieb am: "
.Cells(i, 3).Value = Date & " um: "
.Cells(i, 4).Value = Time & " Uhr: "
.Cells(i, 5).Value = Me.TextBox2.Text
Me.TextBox2.Text = ""
End With
End Sub
Methode 2:
statt
'NEW-MESSAGE EVENTS
Sub new_message()
Dim i As Integer
Dim ws As Worksheet
' Call set_worksheet
With Sheets(ws)
i = .Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
.Cells(i, 1).Value = Me.TextBox4.Text
.Cells(i, 2).Value = Me.user_a.Caption & " schrieb am: "
.Cells(i, 3).Value = Date & " um: "
.Cells(i, 4).Value = Time & " Uhr: "
.Cells(i, 5).Value = Me.TextBox2.Text
Me.TextBox2.Text = ""
End With
End Sub
zu verwenden
'NEW-MESSAGE EVENTS
Sub new_message()
Dim i As Integer
Dim ws As Worksheet
' Call set_worksheet
ws = "marius-ulrike" '<- Fehlermeldung "Objektvariable oder With-Blockvariable nicht definiert."
With Sheets(ws)
i = .Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
.Cells(i, 1).Value = Me.TextBox4.Text
.Cells(i, 2).Value = Me.user_a.Caption & " schrieb am: "
.Cells(i, 3).Value = Date & " um: "
.Cells(i, 4).Value = Time & " Uhr: "
.Cells(i, 5).Value = Me.TextBox2.Text
Me.TextBox2.Text = ""
End With
End Sub
Dabei kommen bei mir o.g. Fehlermeldungen bei rum.
Gruß
|