06.02.2017, 00:10
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
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