Forums Neueste Beiträge
 

VBA: Range über Kombination zweier Cells() festlegen

13/05/2010 - 14:51 von Andreas Eibach | Report spam
Hi,

es scheint ja tatsàchlich dass es keine Extra-NG " .programming" für die
Excel-Entwickler gibt, dann schreib ich's halt mal hier rein.
Gegeben sind zwei ineinandergeschachtelte For's, Schleifenzàhler sind i + k,
und laut eines Beispiels in der Online-Dokumentation *soll* das ja
eigentlich gehen:

quelle.Range(Cells(i, 1), Cells(i, 3)).Copy
Destination:=ActiveSheet.Range(Cells(k, 1), Cells(k, 3))

Also auf deutsch:
Kopiere in Arbeitsblatt 'quelle' in Zeile i die 1. bis 3. Spalte aufs
aktuelle AB, Zeile k, ebenfalls 1. bis 3. Spalte.
Wie realisiere ich das ohne umstàndlich eine For-Schleife bemühen zu müssen?
(idealerweise möchte ich auch i + k beibehalten und nicht in
Buchstaben-Spaltennamen umrechnen müssen, wenn's ginge)

-Andreas
 

Lesen sie die antworten

#1 Claus Busch
13/05/2010 - 15:20 | Warnen spam
Hallo Andreas,

Am Thu, 13 May 2010 14:51:16 +0200 schrieb Andreas Eibach:

Also auf deutsch:
Kopiere in Arbeitsblatt 'quelle' in Zeile i die 1. bis 3. Spalte aufs
aktuelle AB, Zeile k, ebenfalls 1. bis 3. Spalte.
Wie realisiere ich das ohne umstàndlich eine For-Schleife bemühen zu müssen?
(idealerweise möchte ich auch i + k beibehalten und nicht in
Buchstaben-Spaltennamen umrechnen müssen, wenn's ginge)



warum kopierst du Zeile für Zeile? Kopiere doch den kompletten Bereich:

Sub Kopieren()

Dim LRow As Long

With Sheets("quelle")
LRow = .Cells(Rows.Count, 1).End(xlUp).Row
.Range(.Cells(1, 1), .Cells(LRow, 3)).Copy _
Destination:=ActiveSheet.Range("A1")
End With

End Sub


Mit freundlichen Grüssen
Claus Busch
Win XP PRof SP2 / Vista Ultimate SP2
Office 2003 SP2 /2007 Ultimate SP2

Ähnliche fragen