27.07.2024, 16:00
Hallo Gemeinde!
Ich habe wieder eine neue Aufgabe:
Nachdem die Listbox endlich das macht was sie soll, sollen jetzt die Einträge in dem Tabellenblatt in der entsprechenden Zeile gelöscht werden.
Was auch schon funktioniert.
Über einen CommandButton in der UserForm.
Das Problem bei der Sache ist.
Das nach dem Löschen der Zeile in dem jeweiligen Tabellenblatt der Eintrag in der ListBox bestehen bleibt.
Erst wenn ich die Datei speichere und neu öffne wird die Lsitbox neu geladen und der Eintrag ist nicht mehr in der ListBox eingetragen.
Das ganze sieht jetzt so aus:
Hier der CommandButton:
Die 2. Aufgabe ist, wenn die UserForm geöffnet ist, und man aber keinen Eintrag aus der ListBox auswählt,
dann eine MsgBox erscheint in dem man einen Eintrag aus der ListBox auswählen soll.
Kann mir jemand dabei weiter helfen?
Danke
Gruß
Frank
Ich habe wieder eine neue Aufgabe:
Nachdem die Listbox endlich das macht was sie soll, sollen jetzt die Einträge in dem Tabellenblatt in der entsprechenden Zeile gelöscht werden.
Was auch schon funktioniert.
Über einen CommandButton in der UserForm.
Das Problem bei der Sache ist.
Das nach dem Löschen der Zeile in dem jeweiligen Tabellenblatt der Eintrag in der ListBox bestehen bleibt.
Erst wenn ich die Datei speichere und neu öffne wird die Lsitbox neu geladen und der Eintrag ist nicht mehr in der ListBox eingetragen.
Das ganze sieht jetzt so aus:
Code:
Private Sub UserForm_Initialize()
Dim i As Long
Dim destinationWorkbook As Workbook
Dim destinationWorksheet As Worksheet
' Öffne die externe Excel-Datei
Set destinationWorkbook = GetObject("C:\Users\frank\Excel\Excel Arbeit\Archiv.xlsx")
Set destinationWorksheetPrüfkontur = destinationWorkbook.Worksheets("Prüfkontur")
With destinationWorksheetGeneratorPrüfkontur
For i = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
ListBox1.AddItem .Cells(i, 1).Text 'Zeichnungsnummer
ListBox1.List(ListBox1.ListCount - 1, 1) = .Cells(i, 2) 'Kunde
ListBox1.List(ListBox1.ListCount - 1, 2) = .Cells(i, 63) 'Speicherdatum
ListBox1.List(ListBox1.ListCount - 1, 3) = .Cells(i, 144) 'Anlage
ListBox1.List(ListBox1.ListCount - 1, 4) = .Cells(i, 145) 'lfd.Nr.
Next i
End With
End Sub
Code:
Private Sub CommandButton1_Click()
'Einträge in Zeilen löschen
'Überprüfung ob ein Wert aus der ListBox ausgewählt wurde
If Me.ListBox1.ListIndex <> -1 Then
'Zeichnungsnummer ist entsprechend der Eintrag in Spalte A in der Listbox
Zeichnungsnummer = Me.ListBox1.Value
'Wert in Tabelle Prüfkontur Spalte A suchen.
Dim zeileinPrüfkontur As Variant
Dim filePath As String
'Pfad in der die Parameterdatei: "Archiv" in dem Format .xlsx ist:
filePath= "C:\Users\frank\Excel\Excel Arbeit\Archiv.xlsx"
'Datei öffnen:
Set wb2 = GetObject(filePath)
'Tabelle: "Prüfkontur" auswählen:
Set ws2 = wb2.Worksheets("Prüfkontur")
'Punkte in der Schreibweise xxxx.xxxx.xx entfernen
searchValue = CDbl(Replace(ListBox1.Text, ".", ""))
zeileinPrüfkontur = Application.Match(searchValue, ws2.Columns("A"), 0)
If Not IsError(zeileinPrüfkontur) Then
ws2.Rows(CLng(zeileinPrüfkontur)).Delete
End If
End If
End Sub
Die 2. Aufgabe ist, wenn die UserForm geöffnet ist, und man aber keinen Eintrag aus der ListBox auswählt,
dann eine MsgBox erscheint in dem man einen Eintrag aus der ListBox auswählen soll.
Kann mir jemand dabei weiter helfen?
Danke
Gruß
Frank