Hallo Jörg,
Moin,
»» Und das "Cancel" hilft wobei?
setze es mal auf true: ;-)
cancel = true
Damit wird die eigentliche Funktion des Doppelklicks (Editiermodus der Zelle) nicht ausgeführt.
Gut zu wissen. Macht ja Sinn, wenn die Felder nicht user-editierbar (readonly) sein sollen.
»» Ja, "aber" dann habe ich Deinen Codeschnippsel vielleicht missverstanden. Ich möchte nicht testen ob string "bla" im Range B1:B10 vorkommt, sondern ob "Name1" als Tabellenblatt in Workbook "Abc" vorkommt. So dass ich Workbooks.open("Abc.xls") mach kann um dann mit Workbooks("Abc.xls").Worksheets("Name1") darauf zugreifen kann, ohne einen Fehler zu bekommen Worksheet "Name1" does not exist oder was dann kommen würde.
Dann gibt es zwei Möglichkeiten:
- Du gehst mit einer Schleife über die Blätter
dim bolVorhanden as boolean, objBlatt as object
bolvorhanden = false
for each objblatt in workbooks("XYZ").sheets
if objblatt.name = "XXX" then bolvorhanden = true: exit for
next
Gut, das geht ja auch prima. Sowas wie "ObjectExists()" gibts wohl nicht, ist ja mit o.g. auch nicht wirklich nötig.
- Du provozierst einen Fehler und behandelst den:
dim varA
on error goto nichtvorhanden
vara = workbooks("XXX").sheets("YYY").range("A1")
goto vorhandenNICHTVORHANDEN:
Dein Code, wenn das Blatt fehltVORHANDEN:
Hier geht es weitererr.clear
on error goto 0
Naja, lieber in dem Fall wohl nicht, schön aber auch die Syntax hier mit goto und on error mal zu sehen bzw. zu wissen, dass das so auch geht
Danke!
Gruß
Robert aka jobo