Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Fehlermeldung bei Makro-Ausführung

Forumthread: Fehlermeldung bei Makro-Ausführung

Fehlermeldung bei Makro-Ausführung
20.03.2005 15:10:32
natascha
Hallo,
ich möchte das nachfolgende Makro ausführen:
Public

Sub Spalte()
Dim Zeilenanzahl As String
Dim zelle As Range
Sheets("Salesexport").Select
Zeilenanzahl = "AP" + "ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row"
For Each zelle In Range("AP2:Zeilenanzahl")
zelle.Value = zelle.Offset(0, -2) * zelle.Offset(0, -1)
Next
End Sub

Jetzt bekomme ich folgende Fehlermeldung:
Laufzeitfehler '1004':
Die Methode 'Range' für das Objekt '_Global' ist fehlgeschlagen.
?
Könnt ihr mir helfen?
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Fehlermeldung bei Makro-Ausführung
20.03.2005 15:37:08
Oberschlumpf
Hi Natascha
hier ein ungetesteter Vorschlag:

Sub Spalte()
Dim Zeilenanzahl As String
Dim zelle As Range
Sheets("Salesexport").Select
Zeilenanzahl = "AP" & ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row '<-- hier war Fehler
For Each zelle In Range("AP2:" & Zeilenanzahl) '<-- hier war Fehler
zelle.Value = zelle.Offset(0, -2) * zelle.Offset(0, -1)
Next
End Sub

Konnte ich Dir helfen?
Ciao
Thorsten
Anzeige
AW: Fehlermeldung bei Makro-Ausführung
20.03.2005 15:43:32
natascha
DANKE, Thorsten!!!
Genau DAS war's.....
Du hast mir gerade den Sonntag gerettet!!!
N.
ich lass mich gern zum Kaffee einladen :-)..OT
20.03.2005 15:45:48
Oberschlumpf
AW: Fehlermeldung bei Makro-Ausführung
20.03.2005 15:45:02
Nepumuk
Hallo Natascha,
wenn du diesen Ausdruck: "ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row"
in Anführungszeichen setzt, wird ein String daraus. Deine Variable Zeilenzahl beinhaltet dann folgendes: "APActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row"
Damit kann Excel natürlich nichts anfangen.
Du musst übrigens die Tabelle nicht zur aktiven Tabelle machen (Select - Methode) um darin die Value - Eigenschaft von Zellen zu ändern. Das geht auch so:


Public Sub Spalte()
    Dim myRange As Range
    Application.ScreenUpdating = False
    With Worksheets("Salesexport")
        For Each myRange In .Range(.Cells(2, 42), .Cells(.Cells(.Rows.Count, 1).End(-4162).Row, 42))
            myRange.Value = myRange.Offset(0, -2).Value * myRange.Offset(0, -1).Value
        Next
    End With
    Application.ScreenUpdating = True
End Sub


Gruß
Nepumuk
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige