Laufzeitfehler 1004

05/05/2009 - 23:56 von das_chris | Report spam
Folgende For-Schleife möchte ich realisieren:


For zeile = 1 To neue_daten
If Range("10" & zeile).Value = "S" Then
Range("9" & zeile).Value = Range("9" & zeile).Value * (-1)
End If
Next zeile

Range("A1:J" & neue_daten).Select
Selection.Copy
Sheets("Gesamtumsàtze").Select
Range("A" & ersetzen).Select
ActiveSheet.Paste
Sheets("Neue_Umsàtze").Select
Range("A1:J" & neue_daten).Select
Selection.ClearContents
End Sub

Kurz Übersetzt:
Da, wo in Spalte 10 ein "S" für Soll steht, soll er den in Spalte 9
stehenden Betrag negieren.

Problem:
Beim Versuch das Makro zu starten bringt er "Laufzeitfehler '1004':
Die Methode 'Range' für das Objekt '_Global' ist fehlgeschlagen." Beim
Debuggen springt er dann auf diese Zeile:
If Range("10" & zeile).Value = "S" Then


Hier noch die Schleife im Zusammenhang:

Option Explicit
Public ersetzen As Integer
Public neue_daten As Integer
Public zeile As Integer

Sub Daten_Uebertragen()
ersetzen = Range("Neue_Umsàtze!L1").Value
neue_daten = Range("Neue_Umsàtze!L2").Value
Sheets("Neue_Umsàtze").Select

For zeile = 1 To neue_daten
If Range("10" & zeile).Value = "S" Then
Range("9" & zeile).Value = Range("9" & zeile).Value * (-1)
End If
Next zeile

Range("A1:J" & neue_daten).Select
Selection.Copy
Sheets("Gesamtumsàtze").Select
Range("A" & ersetzen).Select
ActiveSheet.Paste
Sheets("Neue_Umsàtze").Select
Range("A1:J" & neue_daten).Select
Selection.ClearContents
End Sub


Windows XP, Excel 2003
 

Lesen sie die antworten

#1 Aydin
06/05/2009 - 00:13 | Warnen spam
For zeile = 1 To neue_daten
If Range("J" & zeile).Value = "S" Then
Range("I" & zeile).Value = Range("I" & zeile).Value * (-1)
End If
Next zeile

oder

For zeile = 1 To neue_daten
If cells(zeile, 10) = "S" Then
cells(zeile, 9) = cells(zeile, 9) * (-1)
End If
Next zeile

Gruß
Aydin
___________________________________________________________________
"das_chris" schrieb im Newsbeitrag
news:
Folgende For-Schleife möchte ich realisieren:


For zeile = 1 To neue_daten
If Range("10" & zeile).Value = "S" Then
Range("9" & zeile).Value = Range("9" & zeile).Value * (-1)
End If
Next zeile

Range("A1:J" & neue_daten).Select
Selection.Copy
Sheets("Gesamtumsàtze").Select
Range("A" & ersetzen).Select
ActiveSheet.Paste
Sheets("Neue_Umsàtze").Select
Range("A1:J" & neue_daten).Select
Selection.ClearContents
End Sub

Kurz Übersetzt:
Da, wo in Spalte 10 ein "S" für Soll steht, soll er den in Spalte 9
stehenden Betrag negieren.

Problem:
Beim Versuch das Makro zu starten bringt er "Laufzeitfehler '1004':
Die Methode 'Range' für das Objekt '_Global' ist fehlgeschlagen." Beim
Debuggen springt er dann auf diese Zeile:
If Range("10" & zeile).Value = "S" Then


Hier noch die Schleife im Zusammenhang:

Option Explicit
Public ersetzen As Integer
Public neue_daten As Integer
Public zeile As Integer

Sub Daten_Uebertragen()
ersetzen = Range("Neue_Umsàtze!L1").Value
neue_daten = Range("Neue_Umsàtze!L2").Value
Sheets("Neue_Umsàtze").Select

For zeile = 1 To neue_daten
If Range("10" & zeile).Value = "S" Then
Range("9" & zeile).Value = Range("9" & zeile).Value * (-1)
End If
Next zeile

Range("A1:J" & neue_daten).Select
Selection.Copy
Sheets("Gesamtumsàtze").Select
Range("A" & ersetzen).Select
ActiveSheet.Paste
Sheets("Neue_Umsàtze").Select
Range("A1:J" & neue_daten).Select
Selection.ClearContents
End Sub


Windows XP, Excel 2003

Ähnliche fragen