在VBA中,插入新行并显示一个框,用户可以在其中填写de单元格中需要的值

在VBA中,插入新行并显示一个框,用户可以在其中填写de单元格中需要的值,vba,excel,Vba,Excel,FHJDAJHKFDAKJHFDJKHDFJHKDFSJHKAFDSJKHFDAJHKAFSD下面是一些提示用户输入某些值的代码。我的问题是理解你的要求。在一种情况下,您说要添加一行,但代码却添加了一列。是哪一个??您需要用用户输入填充多少单元格,它们是在同一行还是在同一列中?如果您想要填充3个或更多单元格,那么向用户询问3个或更多问题是非常糟糕的。如果您可以让用户为每个单元格(即:,或|,或…)定界值,那就太好了 请澄清以上问题 Sub Button6_Click() Dim strUserV

FHJDAJHKFDAKJHFDJKHDFJHKDFSJHKAFDSJKHFDAJHKAFSD下面是一些提示用户输入某些值的代码。我的问题是理解你的要求。在一种情况下,您说要添加一行,但代码却添加了一列。是哪一个??您需要用用户输入填充多少单元格,它们是在同一行还是在同一列中?如果您想要填充3个或更多单元格,那么向用户询问3个或更多问题是非常糟糕的。如果您可以让用户为每个单元格(即:,或|,或…)定界值,那就太好了

请澄清以上问题

Sub Button6_Click()
Dim strUserValue    As String
    ' Ask user to enter a value. If you need values for several cells, then either
    ' ask several questions, or pars the value they enter (i.e. 'John:Doe:Jr.' could
    ' be split into three cells.
    strUserValue = InputBox("Enter Value", "Provide value for cells")
    Sheets("Results").Range("C5").Select                ' You are selecting this row & column
    ActiveCell.EntireColumn.Insert Shift:=xlRight       ' This shifts the column right
    ActiveCell.Offset(1).EntireRow.Insert               ' This inserts a new row relative to where you are (Active cell)
    Cells(6, 3) = strUserValue                          ' What row / column do you want to enter data in????
End Sub

您的VBA代码是否实际存储了新记录,或者这是您未来的计划?你的计划真的是:(a)点击;(b) 向用户询问数据;(c) 存储新记录?把你现在的代码贴出来让我们看看怎么样?谢谢你的评论,我现在的代码是:Sub Button6_Click()Sheets(“Blad4”)。Range(“C5”)。选择ActiveCell.EntireClumn.Insert Shift:=xlRight End Sub。您所说的正是我想要的。希望你能帮忙,提前谢谢。实际上,我有一个按钮用于添加列,一个按钮用于添加行。如果我知道如何做一个,我就会知道如何做另一个。我需要用用户输入填写的单元格是:对于列,我需要填写单元格C5:C13和C16:C28,对于行B6:K6和B17:K17。但是现在,如果我插入一列而不是一行,那么范围就会改变。虽然我可以通过一个“如果”条件来解决这个问题。因此,如果单元格为绿色,则会出现一个新的输入框,用户可以在其中填写值。如果你想亲自查看该文件,我可以通过电子邮件发送给你。我仍然对“用户输入值的文本框”部分感到好奇。如果我是你的用户,你用20多个文本框提示我,我不会高兴的。您是否考虑过允许用户直接进入图纸单元格(您可以保护其他单元格);或者为他们的输入提供一个用户表单?是的,当您添加行和列时,您需要“记住”您所在的位置。你可以用一个全局变量,或者一些能找到正确单元格的代码来完成。这是学校作业,所以必须为它编写代码。我会设法弄明白的。您的代码在第一步(1)是一个很好的方向。您是否要添加另一个按钮来指示您要添加列(您说过您有一个按钮来添加行)?如果不是,将如何指示行或列?(2) 行或列是否始终相对于“活动单元格”的位置添加,还是始终相对于上一行/列的添加位置添加行或列?