Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

ClearContents Laufzeitfehler 1004
#1
Hallo zusammen,

ich bin Neuling in diesem Forum und auf dem Gebiet VBA in Excel. In meinem Programm werden bestimmte Zeilen aus einer Mappe, in bestimmte Zellen einer Tabelle einer andere Mappe kopiert. Ich möchte darüber hinaus, dass vorher der Inhalt der Zellen in der Tabelle gelöscht werden.
Das Programm funktioniert ohne die ClearContents Zeile so wie ich mir das vorstelle, jedoch hängt sich beim Einfügen und Starten mit ClearContents mein Excel auf und bekomme die Fehlermeldung Laufzeitfehler 1004.

Ich weiß, das Programm ist etwas unglücklich geschrieben, aber ich wusste nicht wie ich es anders lösen konnte.

Ich hoffe ihr könnt mir auf die Sprünge helfen und vielen Dank im Voraus.

Sub Daten()
Worksheets("Daily Management").Range("D22:D177,F22:P177,S22:S177").ClearContents
Dim a As Long, i As Long
Application.ScreenUpdating = False
a = 22
For i = 2 To 10000
With Worksheets("TAT Raw")
If .Cells(i, "J") = "6" Or .Cells(i, "J") = "4" Or .Cells(i, "J") = "2" Or .Cells(i, "J") = "1" Then
Worksheets("Daily Management").Cells(a, 4).Value = Worksheets("TAT Raw").Cells(i, 20).Value
Worksheets("Daily Management").Cells(a, 6).Value = Worksheets("TAT Raw").Cells(i, 7).Value
Worksheets("Daily Management").Cells(a, 7).Value = Worksheets("TAT Raw").Cells(i, 8).Value
Worksheets("Daily Management").Cells(a, 9).Value = Worksheets("TAT Raw").Cells(i, 17).Value
Worksheets("Daily Management").Cells(a, 10).Value = Worksheets("TAT Raw").Cells(i, 6).Value
Worksheets("Daily Management").Cells(a, 11).Value = Worksheets("TAT Raw").Cells(i, 4).Value
Worksheets("Daily Management").Cells(a, 12).Value = Worksheets("TAT Raw").Cells(i, 14).Value
Worksheets("Daily Management").Cells(a, 14).Value = Worksheets("TAT Raw").Cells(i, 19).Value
Worksheets("Daily Management").Cells(a, 15).Value = Worksheets("TAT Raw").Cells(i, 21).Value
Worksheets("Daily Management").Cells(a, 16).Value = Worksheets("TAT Raw").Cells(i, 18).Value
Worksheets("Daily Management").Cells(a, 19).Value = Worksheets("TAT Raw").Cells(i, 2).Value
Worksheets("Daily Management").Cells(a, 95).Value = Worksheets("TAT Raw").Cells(i, 10).Value
a = a + 1
End If
End With
Next i
Application.ScreenUpdating = True
End Sub
Antworten Top
#2
Hallo

war Quatsch

MfG Tom
Antworten Top
#3
Hallo,

das:

Code:
Worksheets("Daily Management").Range("D22:D177,F22:P177,S22:S177").ClearContents


müsste gleich dem


Code:
Worksheets("Daily Management").Range("D22:D177,F22:S177").ClearContents


sein.

Wegen der Fehlermeldung, hast Du verbundene Zellen die diesen Bereich tangieren?
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • ReleaseVS
Antworten Top
#4
Hallo Atilla,

(05.02.2017, 23:49)atilla schrieb:
Code:
Worksheets("Daily Management").Range("D22:D177,F22:P177,S22:S177").ClearContents
müsste gleich dem
Code:
Worksheets("Daily Management").Range("D22:D177,F22:S177").ClearContents
sein.

Bis auf den Unterschied der zusätzlichen Spalten Q:R. Wink

(05.02.2017, 23:49)atilla schrieb: Wegen der Fehlermeldung, hast Du verbundene Zellen die diesen Bereich tangieren?

das vermute ich auch. Deshalb vielleicht einfach mit

Code:
Worksheets("Daily Management").Range("D22:D177,F22:P177,S22:S177") = ""

probieren.

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • ReleaseVS
Antworten Top
#5
(06.02.2017, 00:07)Kuwer schrieb: Bis auf den Unterschied der zusätzlichen Spalten Q:R. Wink

sind ja nur zwei Spalten.....

......mit ges. etwas mehr als zwei Millionen Zeilen :19:
Gruß Atilla
Antworten Top
#6
Etwas kürzer und schneller (natürlich ungetestet); schaffe die verbundenen Zellen aus der Welt!
Code:
Option Base 1

Sub Daten2()
Z = Worksheets("Daily Management").[A1:CZ177]
Q = Worksheets("TAT Raw").[A1:U9999]
x = Array(10, 7, 8, 17, 6, 4, 14, 19, 21, 18, 2, 10)
y = Array(4, 6, 7, 9, 10, 11, 12, 14, 15, 16, 19, 95)
a = 22
For i = 2 To 9999
  If Q(i, 10) = 6 Or Q(i, 10) = 4 Or Q(i, 10) = 2 Or Q(i, 10) = 1 Then
     For j = 1 To 12
        Z(a, y(j)) = Q(i, x(j))
     Next
     a = a + 1
  End
Next
Worksheets("Daily Management").[A1:CZ177] = Z
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an lupo1 für diesen Beitrag:
  • ReleaseVS
Antworten Top
#7
Vielen Dank für Eure Hilfe. Hat nun super geklappt!

@Lupo1:
Vielen Dank für den Code. Allerdings hab ich hiermit noch meine Probleme.
Die Zeile "Z(a, y(j)) = Q(i, x(j))" löst bei mir noch einen Laufzeitfehler 9 aus. 
Hast du hierfür einen Tipp für mich?

Vielen Dank im Voraus.
Antworten Top
#8
Hallöchen,

erst mal nur rein logisch Smile Falls Du mehr als 177 Treffer hast, ist das verständlich.

Du definierst einen Bereich
Z = Worksheets("Daily Management").[A1:CZ177]

und gehst in Deiner Schleife bis 9999
For i = 2 To 9999

Die Zeilennummer der Treffer verwendest Du so:
Z(a, y(j)) = Q(i, x(j))
und setzt den "Treffer-Zähler" dann hoch
a = a + 1
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#9
Ich kann die einzelnen Funktionen nachvollziehen und weiß was gemacht wird. Jedoch kann ich nicht nachvollziehen, was Excel denn mit "Index außerhalb des gültigen Bereichs" meint. 
Ich bekomme auch keine Veränderung wenn ich die Bereiche ändere oder eine neue Excel Datei mit Test Werten nehme.
Antworten Top
#10
Hallo,

hast DU MAL
CZ177
in
CZ9999
geändert?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste