Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1316to1320
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Worksheets.count

Worksheets.count
13.06.2013 14:43:33
JACKD
Hallo Gemeinde ich hab grad nen Hänger...
vielleicht kann mir ja jemand helfen.
Punkt 1 Ich schreibe ein Addin
Punkt 2 wenn ich das Addin öffne (als Addin- nicht in einer Mappe) und ein Marko starte kommt eine Fehlermeldung bei for each wks in Worksheets
(logisch ist ja auch kein wks vorhanden)
Jetzt wollt ich das mit WKS.count abfangen klappt aber nicht?
Ist es schlicht nicht vorgesehen das sowas möglich ist, da ja Addins idR in einer Mappe sind, und die nicht ohne Tabelle sein kann?
Oder kann man excel da austricksen?
'doppelt abfangen
If Worksheets.Count = "0" Then GoTo KeineBlätter ' Test ob Blätter vorhanden sind
For Each wks In Worksheets
If wks.name = "Fall_mod" Or wks.name = "Fallalt" Then
Application.DisplayAlerts = False
wks.Delete
Application.DisplayAlerts = True
End If
Next wks
KeineBlätter:
Thanks in advance
Grüße

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Worksheets.count
13.06.2013 14:48:35
Hajo_Zi
ich hätte ActiveWorkbook. benutzt.
Gruß Hajo

AW: Worksheets.count
13.06.2013 14:51:42
JACKD
Hallo Hajo
Danke für deine schnelle Antwort..
Ich glaub das lässt sich auch nicht abbilden (sofern das mein Horizont suggeriert)
denn ich hab mal Spaßeshalber den Block auskommentiert, dann bleibt er bei
activeworkbook,worksheets.add hängen.
Auch hier logisch, da ich ja nichtmal ein Workbook hab.
Wahrscheinlich müsste ich ein neues workbook erstellen...
Grüße

AW: Worksheets.count
13.06.2013 14:51:55
Rudi
Hallo,
da ja Addins idR in einer Mappe sind,
wie kommst du darauf?
1. müsste es If Worksheets.Count = 0 heißen. Immer diese Verwechselung von Zahlen und Texten!
2. kannst du das einfach mit
If Activeworkbook Is Nothing Then ...
abfangen.
Gruß
Rudi

Anzeige
AW: Worksheets.count
13.06.2013 14:58:31
JACKD
Hallo Rudi
nun,
wie ich darauf komme..?
Ist das nicht der sinn eines AddIn? Das Programm Excel um Funktionen zu ergänzen die dann in allen Mappen aufrufbar sind?
Zudem hast du (natürlich) wieder recht :-D
mit "0" und 0 ... aber ist das Ergebnis nicht das gleiche?
Grüße

AW: Worksheets.count
13.06.2013 15:06:03
Rudi
Hallo,
Ist das nicht der sinn eines AddIn? Das Programm Excel um Funktionen zu ergänzen die dann in allen Mappen aufrufbar sind?
ganz genau. Aber das heißt ja nicht, dass eine Mappe offen ist.
mit "0" und 0 ... aber ist das Ergebnis nicht das gleiche?
nicht unbedingt.
Sub aaa()
MsgBox WorksheetFunction.IsNumber("0")
MsgBox WorksheetFunction.IsNumber(0)
End Sub
Gruß
Rudi

Anzeige
Ergänzend application / VBA
13.06.2013 15:16:57
JACKD
Dann sind wir uns ja einig =)
Denn das Problem das KEINE Mappe ist, hab ich beim ändern =)
Ich habs jetzt anders gelößt
bei der Startprodzedur setz ich isaddin = False =)
Mal was anderes oder soll ich gleich noch nen Thread öffnen?
Ich probier es hier einfach
Das ist ein Code- Teil
 ReDim arrTmp(1 To i, 1 To 1)
For Lauf = 1 To i
arrTmp(Lauf, 1) = Application.Left(Cells(Lauf, 7).Value, 1)
Next Lauf
Cells(1, 8).Resize(i) = arrTmp
sieht soweit auch logisch aus
jedoch moniert er mit der Meldung

