我创建了一个包含多个工作表的工作簿。在其中一张工作表中,我编写了一个宏,在您单击一个active-x按钮后,它会在另一个工作表(带有预定义的单元格)中创建下拉值。
现在的问题是,一旦我运行它完全执行的宏,但是一旦删除宏,即使我在删除宏之前保存了文件,下拉值也会消失。
如果需要进一步的详细信息,请与我们联系。
代码段 -
Private Sub CommandButton1_Click()
'Define the variables
Dim vRangeDefined, vRowCount, vCounter, vCellValue As String, vDataValue As String
Dim wbk As Workbook
'Define the range where the values are entered
vRangeDefined = ActiveSheet.Range("A:B").Value
vRowCount = ActiveSheet.UsedRange.Rows.Count
For vCounter = 2 To vRowCount
vCellValue = vRangeDefined(vCounter, 1)
vDataValue = vRangeDefined(vCounter, 2)
'Assign the names to cells as per the range
Sheets(2).Select
ActiveSheet.Range(vCellValue).Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=vDataValue
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Next
MsgBox "Process complete..."
End Sub
谢谢!
答案 0 :(得分:0)
我需要的只是范围A1:B2中的四个单元格值,您可以在这里输入。
我很抱歉这篇文章(从上面的文字开始)因为我想将其添加为评论而我在移动设备上操作时失败了。所以我继续在这里......
我做了你所描述的一切,没有任何异常发生,你没有遇到任何问题。我在Excel 2010上进行了测试。我的进一步建议是:
请考虑删除宏后再执行任何其他操作,这在这种情况下似乎并不重要,
尝试断开宏与按钮的连接并将其放入标准模块(例如Module1)并使用VBA编辑器中的F5键运行它。
如果您最终找到解决方案,请通知我们。