지금까지는 기존 테이블 ("Table1")에 4 개의 새 테이블 열을 추가하는 매크로가 있습니다. 이제 매크로를 사용하여 세 번째와 네 번째 행의 비율을 백분율로 지정하십시오. 이미 내 코드에 나열된 루프에이 내용을 포함하고 싶습니다. 나는 이것을하기 위해 몇 가지 다른 방법을 시도했다. 나는 UBound 함수가 어떻게 작동 하는지를 잘 이해하지 못한다고 생각하지만, 내가 뭘 하려는지 이해할 수 있기를 바랍니다.Excel VBA - Excel 테이블 열을 배열하는 중첩 루프
내 중첩 For 루프에서 WITH 문을 계속 사용할 수 있는지 확실하지 않습니다. '내'변수와 관련 있습니다.
@Jeeped - 기본적으로 내가이 전체 프로젝트 롤
Sub attStatPivInsertTableColumns_2()
Dim lst As ListObject
Dim currentSht As Worksheet
Dim colNames As Variant, r1c1s As Variant
Dim h As Integer, i As Integer
Set currentSht = ActiveWorkbook.Sheets("Sheet1")
Set lst = ActiveSheet.ListObjects("Table1")
colNames = Array("AHT", "Target AHT", "Transfers", "Target Transfers")
r1c1s = Array("=([@[Inbound Talk Time (Seconds)]]+[@[Inbound Hold Time (Seconds)]]+[@[Inbound Wrap Time (Seconds)]])/[@[Calls Handled]]", "=350", "=[@[Call Transfers and/or Conferences]]/[@[Calls Handled]]", "=0.15")
With lst
For h = LBound(colNames) To UBound(r1c1s)
.ListColumns.Add
.ListColumns(.ListColumns.Count).Name = colNames(h)
.ListColumns(.ListColumns.Count).DataBodyRange.FormulaR1C1 = r1c1s(h)
If UBound(colNames(h)) = 2 or UBound(colNames(h)) = 3 Then
For i = UBound(colNames(h), 2) To UBound(colNames(h), 3)
.ListColumns(.ListColumns.Count).NumberFormat = "0%"
End if
Next i
Next h
End With
End Sub