2016-07-18 2 views
2

포트 쌍 사이의 거리를 나타내는 테이블 (PortDistances)이 있습니다. 합계 행을 표시하지 않도록 설정했습니다. 단순히 데이터 행과 관련이 없기 때문입니다.총 행을 사용하지 않고 VBA를 사용하여 Excel 테이블에 행 추가

나는이 코드를 사용하여 테이블의 끝에 데이터의 라인을 추가 할 사용자 정의 폼을 가지고 성가 시게

Private Sub AddOne_OK_Click() 
Dim lrow As Long 
lrow = Worksheets("Port distances").Cells(Rows.Count, 1).End(xlUp).Row 
' Add new port pair distance 
Worksheets("Port distances").Cells(lrow + 1, 1).Formula = "=" & Worksheets("Port distances").Cells(lrow + 1, 2).Address(False, False) & "&" & Worksheets("Port distances").Cells(lrow + 1, 3).Address(False, False) ' Extend formulas 
Worksheets("Port distances").Cells(lrow + 1, 6).Formula = "=" & Worksheets("Port distances").Cells(lrow + 1, 1).Address(False, False) & "&" & Worksheets("Port distances").Cells(lrow + 1, 4).Address(False, False) ' Extend formulas 
Worksheets("Port distances").Cells(lrow + 1, 2).Value = strFrom ' POL 
Worksheets("Port distances").Cells(lrow + 1, 3).Value = strTo ' POD 
Worksheets("Port distances").Cells(lrow + 1, 4).Value = Val(Box_DistNew.Value) ' Distance 
Worksheets("Port distances").Cells(lrow + 1, 5).Value = "Schedule App" ' Source 

Unload Me 
End Sub 

를, 내가 그것을 실행할 때마다, 추가 된 라인은 일반적으로하는 합계 행이된다 기존의 총 행 수식을 덮어 쓰겠는지 묻습니다 (다시 말하면, 이었습니다).

을 추가하여 정상적인 선으로 되돌리려했지만 그 행만 지워 버렸습니다. 반면, "합계 행"확인란을 수동으로 지우면 일반 행으로 바뀝니다.

왜 총계 행으로 간주하고 중지합니까?

+2

'워크 시트 ("PortDisances"). Listrows.add'를 사용하여 새 행을 추가하고 채우십시오. – Rory

+0

그것은 나에게 너무 기발하기 때문에. (글쎄, 나는 그것이 가능하다는 것을 몰랐다.) 완벽한 - 감사합니다! –

+0

그걸 답으로 추가하고 싶다면, 제가 먼저 가서 받아 들일 것입니다. –

답변

2

Worksheets("Port distances").ListObjects("PortDistances").Listrows.add을 사용하여 새 행을 추가 한 다음 채울 수 있습니다. 예를 들어,

Dim lo     As ListObject 
Dim lr     As ListRow 
Dim n      As Long 

Set lo = Worksheets("Port distances").ListObjects("PortDistances") 
Set lr = lo.ListRows.Add 
For n = 1 To lo.ListColumns.Count 
    lr.Range(1, n).Value = "item " & n 
Next n 
관련 문제