Office Anwender Forum

Office Anwender Forum

Posts 1-3 of 3
  • Daniel Fichtner
    Daniel Fichtner    Premium Member
    The company name is only visible to registered members.
    Excel 2007 unter VISTA und VBA - kleines Problem
    Guten Tag,

    ich zerauf mir gerade die Haare über ein kleines Problem, bei dem ich nicht weiterkomme. Im Rahmen relativ umfangreicher Makros gibt es folgende Code-

    ActiveSheet.Cells(zeile, Asc("F") - 64).Select
    zeile ist ein Integer, ASC("F")-64 liefert 4 zurück. Laut Debugging steht in Zeile 29 drin. D.h. der aufruf heißt eigentlich

    ActiveSheet.cells(29,4).select
    Dummerweise schmeißt Excel nach passieren der Stelle einen Fehler "9 - Index außerhalb des gültigen Bereichs". Ich kann mir nicht erklären, wieso...

    Unter Excel 2003 auf XP kommt es zu keinem vergleichbaren Fehler.

    Beste Grüße,

    Daniel Fichtner
    This post was modified on 07 May 2009 at 03:22 pm.
  • Thomas A. Lange
    Thomas A. Lange    Premium Member   Group moderator
    The company name is only visible to registered members.
    Re: Excel 2007 unter VISTA und VBA - kleines Problem
    Rein Formal ist der Befehl auch unter Office 2007 in Ordnung.

    Haben Sie die gleiche Mappe unter 2003/XP und den gleichen Befehl ausprobiert? Wenn nicht würde ich behaupten gleich ist nicht gleich gleich. Soll heißen auf dem Sheet ist was, was das selektieren blockiert.
  • Daniel Fichtner
    Daniel Fichtner    Premium Member
    The company name is only visible to registered members.
    Re^2: Excel 2007 unter VISTA und VBA - kleines Problem
    Guten Tag Herr Lange,

    besten Dank für Ihr Feedback. Ich habe tatsächlich die gleiche, nein, dieselbe Mappe einmal unter XP 2003 und einmal unter Vista 2007 ausprobiert. Auf XP/2003 funktionierts, auf Vista/2007 gehts nicht. Es ist aber tatsächlich noch etwas absurder. Es gibt 2 Funktionen, die etwas ähnliches machen.

    Einlesen einiger Zellen in eine Liste und anzeige der Liste in einem Combo-Element. Wenn der User jetzt auf einen
    Eintrag in der Liste klickt, soll die korrespondierende Zelle markiert werden.

    Bei der einen Funktion funktionierts auch unter Vista/2007 tadellos. Bei der anderen jedoch nicht. Einziger Unterschied zwischen beiden Funktionen ist eine IF-Abfrage folgender Art:

    If ActiveSheet.Cells(zeile, Asc("X") - 64).Value = 3 Then
    Ist an dieser Abfrage was falsch?

    Beste Grüße und Dank,

    Daniel Fichtner