Ich hab da ein problem bei dem ich nicht recht fündig werde beziehungsweise hab ich kein Lösungsweg gefunden den ich bisher erfolgreich ummodeln konnte auf meinen Code.
Folgendes, ich habe 2 Excel Dateien.
Die eine heißt immer gleich, die 2. Varriert vom Namen.
Ich möchte das meine Haupttabelle mit den Variablen Namen nach bestimmte werte sucht in der fixen Tabelle. Die Werte stehen in Zellen dennen ich jeweils ein Namen zugewiesen habe. Aber nicht alle abgefragte Namen kommen in der "Starren" Datei vor.
1. Ansatz war, wenn der name nicht existiert, on Error goto und gebe mittels msgbox den fehlenden Namen aus der Zelle die fehlt.
Funktioniert einwandfrei, bis... Ein 2. Benannte Zelle nicht existiert, da wie ich lernen durfte excel noch im debug modus ist trotz Err.Clear.
2. Ansatz den ich wohl nicht verstanden habe, da dieser nicht funktioniert.
Code:
Public wb1 as Workbook
Public wb2 as Workbook
Private Sub databasecheck()
Set wb1 = workbook("testbuch.xlsm")
Set wb2 = activeWorkbook
... Weiterer Code bis zur Abfrage...
Application.run "stationcheck"
... Viele weitere solche nebensubs
End Sub
Private Sub StationCheck()
On error goto 1
If wb1.sheets("sheets1").range("Test") = "ja" then
Weiterer Code..
Exit Sub
Else: end If
1: 'wenn der Range nicht existiert soll er einfach überspringen
Msgbox ("test existiert nicht")
End Sub
Funktioniert nicht, obwohl die test zelle existiert mit "Ja" inhalt überspringt er das ganze und bringt die msgbox.
3. Idee war die Variable Datei vorher umzubennen ohne zu speichern, sprich das ich vorher dem Workbook ein fixen Namen gebe und später zurück ändere, geht wohl laut google leider nicht.
Jetzt fragt ihr euch bestimmt wieso das ganze?
Die starre Tabelle wird vom System generiert und heißt immer gleich, hat aber als einen unterschiedlichen aufbau.
Die Kollegen sollen sich mit der 2. Tabelle sich Daten ziehen können die sie selber brauchen ohne groß die Datei zu durchforsten.
Sprich existieren gewünschte Daten, kopiert er diese in die 2. Dadurch hab ich den Sprung zwiachen beider Tabellen.
Und wieso heißt die Tabelle mit dem ausführenden Code immer anders? Weil die wertw Herren von Kollegen nicht schnallen das sie beim Speichern den Namen nicht verändern sollen...
Jemand eine idee worin mein fehler liegr oder wie ich das vielleicht eleganter lösen könnte?
Danke im voraus