2013-06-27 28 views
-3

能否請您給我拿下面的問題:Excel的VBA - 調整基於在單元格的值變化的行數

我行106的數據集,以109細胞A102,我有一個值,該值是目前3.第103至105行是空的。

我正在尋找一個VBA代碼,它將根據A102中的單元格值更改第102行下面的空行數。

例如:如果我將A102更改爲0,則行103-105將被刪除,並且我的數據集將從第103行開始。如果我然後將A102更改爲8,那麼將插入8行並且數據集將會從第111行開始。依此類推。

我真的不知道該怎麼做,所以我非常感謝你的幫助!

+0

請看[ask] - 顯示您嘗試過的內容,並且您有更多機會獲得有用的答案。 –

+0

添加/刪除行時記錄一個宏。這會給你一些基礎。然後,您需要添加一個「變量」來表示行數。然後,將其綁定到「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

沒問題,我的榮幸。 –

相關問題