Ich möchte mit der Maske-Ranking (=Userform) per VBA = Daten aus der Ranking.xls Daten auslesen bzw. zugreifen; Ich möchte aber die Ranking.xls nicht jedes mal öffnen und schließen, sondern die Datei Ranking.xls soll geschlossen bleiben; Die Ranking.xls ist eine "Freigegebene" Datei, auf diese Datei sollen mehrere User per vordefinierter Userform gleichzeitig zugreifen;
Ich bekomme es nur hin, wenn ich die Datei kurz öffne und wieder schließe und das ist nicht mein Ziel. Wenn die Maske-Ranking.xls sich die Daten nach Auswahl Userform holt kommt zusätzlich immer die Abfrage Speicher JA / NEIN / Abbrechen und das ist für einen Anwendungs-User störend und ist mir zu zeitaufwendig bzw. kann dies zu Verunsicherungen führen.
Bitte schaut "Euch" die beiden Dateien doch einfach mal an um mir zu helfen !
https://www.herber.de/bbs/user/10417.xls
Die Datei https://www.herber.de/bbs/user/10418.xls wurde aus Datenschutzgründen gelöscht
mit freundlichen Grüßen
Frank
Hier die VBA-Anwendung die ich hierzu geschrieben habe:
(Das war schon sehr schwer für mich)
Private Sub cmdStart_Click()
On Error Resume Next ' keine Fehlerbehandlung
Dim Book As Workbook
Dim Save As Workbook
Dim xs As Worksheet
Dim i As Integer
Dim StillCode As String
Dim StillCodeIdx As Integer
Dim Stilltext As String ' Lieferant
Dim Stilltext1 As String ' Maschine
Dim Stilltext2 As String ' Anzahl Farben
If txtLieferant = "" Then
MsgBox (" Achtung: Daten-Eingabe ist nicht vollständig! ")
End If
Stilltext = "?"
StillCode = txtLieferant.Text
Set Book = Workbooks.Open("c:\VBA-Smurfit\Ranking.xls")
Set xs = Application.Sheets.Item("Ranking")
If Not xs Is Nothing Then ' falls es diese Datei und Tabellenblatt gibt
StillCodeIdx = 1 ' Anpassen Index
For i = 1 To 16000 ' Anpassen 16000 max. Anzahl Lieferantendatensatz
If xs.Cells(i, StillCodeIdx) = StillCode Then
Stilltext1 = xs.Cells(i, StillCodeIdx + 1) ' Hurra gefunden !!!
Stilltext2 = xs.Cells(i, StillCodeIdx + 2)
End If
Next i
End If
txtMaschine.Text = Stilltext1
txtFarben.Text = Stilltext2
Book.Save
Book.Close
End Sub