2017-03-22 1 views
0

동일한 통합 문서의 여러 시트에 걸쳐 =LOWERCASE() 수식을 네 개의 열 (J, O, T 및 Y)에 적용하려고합니다.Excel의 여러 시트에 여러 수식을 적용 Excel

내가 지금까지 가지고있는 VBA 코드는 오른쪽 열에 적용되지만 각각에 대해 오류가 반환됩니다.

Sub Clean_Lowercase() 
Const N As Integer = 1 
Dim r As Long, i As Integer, X As Integer, t As Long 
Dim rng As Range, r As Range 
Dim v As Variant 
v = Array("J", "O", "T", "Y") 
t = 1 
For i = 1 To Sheets.Count - 1 
r = Sheets(i).UsedRange.Rows.Count 
For X = 0 To UBound(v) 
    Set rng = Sheets(i).Range(v(X) & N & ":" & v(X) & r) 
    For Each r In rng 
     r.Formula = "=LOWERCASE()" 
Next 
Next 
End Sub 

나는 VBA 코딩에있어 매우 새로운 것으로, 어떤 제안이라도 대단히 감사합니다! 나는 정말로 배우고 싶다.

감사합니다.

+0

을 실제 수식 및 수식에는 참조가 필요합니다. 셀의 데이터를 소문자로 변경하려는 경우'r.Value = Lcase $ (r.Value) ' –

+0

아, 알 겠어! 'r.Formula' 대신'r.Value = Lcase & (r.Value)'를 삽입해야합니까? –

+0

예,하지만 그것은'Lcase $ (r.Value)'입니다. –

답변

0

여기에는 몇 가지 문제가 있습니다.

  1. r을 두 번, 한 번은 Long으로, 한 번은 az로 두 번 사용합니다.
  2. For Each 루프의 Next는 공식은 소문자로 설정하고 싶은 것에 대한 참조를 필요로
  3. 없습니다. 당신이 세포를 neightbouring 왼쪽의 소문자 값을 갖고 싶어 예를 들어, 작성해야 : 당신은 어쩌면이 의도적 인 (마지막 시트 늘 처리 For i = 1 To Sheets.Count - 1, 쓰기, 그래서 만약 =LOWERCASE(R[1]C[-1])
  4. 시트는, 1 기반의 모음입니다? 이 작품 같은) 및 코드) (더 시트 (0) 존재하지 않는 첫 번째 시트에

뭔가 오류가 발생합니다 : 당신이 데이터를 덮어 쓰게됩니다 수식을 삽입하려고

Sub Clean_Lowercase() 
    Const N As Integer = 1 
    Dim r As Long, i As Integer, X As Integer, t As Long 
    Dim rng As Range, ri As Range 
    Dim v As Variant 
    v = Array("J", "O", "T", "Y") 
    t = 1 
    For i = 1 To Sheets.Count 
     r = Sheets(i).UsedRange.Rows.Count 
     For X = 0 To UBound(v) 
      Set rng = Sheets(i).Range(v(X) & N & ":" & v(X) & r) 
      For Each ri In rng 
       ri.Formula = "=LOWERCASE(R[1]C[-1])" 
      Next 
     Next 
    Next 
End Sub 
+0

정말 고마워요! 이러한 수정은 u/Scott Craner의 의견과 함께 코드 작업을 가능하게했습니다! –

관련 문제