Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.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_Validation_Dropdown_Rows - Fatal编程技术网

是否基于同一行(Excel/VBA)中的单元格条目预填充下拉列表单元格?

是否基于同一行(Excel/VBA)中的单元格条目预填充下拉列表单元格?,excel,vba,validation,dropdown,rows,Excel,Vba,Validation,Dropdown,Rows,我试图强制“是/否”下拉列表(通过工作簿中其他位置的列表进行数据验证创建)在填充同一行上的某个单元格时预先填充“否” 我有下表: 在第三个数据输入行,当我用一个值填充“ID”字段时,我希望该行的“bunded?”字段立即预先填充“Yes”,而不必进入下拉列表本身并选择“Yes”或“No”。这将保留通过下拉菜单将字段更改为“否”的选项 这是可以通过标准excel数据验证完成的,还是我需要使用一些VBA代码?在您的D列中尝试此公式 =IF(COUNTA(C2),“是”和“)并根据需要向下复制 当C

我试图强制“是/否”下拉列表(通过工作簿中其他位置的列表进行数据验证创建)在填充同一行上的某个单元格时预先填充“否”

我有下表:

在第三个数据输入行,当我用一个值填充“ID”字段时,我希望该行的“bunded?”字段立即预先填充“Yes”,而不必进入下拉列表本身并选择“Yes”或“No”。这将保留通过下拉菜单将字段更改为“否”的选项


这是可以通过标准excel数据验证完成的,还是我需要使用一些VBA代码?

在您的D列中尝试此公式

=IF(COUNTA(C2),“是”和“)
并根据需要向下复制

当C2中输入任何内容时,此公式将回答“是”。如果您只想响应一个数字或其他任何东西来验证条目,则其变体可能是
COUNTA(A2:C2)=3

我在输入公式时遇到了一点问题,发现最简单的方法是只在公式之后设置数据验证。但是删除数据验证本身中忽略空白的复选标记也允许我完成输入


当然,“是”是验证允许的条目之一。单击下拉箭头并从列表中选择一项将删除该公式。

我不确定您是否得到过满意的答案,但如果您正在寻找的是VBA解决方案,则私人Sub将实现您的目标。以下假设所讨论的工作表是Sheet1,ID列是C

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range

If Not Intersect(Range("C:C"), Target) Is Nothing Then
 
Set c = Sheet1.Range(Target.Address)

    If c.Value <> "" Then
        c.Offset(, 1).Value = "Yes"
            Else
            c.Offset(, 1).Value = ""
    End If

End If
End Sub
Private子工作表\u更改(ByVal目标作为范围)
调光范围
如果不相交(范围(“C:C”),目标)则为零
设置c=Sheet1.范围(Target.地址)
如果c.值为“”,则
c、 偏移量(,1)。Value=“是”
其他的
c、 偏移量(,1)。Value=“”
如果结束
如果结束
端接头

谢谢,非常有用!