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

Zeile mit VBA in ein anderes Blatt kopieren

Zeile mit VBA in ein anderes Blatt kopieren
30.07.2015 09:55:08
Anna
Hallo liebe Community,
ich stehe vor einem kleinen Problem:
Ich habe im Tabellenblatt "Ausgangsdaten" von E3:CW50 Werte.
Nun möchte ich jede Zeile in das Tabellenblatt"Eingangsdaten" kopieren.
Im Tabellenblatt"Eingangsdaten" soll jedoch nur jede 2. Zeile befüllt werden.
Bisher habe ich folgenden Code, der aber leider jede Zeile im Tabellenblatt " _ Eingangsdaten" befüllt und zudem noch sehr langsam ist. Kann man das mit Arrays (da hab ich leider sehr wenig Ahnung von) schneller machen?

Sub Kosten_berechnen()
Dim KostenZeile As Integer
Dim KostenSpalte As Integer
Worksheets("Fitness").Activate
Range("C4:M101").Select
Selection.Clear
Range("A3:A101").Select
Selection.Clear
For KostenZeile = 3 To 101
For KostenSpalte = 3 To 101
Worksheets("Eingangsdaten").Cells(KostenZeile, KostenSpalte + 1).Value = Worksheets(" _
_
Ausgangsdaten").Cells(KostenZeile, KostenSpalte + 2)
End If
Next KostenSpalte
Next KostenZeile
End Sub

Vielen Dank für eure Hilfe!
Anna

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile mit VBA in ein anderes Blatt kopieren
30.07.2015 11:33:06
Michael
Hallo Anna,
der Code wird so nicht laufen; spätestens beim End If muß eine Fehlermeldung kommen á la End ohne If.
Ansonsten aktivierst Du das Blatt Fitness, machst aber alle weiteren Aktionen in zwei anderen Blättern.
Daß das langsam ist, liegt daran, daß Du alle Zellen einzeln beackerst. Die innere Schleife kannst Du einsparen, indem Du komplette Bereiche (Spalten 3 bis 101) oder Zeilen kopierst. Wenn es Formatierungen gibt, die Du im Zielblatt erhalten (oder Formeln in Werte umwandeln) möchtest, nimm copy ... pastespecial mit values, wenn nicht, einfach copy.
Beide Varianten im Code:
Sub Kosten_berechnen()
Dim KostenZeile As Long
Dim KostenSpalte As Long
Dim zeilensprung As Long
Worksheets("Fitness").Activate
Range("C4:M101").Clear
Range("A3:A101").Clear
Application.ScreenUpdating = False
Worksheets("Ausgangsdaten").Activate
zeilensprung = 0
For KostenZeile = 3 To 50 ' bis CW50!
'  kopiert ....
'  Range("E" & KostenZeile & ":CW" & KostenZeile).Copy _
'    Worksheets("Eingangsdaten").Range("E" & KostenZeile + zeilensprung)
'  fügt Werte ein:
Range("E" & KostenZeile & ":CW" & KostenZeile).Copy
Worksheets("Eingangsdaten").Range("E" & KostenZeile + zeilensprung). _
PasteSpecial Paste:=xlValues
zeilensprung = zeilensprung + 1
Next KostenZeile
Application.ScreenUpdating = True
Worksheets("Eingangsdaten").Activate
Range("E3").Select
End Sub
Schöne Grüße,
Michael

Anzeige
AW: Zeile mit VBA in ein anderes Blatt kopieren
30.07.2015 15:54:57
anna
Danke Michael.
Das klappt :D

freut mich, danke für die Rückmeldung owT
31.07.2015 13:33:45
Michael

322 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige