Hier eine kleine Spielerei zum Generieren von Beispieldaten. Dazu nutze ich die Formel =Spalte() & "," & Zeile() in A1 und kopiere sie mir dann in ein beliebiges Range. Dadurch werden die Zellen mit ihren Adressen cells(row,column) gefüllt. Das lässt sich z.B. mit isNumeric auswerten. Wer aber lieber Text in den Zellen haben möchte, schreibt die $-Adressen hinein.
Option Explicit
Sub Cells2Names()
Dim i As Integer, j As Integer, r As Integer, c As Integer
r = UsedRange.Rows.Count
c = UsedRange.Columns.Count
For i = 1 To r
For j = 1 To c
Cells(i, j) = Cells(i, j).Address
Next j
Next i
'MsgBox "!"
End Sub
Sub Names2Cells()
Dim i As Integer, j As Integer, r As Integer, c As Integer
r = UsedRange.Rows.Count
c = UsedRange.Columns.Count
For i = 1 To r
For j = 1 To c
Cells(i, j) = Cells(i, j).Row & "," & Cells(i, j).Column
Next j
Next i
'MsgBox "!"
End Sub
Viel Spaß!
d'r Bastler von den VBAsteleien.de Win 10 + Office 2019 & Win11 + Office 2021 + Visio 2019 pro & macOS.X15 + Office2019pro & Android12 & XL365
nur als Anregung:
1. Nie Integer, immer Long verwenden. Wir haben jetzt mehr als 65536 Zeilen
2. Nicht fortlaufend einzelne Zellen beschreiben, sondern erst alles im Speicher berechnen (Variant) und dann in einem Rutsch ins Tabellenblatt schreiben.
Sub NochWas()
Dim i As Long, j As Long, r As Long, c As Long
r = ActiveSheet.UsedRange.Rows.Count
c = ActiveSheet.UsedRange.Columns.Count
ReDim v(1 To r, 1 To c)
For i = 1 To r
For j = 1 To c
v(i, j) = "[" & i & "," & j & "]"
Next j
Next i
ActiveSheet.UsedRange.FormulaArray = v
End Sub
Frohes Fest,
Bernd
Folgende Benutzer bedankten sich beim Autor Sulprobil für den Beitrag: