0
2つのコードに2つの範囲が設定されています。私の問題は、範囲が特定です。どれだけ私がそれを変更したとしても、私はエラーを得ることになります。私の目標は、C1からデータが停止するまでの範囲を設定することです(列Jと同じ)。範囲は、開いているスプレッドシートによって異なりますので、データの終わりを検出して停止してください。各セルには常にデータがあるため、間に空のセルがないか心配する必要はありません。ここでExcel用のVBAで正しい列範囲を設定する
は私のコードです:
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
私の問題はで最初に依存しています:
Sub Condition()
Set Rng = Range("C1:C1822")
For Each cell In Rng
以降で再び示しています。このような何かが調整されます
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
ありがとうございました!あなたの提案は完全に機能しました。 – marcizoub