VBA-Fehler, 400, der Wechsel zwischen Tabellen

Rufe ich aus einem Tabellenblatt-Modul eine Funktion, die einige Verarbeitung in einem anderen Blatt und gibt eine Ganzzahl zurück. Dann möchte ich schreiben, dass integer in einer Zelle in dem Blatt, von wo aus die Funktion aufgerufen wurde. Ich erhalte eine Fehlermeldung 400, ich glaube, ich weiß, nicht korrekt verarbeitet, das Umschalten zwischen den Blättern.

Könnten Sie mir helfen mit, dass?

Function lastNonZero(Rng As Range) As Integer

 i = 19
 Do While ActiveCell.Value = 0
   ActiveCell.Offset(0, -1).Activate
   i = i - 1
 Loop
lastNonZero = i
End Function

Auszug aus der Sub, sich in das Blatt Ein s-Modul:

For j = startRow To startRow + (nRows - 1)
        Worksheets("B").Select
        Range("Y" & j).Activate
        k = lastNonZero(Worksheets("B").Range("Y" & j))
        Worksheets("A").Range("BZ" & j) = k
Next j
  • Meinst du, dass die for-Schleife in eine Sub die sich auf dem Blatt Ein?
  • Genau, das ist es, was ich meine, sehr zu schätzen Ihre Hilfe
  • auf welcher Zeile bekommst du den Fehler? Bereich als argument übergeben lastNonZero ist nie benutzt in der Funktion, das ist wahrscheinlich nicht das, was du meinst zu tun.
  • Ich habe bereits den Fehler in der Zeile befor ich die Funktion aufrufen,d.h. Range("Y" & j).Aktivieren........danach wird die Eingabe für die Funktion ist in Blatt B und die Funktion der Verarbeitung getan werden sollte, in Blatt B und eine ganze Zahl zurück, diese ganze Zahl sollte dann geschrieben werden, um eine Zelle in Blatt A
InformationsquelleAutor Eva | 2012-06-19
Schreibe einen Kommentar