Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
460to464
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
460to464
460to464
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Cells mit Variablen in Range

Cells mit Variablen in Range
28.07.2004 14:50:43
Michael
Betrifft : Excel : Cells mit Variablen in Range

Sevus zusammen,

ich habe ein Problem, mit Cells-Variablen einen Bereich Range zu definieren.
Anbei folgender Code der einen Zell-Bereich vom Blatt "D"
in den Zell-Bereich von Blatt "Übersicht" kopiert.
Der unten dargestellte Code funktioniert.

Frage :
- wie läßt sich die unten dargestellte Range-Funktion mit
Variablen bestücken, oder
- wie kann ich hier die Funktion Cells installieren.
alle bisherigen Versuche z.B. Cells(35,2) zu installieren,
sind fehlgeschlagen!

Für eine Idee währe ich Euch sehr dankbar, vielen Dank im Voraus.

Mit freundlichen Grüssen

Michael PS : Excel 2000
28.07.2004
Programm-Beispiel :


Sub Kopier_Test()
' Kopier_Test Makro     Kopieren eines Zell-Bereiches
Dim Alpha As String
Alpha = "D"
Worksheets("Übersicht").Activate
'   Zell-Bereich wird eingelesen            Zell-Bereich wird am Ziel ausgegeben
'                       Quelle                                         Ziel
Sheets(Alpha).Range("B35:F35").Copy (Worksheets("Übersicht").Range("F30:J30"))
End Sub

' Quelle Ziel
' entspricht Range(" B35 : F35") entspricht Range(" B30 : F30")
' Sheets(Alpha).Range(Cells(35, 2), Cells(35, 6)).Copy (Worksheets("Übersicht").Range(Cells(30, 6), Cells(30, 10)))
Dieser Code funktioniert nicht ! Was habe ich hier falsch gemacht ?

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Cells mit Variablen in Range
Nike
Hi,
einen Satz Klammern zuviel:
Sheets(Alpha).Range("B35:F35").Copy Worksheets("Übersicht").Range("F30:J30")
Bye
Nike
alternativ
GerhardW
Hallo Michael,
alternativ zur Lösung von Nike kannst Du auch schreiben:
Range(Sheets(Alpha).Cells(35, 2), Sheets(Alpha).Cells(35, 6)).Copy Range(Sheets("Übersicht").Cells(30, 6), Sheets("Übersicht").Cells(30, 10))
Jeweils beide Cells-Bereiche in einem Range benötigen die Blattangabe. Wenn sie fehlt, wird das aktive Blatt angenommen.
In der Onlinehilfe zum Range-Objekt wird zusätzlich die Blattangabe noch vor Range gesetzt. Dieses kann jedoch meiner Ansicht nach entfallen.
Gruß Gerhard
Anzeige
AW: alternativ
28.07.2004 15:59:25
Michael
Servus Gerhard,
super, vielen Dank, ich habe Deinen Vorschlag sofort ausprobiert, funktioniert, super !
Aber was ich nicht verstehe,
warum funktioniert der Code im Programm-Beispiel, so wie er
dargestellt wurde, ohne Deine Zusätze, wie in der Alternativ-Funktion ?
Sheets(Alpha).Range("B35:F35").Copy (Worksheets("Übersicht").Range("F30:J30"))
dieser Code funtioniert !
Wie lässt sich in dieser Funktion der Bereich ("...") per Variablen integrieren ?
Geht die / Deine Alternativ-Funktion auch noch etwas einfacher ?
Gruss Michael
andere Schreibweisen
GerhardW
Hallo Michael,
zu Deiner ersten Frage, ich hoffe, ich habe sie richtig verstanden:
Der Bereich Sheets(Alpha).Range("B35:F35") und auch der Zielbereich sind vollständig. Der Code funktioniert daher auch. Den Text in der Klammer kannst Du aus einzelnen Textelementen zusammensetzen.
Z.B. für x = 35: Range("B" & x & ":F" & x)
Bei den Spaltenangaben wird es aber etwas umständlich. Dafür ist die Alternative besser geeignet.
Hier kürzere Schreibweisen:

Sub DreiBeispiele()
Dim q As Range, z As Range, Alpha$
Alpha = "D"
Set q = Sheets(Alpha).Cells
Set z = Sheets("Übersicht").Cells
Sheets("Übersicht").Activate
Range(z(30, 6), z(30, 10)).ClearContents
Range(q(35, 2), q(35, 6)).Copy Range(z(30, 6), z(30, 10))
Stop
z(30, 6).Resize(1, 5).ClearContents
z(30, 6).Resize(1, 5).Value = q(35, 2).Resize(1, 5).Value
Stop
z(30, 6).Range("A1:E1").ClearContents
z(30, 6).Range("A1:E1").Value = q(35, 2).Range("A1:E1").Value
Set q = Nothing
Set z = Nothing
End Sub

Vielleicht hilft es Dir.
Gruß Gerhard
Anzeige
AW: andere Schreibweisen
30.07.2004 15:12:19
Michael
Servus Gerhard,
nochmals vielen Dank für Deine Vorschläge,
sind alle sehr interessant.
Ich habe mich für Deinen ersten Alternativ-
Vorschlag entschieden, der super funktioniert.
Danke
Michael
AW: Cells mit Variablen in Range
28.07.2004 15:20:30
Michael
Servus Nike,
vielen Dank für Deine schnelle Antwort,
aber ich glaube Deine Antwort war zu schnell !
Dein Korrektur-Vorschlag betrifft den Code, der funktioniert,
wie ich es auch beschrieben habe.
Meine Frage nochmals :
warum funktioniert folgender Code nicht ?
Sheets(Alpha).Range(Cells(35, 2), Cells(35, 6)).Copy (Worksheets("Übersicht").Range(Cells(30, 6), Cells(30, 10)))
Bitte diesen Code oben anstelle des funktionierenden einsetzen,
danke
michael
Anzeige

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige