so habe ich zwei Bereiche in zwei Codes eingestellt. Mein Problem ist, dass der Bereich spezifisch ist. Egal, wie sehr ich es geändert habe, bekomme ich einen Fehler. Mein Ziel ist es, den Bereich von C1 bis zum Ende der Daten (gleich für Spalte J) zu setzen. Der Bereich hängt davon ab, welche Tabelle ich geöffnet habe, also möchte ich, dass das Ende der Daten erkannt wird und dort stehen bleibt. Jede Zelle hat IMMER Daten, so dass Sie sich keine Gedanken über leere Zellen dazwischen machen müssen.Einstellung der korrekten Spaltenbereich in VBA für Excel
ist hier mein Code:
Sub Condition()
Set Rng = Range("C1:C1822")
For Each cell In Rng
If cell.Value <> "SB" Then
cell.Offset(0, 8).Value = "Introduced by Assemblymember"
Else
cell.Offset(0, 8).Value = "Introduced by Senator"
End If
Next
End Sub
'CORRECT LOWER CASE THEN UPPER CASE FIRST LETTER AND OFFSET TO NEW COLUMN
Sub Change()
Dim Rng As Range
Dim c As Range
Set Rng = ActiveSheet.Range("J1:J1822")
For Each c In Rng
c.Offset(, 2).Value = LCase(c.Value)
Next c
For Each cell In Application.ActiveSheet.UsedRange
If (cell.Value <> "") Then
cell.Value = UCase(Left(cell.Value, 1)) & Right(cell.Value, Len(cell.Value) - 1)
End If
Next
End Sub
Mein Problem am Anfang verlässt sich auf:
Sub Condition()
Set Rng = Range("C1:C1822")
For Each cell In Rng
und später zeigt sich wieder:
Sub Change()
Dim Rng As Range
Dim c As Range
Set Rng = ActiveSheet.Range("J1:J1822")
For Each c In Rng
c.Offset(, 2).Value = LCase(c.Value)
Next c
For Each cell In Application.ActiveSheet.UsedRange
If (cell.Value <> "") Then
cell.Value = UCase(Left(cell.Value, 1)) & Right(cell.Value, Len(cell.Value) - 1)
End If
Vielen Dank! Dein Vorschlag hat perfekt funktioniert. – marcizoub