"Fehler beim Kompilieren:
Falsche Anzahl an Argumenten oder ungültige Zuweisung einer Eigenschaft"
Und markiert ".left"
Jetzt hab ich im NEtz danach gesucht. Und mir wurde vorgeschlagen das man statt
application.left
VBA.left
nehmen kann / soll /darf
Nun. Warum? Angeblich bezieht er sich auf eine falsche Objektbibliothek. Kann ich ja noch ein bisschen verstehen. Was mir allerdings nicht klar ist, warum macht er das auf einmal? als ich den Code letztens geschrieben hab, ging er doch auch ...
Grüße

Anzeige
AW: Ergänzend application / VBA
13.06.2013 15:24:28
Rudi
Hallo,
Was mir allerdings nicht klar ist, warum macht er das auf einmal? als ich den Code letztens geschrieben hab, ging er doch auch ...
Hast du nicht unter großen Mühen und Qualen ein anderes Office aufgespielt?
Gruß
Rudi

AW: Ergänzend application / VBA
13.06.2013 15:29:51
JACKD
-.-
Ähm ja..
Was du noch so alles weisst
ich hatte das schon erfolgreich verdrängt. =)
Wobei ich ja nur zwischen 64 bit und 32 bit gewechselt hab.
Und ich bei der 64bit in der Objektbiblio nix verstellt hab, sowie in der 32 bit auch nix geändert hab.
Zumal die Codezeile auch durch deine Hände ging. Und du ja glaub ich auch 32 bit hast..
Grüße

Anzeige
AW: Ergänzend application / VBA
13.06.2013 15:34:21
Rudi
Hallo,
Und du ja glaub ich auch 32 bit hast..
natürlich. Ich bin ja nicht verrückt. ;-)
Bei mir funktioniert auf allen Rechnern nur Left().
Ohne Application., VBA. oder WorksheetFunction. davor.
Gruß
Rudi

AW: Ergänzend application / VBA
13.06.2013 15:55:50
JACKD
Nunja ich bin offensichtlich Verrückt.. verrückt genug mich mit excel auseinander zu setzen.
:-D
Also ohne alles davor geht es bei mir auch o.0
Nur damit ich es richtig verstehe.
Mit application /vba / wsfunction referiere ich auf eine Klasse einer Objektbibliothek, die wiederum verschiedene Elemente hat.
Wenn es zu überschneidungen kommt zb. Application.left oder VBA.left und ich keine Klasse direkt anspreche nimmt er immer die mit der höheren Priorität... Oder?
Warum kommt es nun aber zu dem Fehler? Gibt es dann (in meinem Fall die Klasse Application) das Element left () nicht?
Man Möge es mir vergeben wenn ich grad alles durcheinander würfel. Ich versuch mich grad das erste mal über den reinen Code in die Materie zu denken
Grüße

Anzeige
AW: Ergänzend application / VBA
13.06.2013 16:17:30
Rudi
Hallo,
weder Application noch WorksheetFunction kennen Left.
Siehe Objektkatalog (F2 im VBE)
Gruß
Rudi

AW: Ergänzend application / VBA
13.06.2013 16:29:42
JACKD
Hallo Rudi
JaEin also in der WS-Function hab ich es nicht gefunden.
In der Application allerdings
Userbild
Oder ist das ein anderes Left?
Grüße

das ist was anderes
13.06.2013 16:35:23
Rudi
Hallo,
wie du schon in der Beschreibung lesen kannst, ist es eine Eigenschaft (Property Left As Double)
Application.Left-Eigenschaft
Gibt einen Double-Wert zurück, der den Abstand in Punkt vom linken Rand des Bildschirms zum linken Rand des Hauptfensters von Microsoft Excel darstellt, oder legt diesen Wert fest.
Gruß
Rudi

Anzeige
Ich krieg ne Krise
13.06.2013 16:43:13
JACKD
.. grad wenn man denkt, man hätte einen Strohalm an dem man sich bissl entlang hangeln kann,
kommt wieder was neues -.-
Das ist dann das richtige left?
Userbild
Grüße

jepp! owT
13.06.2013 19:23:33
Rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige