Microsoft Excel

Herbers Excel/VBA-Archiv

Range mit zwei Variablen


Betrifft: Range mit zwei Variablen von: Worthmann
Geschrieben am: 30.10.2019 16:03:32

Hallo zusammen,


Wie setzte ich eine Range aus Variablen zusammen.

Ich übergebe zwei Integers und möchte daraus meine Range zusammen bauen.


Zum Bsp: Icol = 5 und Irow = 1 (meine beiden Variablen)


Daraus soll quasi die Range("1:5") werden, jedoch mit den Variablen um diese immer zu ändern.


Somit soll es so aussehen Range(irow:Icol)


Danke für die Hilfe

  

Betrifft: Cells(Irow,Icol) owT. von: ChrisL
Geschrieben am: 30.10.2019 16:04:18

cu
Chris


  

Betrifft: AW: Cells(Irow,Icol) owT. von: Worthmann
Geschrieben am: 30.10.2019 16:12:02

Hey Chris,

Leider hilft mir Cells nicht weiter... ich muss das Problem etwas genauer beschreiben.

Ich möchte über eine Funktion die letzte leere Zeile in einer Spalte finden. Genau diese Spalte möchte ich als Wert übergeben.
Dementsprechend brauche ich die Range der kompletten Spalte.
Wenn ich Range("F:F") nehme, klappt das. Das ich den übergebenen Integer als entsprechenden Spalten String umwandle habe ich bereits.

Somit ist mein Integer Icol = 6 und daraus mache ich den String Scol = "F"
Meine Range soll dann die Range(Scol:Scol) sein, also Range("F:F")

Dementsprechend muss ich wissen wie ich zwei Variablen in den Range einpflege.
Liebe Grüße


  

Betrifft: Columns(Icol) owT. :) von: ChrisL
Geschrieben am: 30.10.2019 16:31:03

.


  

Betrifft: AW: Cells(Irow,Icol) owT. von: Luschi
Geschrieben am: 30.10.2019 16:43:20

Hallo Worthmann,

Du hast das Prinzip der Verkettung von Range & Cells nicht verstanden; hier mal ein Beispiel:< _ pre> Sub Machmal() Dim rg As Range Dim icol As Integer, lRow As Long icol = 6 lRow = 100000 With ActiveSheet Set rg = .Range(.Cells(1, icol), .Cells(lRow, icol)) End With Debug.Print rg.Address 'Ergebnis: $F$1:$F$100000 Set rg = Nothing End Sub Gruß von Luschi
aus klein-Paris


  

Betrifft: hier nochmal der Code von: Luschi
Geschrieben am: 30.10.2019 16:44:50

Sub Machmal()
    Dim rg As Range
    Dim icol As Integer, lRow As Long
    
    icol = 6
    lRow = 100000
    With ActiveSheet
        Set rg = .Range(.Cells(1, icol), .Cells(lRow, icol))
    End With
    Debug.Print rg.Address  'Ergebnis: $F$1:$F$100000
    
    Set rg = Nothing
    
End Sub
mfg Luschi


Beiträge aus dem Excel-Forum zum Thema "Range mit zwei Variablen"