Excel 2003 Vba Schleife über Matrix
Hallo liebes Forum!Gut das es schon Donnerstag ist!
Ich habe folgendes Problem.Ich will um eine Übersetzung in meinem Tool anzulegen Zellen mit dem TranslationTable sheet verknüpfen! Dazu möchte ich eine Schleife benutzen,
die diesen Bezug für mich in die jeweilige Zelle schreibt. Ich habe schon einen funktionierenden Code gebastelt, der allerdings nur über eine Spalte läuft. Ich würde aber gern, dass die Spallte von B1 bis Z 200 läuft. Vielleicht kann ja jemand den Code so anpassen, dass es geht.
Sub Bezug()
Dim i
For i = 1 To 200
Sheets("ProjectStructure").Select
Range("D" & i).Select
If ActiveCell.Value = "Mr/s" Then
ActiveCell.Value = "='Translation Table'!A159"
End If
If ActiveCell.Value = "First Name" Then
ActiveCell.Value = "='Translation Table'!A160"
End If
If ActiveCell.Value = "Surname" Then
ActiveCell.Value = "='Translation Table'!A161"
End If
Next i
End Sub
Ich habe folgendes Problem.Ich will um eine Übersetzung in meinem Tool anzulegen Zellen mit dem TranslationTable sheet verknüpfen! Dazu möchte ich eine Schleife benutzen,
die diesen Bezug für mich in die jeweilige Zelle schreibt. Ich habe schon einen funktionierenden Code gebastelt, der allerdings nur über eine Spalte läuft. Ich würde aber gern, dass die Spallte von B1 bis Z 200 läuft. Vielleicht kann ja jemand den Code so anpassen, dass es geht.
Sub Bezug()
Dim i
For i = 1 To 200
Sheets("ProjectStructure").Select
Range("D" & i).Select
If ActiveCell.Value = "Mr/s" Then
ActiveCell.Value = "='Translation Table'!A159"
End If
If ActiveCell.Value = "First Name" Then
ActiveCell.Value = "='Translation Table'!A160"
End If
If ActiveCell.Value = "Surname" Then
ActiveCell.Value = "='Translation Table'!A161"
End If
Next i
End Sub
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 170543
Url: https://administrator.de/forum/excel-2003-vba-schleife-ueber-matrix-170543.html
Ausgedruckt am: 23.04.2025 um 15:04 Uhr
8 Kommentare
Neuester Kommentar
du kannst es folgendermaßen mit 2 Schleifen aufbauen. Hier was zum testen:
die Schleife a gibt dir (CHR vorangestellt) die Zeichen aus dem ASCII-Code und die Schleife i drinnen die Breiche (1 bis 200).
Gruss
Tsuki
For a = 66 To 90
For i = 1 To 200
Range(Chr(a) & i).Select
' hier deine IFs rein.....
Next i
Next a
Gruss
Tsuki
@tsuki
Anstelle von "
Als Altenative (je nachdem, was ev noch passieren soll) vielleicht auch ein
@Dudelidude
lässt sich auch ohne "
wobei ich aber, wie oben erwähnt, "
Anstelle des Buchstabens kannst Du auch die Nummer der Spalte verwenden (für Schleifen vorteilhaft):
Einen hab ich noch:
Wenn ein Wert auf mehrere Bedingungen geprüft werden soll, kannst Du "
Grüße
bastla
Anstelle von "
Range()
" würde sich aber eher "Cells()
" aufdrängen - dann sind auch keine Kunststücke mit dem Zusammenbauen der Zelladresse (ab "AA" würde es noch lustiger) erforderlich ...Als Altenative (je nachdem, was ev noch passieren soll) vielleicht auch ein
For Each Zelle In Range("B1:Z200")
Sheets("ProjectStructure").Select
Range("D" & i).Select
If ActiveCell.Value = "Mr/s" Then
Select
" umsetzen:With Sheets("ProjectStructure").Range("D" & i)
If .Value = "Mr/s" Then
....
End With
Cells
" verwenden würde:With Sheets("ProjectStructure").Cells(i, "D")
With Sheets("ProjectStructure").Cells(i, 4)
Wenn ein Wert auf mehrere Bedingungen geprüft werden soll, kannst Du "
Select Case
" verwenden - also etwa:Select Case .Value
Case "Mr/s"
.Value = "='Translation Table'!A159"
Case "First Name"
.Value = "='Translation Table'!A160"
Case "Surname"
.Value = "='Translation Table'!A161"
End Select
bastla
hallo bastla,
schon klar, dass es ab Doppelbuchstaben lustiger wird.
Da der TO aber definitiv schrieb
Die Select Case Methode in seinem Fall macht das ganze optisch noch sauberer. Dem stimme ich auch zu.
Danke und Grüße
Tsuki
schon klar, dass es ab Doppelbuchstaben lustiger wird.
Da der TO aber definitiv schrieb
, dass die Spallte von B1 bis Z 200 läuft.
war mein Gedanke halt obiger auf die Schnelle.Die Select Case Methode in seinem Fall macht das ganze optisch noch sauberer. Dem stimme ich auch zu.
Danke und Grüße
Tsuki