Frage zu 'Range'

Hallo zusammen,

angenommen ich habe eine Datenmatrix Range (Anfang:Ende), wobei „Ende“ ein variabler Wert und „Anfang“ eine Konstante z.B. „A1“ ist.
Nun möchte ich abhängig von der Variable eine Formel bis zum Ende der Matrix runterkopieren.
Folgendes habe ich gemacht:

Sub Matrix_Erkennen()

Dim Zeile As String
For Each c In Range(„A1:A1200“) 'Prüfe letzten Wert der Matrix
If c.Value = „“ Then
Range(„M1“).Select 'Referenzzelle zum Kopieren auswählen
Zeile = c.Row
Ende = „M“ + Zeile
Kopieren Ende
Exit Sub
End If
Next c

End Sub

Public Sub Kopieren(Ende)

Rem Kopiert Formel nach unten bis Matrix endet
Anfang = „A1“
Selection.AutoFill Destination:=Range("&Anfang& : &Ende&"), Type:=xlFillValues

End Sub

Wenn ich diesen Code kompiliere erscheint folgende Fehlermeldung:
„Die Methode Range für das Objekt_Global ist fehlgeschlagen“

Wie heisst die korrekte Syntax für das Range-Objekt, wenn ich mit Variablen und Konstanten arbeite?

Danke für Eure Antworten

Gruss Salvo

weis zwar nicht genau was du meinst,aber ich glaub als Ansatz kannst du diesen Sourcecode nehmen

Public Sub kopiere()
Dim rBer As Range, rZelle As Range
Set rBer = Range(„A1“, Range(„A65536“).End(xlUp))

For Each rZelle In rBer
If rZelle.HasFormula Then
rZelle.Offset(0, 5) = rZelle.Formula
End If
Next rZelle

End Sub

mfg
Spaguzzi

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

:Wie heisst die korrekte Syntax für das Range-Objekt, wenn ich


> mit Variablen und Konstanten arbeite?


Hi Salvo,
Anfang="A1"
Ende="M20"
Destination:=Range(Anfang & ":" & Ende)

probiers mal so:
Sub Kopie()
With Worksheets("Tabelle1")
 Ende = .Range("A65536").End(xlUp).Row 'letzte volle Zelle in A
 .Range("A1").AutoFill Destination:=.Range("A1:M1"), Type:=xlFillDefault
 .Range("A1:M1").AutoFill Destination:=.Range("A1:M" & Ende), Type:=xlFillDefault
End With
End Sub

Gruß
Reinhard

Erstmal danke.

Anders gefragt:
Wie kann ich einen Bereich selektieren, bei dem Variablen im Spiel sind.

zb.: Range(„A1:B2“).select

soll werden:
Range(„A1“,„B“ &y&amp:wink:.select, wobei die Variable y die Zeilennummer sein soll.

Wie sieht hierfür die korrekte Syntax für Range aus?

Danke Mfg

zb.: Range(„A1:B2“).select

soll werden:
Range(„A1“,„B“ &y&amp:wink:.select, wobei die Variable y die
Zeilennummer sein soll.
Wie sieht hierfür die korrekte Syntax für Range aus?

Hi salvo,
Range(„A1:B“ & y)
oder
range(cells(1,1),cells(y,2))
Gruß
Reinhard