根据用户选择填充单元格范围

根据用户选择填充单元格范围

会有一个单元格 (B2) 允许用户输入星期几。根据所选的日期,会有一个单元格区域 (C2:F4),其中会填充相应的文本/颜色/格式。​​我可以使用公式根据结果提取文本,但我不知道如何填充格式(单元格填充颜色等...)。

例如,如果选择星期日,则 C2:F4 应该包含 H2:K4 的内容。

我附上了一张截图来说明这个例子:

在此处输入图片描述

答案1

您需要用 VBA 编写触发器。电子表格文件的扩展名需要为 ,.xlsm而不是 .xls

我建议将选项列表转换为下拉列表。请参阅 Microsoft 的 创建和管理下拉列表

然后,您可以通过 VBA 触发器捕获下拉列表中的更改,例如:

Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.Address = "$A$1" Then
      If Target.Value = "SUNDAY" Then
         Cells(1, 2) = "abc"
         ...
      ElseIf Target.Value = "MONDAY" Then
         Cells(1, 2) = "xyz"
         ...
      End If
   End If
End Sub

上述代码只是一个未经测试的示例。您需要学习 VBA 才能完成它,但您可以在网上轻松找到所需的一切。

答案2

你可以做一些看起来无需 VBA 即可,但有点麻烦。不过,如果您的用户对允许宏运行很敏感,这是一种解决方法。从您的数据设置开始,请按照以下步骤操作:

  1. 创建一个空白部分。它很适合放在星期六旁边。
  2. 使用相机工具拍摄其中一个部分的快照并将其移动到结果部分中。您可以像其他任何形状一样对其进行格式化,以便可以关闭其边框以使其看起来更正确。
    第2步
  3. 在其他地方,创建一个返回范围的公式地址您希望显示各种选项。我在本例中没有填写所有选项,但您可以添加其他选项。0最后的是如果选项为空。
    =SWITCH(B2,"SUNDAY","H2:K4","MONDAY","L2:O4",0,"L14:O16")
  4. 从公式功能区中打开名称管理器。单击左上角的“新建”,创建一个命名范围,指向公式所在的位置,SWITCH()但将其包装在INDIRECT()函数内。在我的例子中,公式B7如下所示:
    名称管理器
  5. 将相机工具形状中的公式更改为指向您刚刚创建的命名范围。您可以选择该形状,然后直接在公式栏中编辑公式。
    形体方程式
  6. 更改选项,您会对 Excel 所能做的事情感到惊讶。
    周一

相关内容