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

Methode Range für Objekt global fehlgeschlagen

Methode Range für Objekt global fehlgeschlagen
Chris
Hi,
bekomme die Fehlermeldung 1004 "Die Methode 'Range' ist für das Objekt '_Global' fehlgeschlagen" bei folgender Zeile meines Codes.
nachfrage = Range("AE" & maxzeile1) 'Produkt der maxzeile wird ausgewählt
Woran liegt die Fehlermeldung?
Code ausführlicher:
Range("AF161").Select ' Zelle AF161 für erstes Nachfragefeld auswählen
aktrow = ActiveCell.Column ' aktuelle Spalte ermitteln
aktzeile = ActiveCell.Row ' aktuelle Zeile ermitteln
Do While ActiveCell "" ' führe aus solange aktuelle Zelle nicht leer ist
maxw = Worksheets.Application.Max(Range(ActiveCell.Offset(0, 0), ActiveCell.Offset(2, 0))) 'Range: Maximalwert ermitteln bis 2 Spalten unten drunter
maxaus = Worksheets.Application.Max(Range(ActiveCell.Offset(3, 0), ActiveCell.Offset(5, 0))) 'Range: höchste Auslastung ab 3 Spalten bis 5 Spalten unten drunter
If ActiveCell.Offset(0, 0) = maxw Then maxzeile = ActiveCell.Row 'Zeile mit Maximalwert ermitteln
If ActiveCell.Offset(1, 0) = maxw Then maxzeile = ActiveCell.Row + 1
If ActiveCell.Offset(2, 0) = maxw Then maxzeile = ActiveCell.Row + 2
If ActiveCell.Offset(3, 0) = maxaus Then maxzeile1 = ActiveCell.Row + 3 'Zeile mit höchster Auslastung ermitteln
If ActiveCell.Offset(4, 0) = maxaus Then maxzeile1 = ActiveCell.Row + 4
If ActiveCell.Offset(5, 0) = maxaus Then maxzeile1 = ActiveCell.Row + 5
nachfrage = Range("AE" & maxzeile1) 'Produkt der maxzeile wird ausgewählt

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Methode Range für Objekt global fehlgeschlagen
05.01.2010 12:25:55
Ramses
Hallo
Vielleicht hat deine Variable "maxzeile1" gar keinen Wert ?
Geh das Makro doch mal mit F8 im Einzelschritt durch und bevor du die benannte Zeile mit F8 ausführst fahr mal mit der Maus über die Variable und schau dir den Wert an.
Wenn dir das zu kompliziert ist, dann bau vor dieser Zeile diesen Code ain
Msgbox "Der maximale Wert = " & maxzeile1
und schau was dann angzeigt wird
Gruss Rainer
AW: Methode Range für Objekt global fehlgeschlagen
05.01.2010 12:44:09
Chris
Ja, maxzeile1 bleibt leer.
Aber maxzeile bspw. nimmt einen Wert an (161)?!?
AW: Methode Range für Objekt global fehlgeschlagen
05.01.2010 12:48:48
Ramses
Hallo
Ich kann nicht hellsehen, ... aber dann geht deine Prüfung
maxaus = Worksheets.Application.Max(Range(ActiveCell.Offset(3, 0), ActiveCell.Offset(5, 0)))
vielleicht schon in die Hose oder die Prüfung
If ActiveCell.Offset(3, 0) = maxaus Then maxzeile1 = ActiveCell.Row + 3
ist fehlerhaft.
Da musst du halt mal Schritt für Schritt nachsehen
Gruss Rainer
Anzeige
AW: Methode Range für Objekt global fehlgeschlagen
05.01.2010 12:51:48
Chris
Du hast recht. Sorry, ganz doofer Fehler:
maxaus hat schon keinen Wert angenommen, da maxaus als Long deklariert war. Die Werte von maxaus sind allerdings Dezimalzahlen
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige