Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1340to1344
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

vba läuft unter 2010 nicht mehr ??

vba läuft unter 2010 nicht mehr ?
20.12.2013 10:33:46
Micha
Hallo zusammen,
hatte unter Excel 2003 eine funktionierende Urlaubsplanung mit VBA.
Seit Excel 2010 bringt er für folgende VBA-Zeile:
If Weekday(ActiveCell.Value) = 1 Or Weekday(ActiveCell.Value) = 7 _
And ActiveCell.Value "" Then
die Meldung Laufzeitfehler 13 - Typen unverträglich.
hat jemand eine Ahnung warum.
Danke

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vba läuft unter 2010 nicht mehr ?
20.12.2013 10:41:29
mumpel
Hallo!
Schau mal unter den Verweisen ob alle Verweise stimmen. Möglicherweise ist eine Steuerdatei nicht (mehr) verfügbar.
Gruß, René

AW: vba läuft unter 2010 nicht mehr ?
20.12.2013 10:52:55
Rudi
Hallo,
wenn das läuft:
If VBA.Weekday(ActiveCell.Value) = 1 Or VBA.Weekday(ActiveCell.Value) = 7 _
And ActiveCell.Value "" Then
fehlt dir ein Verweis.
Ohne WeekDay:
If ActiveCell.Value Mod 7 = 0 Or ActiveCell.Value Mod 7 = 1 _
And ActiveCell.Value "" Then
Außerdem fehlt dir eine Klammer. Or wirkt wie +, And wie *.
Ergo If (Bed1 Or Bed2) And Bed3 Then
Gruß
Rudi

AW: vba läuft unter 2010 nicht mehr ?
20.12.2013 11:07:14
Micha
hier mal der ganze betreffende Bereich:
If Weekday(ActiveCell.Value) = 1 Or Weekday(ActiveCell.Value) = 7 _
And ActiveCell.Value "" Then
Range(ActiveCell(), ActiveCell.Offset(26, 0)).Select
Selection.Interior.ColorIndex = 35
Else
End If

Anzeige
AW: vba läuft unter 2010 nicht mehr ?
20.12.2013 11:59:37
Rudi
Hallo, If ActiveCell "" Then If ActiveCell Mod 7 Gruß
Rudi

so färbst Du aber in Zeile, nicht in Spalte ;-) oT
20.12.2013 12:42:10
Matthias

AW: so färbst Du aber in Zeile, nicht in Spalte ;-) oT
20.12.2013 13:00:21
Rudi
Hallo,
stimmt! Ein Komma zu viel.
  If ActiveCell  "" Then
If ActiveCell Mod 7 
Gruß
Rudi

...und was soll das? Hast du getan, was dir ...
20.12.2013 12:00:18
Luc:-?
…gesagt wurde, Micha?
Das Ganze ist absolut harmlos (und laienhaft → wg .Select Selection, aber daran liegt es nicht). Das Nichtlaufen des Pgms muss also einen anderen Grund haben — als da wäre VBA nicht installiert, keine Rechte usw).
Was soll übrigens das () nach ActiveCell? Wie kommt man auf so etwas? :->
Gruß Luc :-?

Anzeige
ActiveCell() oder ActiveCell ...
20.12.2013 12:51:01
Matthias
Hallo Luc
ok das mit dem Select & Selection kann ja mal vorkommen ;-)
Er schreibt ja VBA: Nein (also wenig bis keine Erfahrung)
Aber ich versteh nicht warum er nicht ActiveCell() benutzen soll/darf.
Ok, ist vielleicht ne alte Schreibweise,
bringt doch im Range das gleiche Ergebnis wie ActiveCell, oder?
Gruß Matthias

hier nochmal wie ich das meine ...
20.12.2013 12:56:50
Matthias
Hallo
debug.print Range(ActiveCell, ActiveCell.Offset(26, 0)).Address
$B$10:$B$36
debug.print Range(ActiveCell(), ActiveCell.Offset(26, 0)).Address
$B$10:$B$36
Beide Varianten liefern doch das gleiche Ergebnis!
Ist doch also nicht zwingend verkehrt, oder?


Tabelle1

 B
9Sa. 28.12.2013
10So. 29.12.2013
11Mo. 30.12.2013
12Di. 31.12.2013
13Mi. 01.01.2014
14Do. 02.01.2014
15Fr. 03.01.2014
16Sa. 04.01.2014
17So. 05.01.2014
18Mo. 06.01.2014
19Di. 07.01.2014
20Mi. 08.01.2014
21Do. 09.01.2014
22Fr. 10.01.2014
23Sa. 11.01.2014
24So. 12.01.2014
25Mo. 13.01.2014
26Di. 14.01.2014
27Mi. 15.01.2014
28Do. 16.01.2014
29Fr. 17.01.2014
30Sa. 18.01.2014
31So. 19.01.2014
32Mo. 20.01.2014
33Di. 21.01.2014
34Mi. 22.01.2014
35Do. 23.01.2014
36Fr. 24.01.2014
37Sa. 25.01.2014


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Matthias

Anzeige
Das verursacht zwar keinen Fehler, weil ...
20.12.2013 21:17:27
Luc:-?
…die leeren Klammern einfach ignoriert wdn, Matti,
aber warum dann schreiben? In der VBE-Hilfe steht mE davon nichts. So könnte man ja auch mal auf die Idee kommen, da einen Index einzutragen. Was dann? Geht das evtl sogar? Diese Frage wäre interessanter, weil die Klammern ja anscheinend erhalten bleiben (nicht wie in anderen Fällen entfernt wdn).
Gruß + schöWE, Luc :-?

Nicht-Datum in ActiveCell?
21.12.2013 13:24:17
Erich
Hi Micha,
bei Laufzeitfehler 13 kann man vermuten, dass die aktive Zelle einen Wert enthält,
der nicht in ein Datum konvertierbar ist, mit dem Weekday() also nichts anfangen kann.
Was genau steht in der aktiven Zelle, wenn der Fehler auftritt?
(Es kann helfen, die Zelle mal kurzzeitig mit "Standard" zu formatieren.)
@Rudi:
Prinzipiell ist deine Anmerkung zur Klammersetzung bei And/Or sicher berechtigt.
In diesem Fall sind die Klammern aber unnötig.
Bei ActiveCell = "" ist Weekday(ActiveCell) = 7, nur bei der 7 muss also auf "leer" geprüft werden.
Bei Weekday(ActiveCell) = 1 kann ActiveCell nicht leer sein.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich und: Schönes Wochenende allerseits!

Anzeige
kleiner Zusatz
21.12.2013 19:08:04
Erich
Hi Micha,
auch wenn das keinen Fehler ergibt, wenn man Weekday für leere Zellen aufruft - sinnvoll ist das nicht.
Wenn z. B. Text in der Zelle steht, gibt es Waffelbruch. IsDate() kann helfen.
Die Prüfung des Weekday auf 1 oder 7 kann man vereinfachen, wenn man Weekday(..., vbMonday)
berechnen lässt:

Sub aTest()
If IsEmpty(ActiveCell) Then
ElseIf IsDate(ActiveCell) Then
If Weekday(ActiveCell, vbMonday) > 5 Then ' Sa oder So
ActiveCell.Offset(, 1) = "WoEnd "
Else
ActiveCell.Offset(, 1) = "Arbeit "
End If
Else
ActiveCell.Offset(, 1) = "kein Datum links von mir"
End If
End Sub
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige