2013-06-27 4 views
-3

하면 다음과 같은 문제를 나에게 손을 전해 주 시겠어요 :엑셀 VBA가 - 셀 값의 변화에 ​​따라 행의 수를 조정

을 나는 셀 A102에서 109 행의 데이터 세트 (106)을 가지고, 나는의 값이 현재 3. 행 103-105는 비어 있습니다.

A102의 셀 값을 기준으로 행 102 아래의 빈 행 수를 변경하는 VBA 코드를 찾고 있습니다.

예 : A102를 0으로 변경하면 103-105 행이 삭제되고 103 행에서 데이터 집합이 시작됩니다. 그런 다음 A102를 8로 변경하면 8 행이 삽입되고 데이터 집합은 행 111에서 시작합니다.

나는이 일을하는 방법을 모른다. 정말 도움이된다.

+0

[ask]를 참조하십시오. 시도한 것을 보여주고 유용한 대답을 얻을 수있는 기회가 더 많습니다. –

+0

행을 추가/삭제하는 동안 매크로를 기록하십시오. 이것은 당신에게 약간의 기초를 줄 것입니다. 그런 다음 행 수를 표현하기 위해'variable'을 추가해야합니다. 그런 다음 'Worksheet_Change' 이벤트에 연결합니다. 이 세 비트로 시작하고, 돌아와서 코드를 게시하면 사람들이 더 많은 도움을받을 것입니다. –

답변

1

기본적으로, 당신이 겪은 것은 이것입니다.

Private Sub Worksheet_Change(ByVal Target As Range) 

Dim n As Integer 
Dim n1 As Integer 

'Do nothing if more than one cell is changed or content deleted 

If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub 
    If Target.Address = "$A$102" Then 
     If IsNumeric(Target) Then 
      n = 0 

      While Range("A103").Offset(n, 0) = "" 
       n = n + 1 
      Wend 

     End If 

     For n1 = 1 To n 
      Rows("103:103").Select 
      Selection.Delete Shift:=xlUp 
     Next 

     For n1 = 1 To Range("A102") 
      Rows("103:103").Select 
      Selection.Insert Shift:=xlDown 
     Next 

    End If 

End Sub 
+0

크리스, 정말 도움이되었습니다. 고마워요 :) 어떻게 접근해야할지 모르겠으니 분명히 알려지지 않은 게시물을 읽을 수있어서 다행입니다. 건배! – jcv

+1

문제 없어요, 저의 기쁨. –

관련 문제