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&: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&: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