【发布时间】:2017-03-27 19:34:31
【问题描述】:
这很简单,但我无法弄清楚。可能是因为做不到?不管我们去哪里:
我想使用一个组合框,当被选中时,该组合框将输入带有文本值、函数和对外部单元格的引用的单元格。
选项的第一行是填充名称。
第二行是一个公式,会因课程而异。
第三行将为一个单元格提供对另一个文件中另一个单元格内容的引用。因此,如果使用多个课程文件,我可以拥有一个主文件,如果我更改单元格的内容,更改将反映在更新后引用它的所有课程文件单元格。
这是我希望它执行的粗略代码形式。
Private Sub ComboBox1_Change()
If Me.ComboBox1.Value = "ITCourse" Then
Worksheets("PARADE STATE").Range("I1").Value = "ITCourse"
Worksheets("Data Base").Range("C1").Value = IF(V9>70,"Prep Week",IF(V9>65,"Week 1",IF(V9>60,"Week 2",IF(V9>55,"Week 3",IF(V9>50,"Week 4",IF(V9>45,"Week 5",IF(V9>40,"Week 6",IF(V9>35,"Week 7",IF(V9>30,"Week 8",IF(V9>25,"Week 9",IF(V9>20,"Week 10",IF(V9>15,"Week 11",IF(V9>10,"Week 12",IF(V9>5,"Week 13",IF(V9>0,"Week 14")))))))))))))))
Worksheets("Week 1").Range("B2").Value = 'N:\ITcourse\00 - Data Base\[ITcourse.xlsx]Sheet'!$A$3
End If
If Me.ComboBox1.Value = "HRCourse" Then
Worksheets("PARADE STATE").Range("I1").Value = "HRCourse"
Worksheets("Data Base").Range("C1").Value = IF(V9>40,"Prep Week",IF(V9>35,"Week 1",IF(V9>30,"Week 2",IF(V9>25,"Week 3",IF(V9>20,"Week 4",IF(V9>15,"Week 5",IF(V9>10,"Week 6",IF(V9>5,"Week 7",IF(V9>5,"Week 8")))))))))
Worksheets("Week 1").Range("B2").Value = 'N:\ITcourse\00 - Data Base\[HRcourse.xlsx]Sheet'!$A$3
End If
End Sub
谢谢!
【问题讨论】:
-
第一行运行正常吗?我怀疑第二行没有做你想做的事。您正在设置一个单元格
Value,但您想要的是 to set a.Formula -
我知道这很简单。所以是的,第一行有效。现在,只要您以这种方式格式化,第二行就可以工作: Worksheets("Data Base").Range("C1").Value = "IF(V9>70,""Prep Week"",IF(V9> 65,""Week 1""........)))" 只要你每次需要在你打开一个之后输入一个双""然后用"关闭该行。第三行有效也是。
-
所以要花费我正在用这些公式做的事情。我为每种课程类型使用了一个电子表格,但编译的大多数统计数据都是相同的,所以我只想拥有一个可以处理所有课程类型的电子表格。选择课程类型后,它将根据选择更改公式并获取单元格。在电子表格中,我有每周要完成的任务议程,并且有一个主电子表格,我对其进行了更改,现在反映到所有相同类型的课程中。我们一次开设 5 种不同类型的约 9 门课程。