请你帮我解决一下以下问题:
我在106到109行有一个数据集。在Cell A102中,我有一个当前值为3.行103到105为空。
我正在寻找一个VBA代码,它将根据A102中的单元格值更改第102行下方的空行数。
例如:如果我将A102更改为0,则行103-105将被删除,我的数据集将从第103行开始。如果我然后将A102更改为8,则将插入8行并开始数据集从第111行开始。等等。
我真的不知道该怎么做,所以我真的很感谢你的帮助!
答案 0 :(得分: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