【问题标题】:Excel VBA Creating new cells based on cell dataExcel VBA 根据单元格数据创建新单元格
【发布时间】:2015-07-06 23:54:07
【问题描述】:

所以我希望创建一些东西,当在相应的单元格中输入“X”时会创建 X 数量的单元格,然后用计数到 X 的数字填充这些单元格。

由于我无法输入图片,所以我创建了一个粗略的示例来说明我想要实现的目标。

表格将如何开始

...|........A........|......B....... ....|........C........

1.|..................| 在下面输入数据。|

2.|问题1| _______________|

3.|问题2| _______________|

4.|问题3| _______________|

输入数据,(“问题1”没有效果,但是一旦输入问题2“B3”就会创建单元格)

...|........A........|......B....... ....|........C........

1.|..................| 在下面输入数据。|

2.|问题1| _____答案____|

3.|问题2| _______3_______|

4.|问题3| _______________|

然后会根据输入到“B3”中的数量创建一定数量的单元格

...|........A........|......B....... ....|........C........

1.|..................| 在下面输入数据。|

2.|问题1| _____答案____|

3.|问题2| _______3_______|

4.|Q1.......| _______________|

5.|Q2.......| _______________|

6.|Q3.......| _______________|

7.|问题 3| _______________|

如果有人能提供帮助,将不胜感激。如有任何其他信息,请随时询问。

【问题讨论】:

    标签: excel vba cells


    【解决方案1】:

    将此粘贴​​到您感兴趣的工作表模块中:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多