|  
                                             
	Hier noch eine Alternative, welche vermutlich etwas einfacher nachzuvollziehen ist: 
Option Explicit
Sub Beispiele()
  
  Debug.Print GenAddress(5, 1, Worksheet:="Tab1")
  Debug.Print GenAddress(5, "A", Worksheet:="Tab2", ReferenceStyle:=xlR1C1)
  
  Debug.Print GenAddress(5, 1, 10, 3, "Tab3", xlR1C1)
  Debug.Print GenAddress(5, 1, 10, "C", "Tab4")
  
End Sub
'Hilfsfunktion für Jörgs spezielles Anliegen
Public Function GenAddress( _
    Row, Column, _
    Optional RowTo, Optional ColumnTo, _
    Optional Worksheet As String, _
    Optional ReferenceStyle As XlReferenceStyle = xlA1 _
) As String
  
  If (IsMissing(RowTo) Or IsMissing(ColumnTo)) Then
    'einzelne Zelle
    GenAddress = Cells(Row, Column).Address(ReferenceStyle:=ReferenceStyle)
  Else
    'Bereich
    GenAddress = Range(Cells(Row, Column), Cells(RowTo, ColumnTo)).Address(ReferenceStyle:=ReferenceStyle)
  End If
  
  If Trim$(Worksheet) <> "" Then
    'Zelle/Bereich soll sich auf ein bestimmtes Blatt beziehen
    GenAddress = "'" & Trim$(Worksheet) & "'!" & GenAddress
  End If
  
End Function
	  
     |