Excel VBA基于单元数据创建新单元
所以我想创建一些东西,当“X”被输入到相应的单元格中时,会创建X个单元格,然后用计数到X的数字填充这些单元格 因为我无法输入图片,所以我创建了一个粗略的示例来说明我要实现的目标 桌子将如何开始 …A……B……C 1.在下面输入数据| 2.|问题1|_______________| 3.|问题2|_______________| 4.|问题3|_______________| 输入数据(“问题1”无效,但一旦输入问题2“B3”,将创建单元格) …A……B……C 1.在下面输入数据| 2.|问题1答案____|Excel VBA基于单元数据创建新单元,excel,vba,cells,Excel,Vba,Cells,所以我想创建一些东西,当“X”被输入到相应的单元格中时,会创建X个单元格,然后用计数到X的数字填充这些单元格 因为我无法输入图片,所以我创建了一个粗略的示例来说明我要实现的目标 桌子将如何开始 …A……B……C 1.在下面输入数据| 2.|问题1|_______________| 3.|问题2|_______________| 4.|问题3|_______________| 输入数据(“问题1”无效,但一旦输入问题2“B3”,将创建单元格) …A……B……C 1.在下面输入数据| 2.|问题1答
3.|问题2|uuuuuuuuuuuuu3_uuuuuuuuuuuuuuu124;将其粘贴到您感兴趣的工作表模块中:
Public InModif As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
If InModif = True Then Exit Sub
Application.ScreenUpdating = False
InModif = True
Dim NbInsert As Integer
If Target.Count > 1 Then Exit Sub
If Not Application.Intersect(Target, Me.Columns(2)) Is Nothing Then
If IsNumeric(Target.Value) Then
NbInsert = CInt(Target.Value)
Do While NbInsert <> 0
Rows(Target.Offset(1, 0).Row).Insert Shift:=xlDown
Target.Offset(1, 0).Value = NbInsert
Target.Offset(1, -1).Value = "Q" & NbInsert
NbInsert = NbInsert - 1
Loop
Else
End If
Else
End If
InModif = False
Application.ScreenUpdating = True
End Sub
Public InModif为布尔值
私有子工作表_更改(ByVal目标作为范围)
如果InModif=True,则退出Sub
Application.ScreenUpdating=False
InModif=True
以整数形式插入
如果Target.Count>1,则退出Sub
如果不是Application.Intersect(Target,Me.Columns(2))则什么都不是
如果是数字(Target.Value),则
NbInsert=CInt(目标值)
插入0时执行此操作
行(目标.Offset(1,0).Row).插入移位:=xlDown
Target.Offset(1,0).Value=NbInsert
Target.Offset(1,-1).Value=“Q”&NbInsert
NbInsert=NbInsert-1
环
其他的
如果结束
其他的
如果结束
InModif=False
Application.ScreenUpdating=True
端接头