Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA基于单元数据创建新单元_Excel_Vba_Cells - Fatal编程技术网

Excel VBA基于单元数据创建新单元

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答

所以我想创建一些东西,当“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
端接头