wie kann ich in vba spalten per zahlen ansprechen, also zB anstatt Range("B2") eben Range("2,2") ... oder so ähnlich eben ;)
Vielen Dank im Vorraus für eure Bemühungen einem excel-newbie zu helfen,
Gruß tom
wie kann ich in vba spalten per zahlen ansprechen, also zB anstatt Range("B2") eben Range("2,2") ... oder so ähnlich eben ;)
Vielen Dank im Vorraus für eure Bemühungen einem excel-newbie zu helfen,
Gruß tom
columns(2)
Gruss
Chris
danke dir aber das hilft mir nicht weiter... ich möchte die spalten in einer schlefe nacheinander durchgehen, zB
FOR i = 1 TO 10
Range(i & "5").Select
ActiveCell.Formula = "test"
NEXT i
Gruß tom
Gruss
Chris
>columns(i)
nicht alle zellen der spalte an? brauche ja nur eine zelle..
Sorry, glaub jetzt hab ichs...
z.B.
Spalte = 2
Cells(Spalte, 5)
d.h. Spalte 2, Zeile 5 = Range("B5")
Gruss
Chris
hast Du eine andere XL-Version als ich?
Bei mir kommt bei cells erst der rowindex, dann der climnindex...
Spalte =2
cells(5, 2) = B5
Oder?
Gruss
Olli
Vermutlich habe ich tatsächlich eine andere XL-Version... wer arbeitet heute schon noch mit XL 97 :-)
Aber hast natürlich recht... Cells(Zeile, Spalte) ist richtig.
cu
Chris
Gruss
Olli
Um in VBA eine bestimmte Spalte anzusprechen, kannst Du die Cells
-Methode verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:
Öffne den VBA-Editor in Excel mit ALT + F11
.
Füge ein neues Modul hinzu, indem Du mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "Modul" auswählst.
Schreibe den folgenden VBA-Code:
Sub SpalteAnsprechen()
Dim Spalte As Integer
Dim i As Integer
For i = 1 To 10
Cells(5, i).Value = "Test " & i
Next i
End Sub
Führe das Makro aus, um die Werte in der 5. Zeile der Spalten 1 bis 10 zu setzen.
Mit Cells(Zeile, Spalte)
kannst Du gezielt eine Zelle ansprechen, ohne die gesamte Spalte auswählen zu müssen. Das ist besonders nützlich, wenn Du nur eine Zelle in einer bestimmten Spalte benötigst.
Fehler: "Typ Mismatch" beim Arbeiten mit Cells
.
Dim Spalte As Integer
.Fehler: "Subscript out of range" beim Festlegen von Werten.
Eine Alternative zur Verwendung von Cells
ist die Range
-Methode. Du kannst auch Range
mit der Kombination von Buchstaben und Zahlen verwenden. Zum Beispiel:
Range("B5").Value = "Test"
Um die gesamte Spalte anzusprechen, kannst Du auch Columns
verwenden:
Columns(2).Value = "Test"
Allerdings wird in diesem Fall die gesamte Spalte angesprochen, was möglicherweise nicht immer gewünscht ist.
Hier sind einige praktische Beispiele, wie Du Spalten in VBA ansprechen kannst:
Einzelne Zelle ansprechen:
Cells(5, 2).Value = "Hallo" ' Setzt den Wert in Zelle B5
Schleife über mehrere Spalten:
Dim i As Integer
For i = 1 To 5
Cells(1, i).Value = "Spalte " & i ' Setzt Werte in die erste Zeile der ersten fünf Spalten
Next i
Die gesamte Spalte ansprechen:
Columns(2).Font.Bold = True ' Macht die Schriftart in der gesamten Spalte B fett
Verwende Application.ScreenUpdating = False
, um das Flackern des Bildschirms zu minimieren, während Du mehrere Änderungen an Zellen vornimmst:
Application.ScreenUpdating = False
' Dein Code hier
Application.ScreenUpdating = True
1. Wie spreche ich mehrere Zellen in einer Schleife an? Du kannst eine Schleife verwenden, um mehrere Zellen zu durchlaufen. Beispiel:
For i = 1 To 10
Cells(i, 1).Value = "Test " & i ' Setzt Werte in die erste Spalte von Zeile 1 bis 10
Next i
2. Wie adressiere ich Spalten per Zahl in VBA?
Nutze Cells(Zeile, Spalte)
, um Zellen anzusprechen. Zum Beispiel: Cells(5, 2)
für die Zelle B5.
3. Was ist der Unterschied zwischen Cells
und Range
?
Cells
verwendet numerische Indizes für Zeilen und Spalten, während Range
Buchstaben und Zahlen verwendet, z.B. Range("B5")
.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen