【发布时间】:2014-02-09 09:10:27
【问题描述】:
我从 A112:H206 范围内创建了一个表格,星期几(星期日、星期一等)从 B112-H112 开始作为表格行。在 A 列中,我列出了个人的姓名,一直到 A206。
我在电子表格顶部有一个输入部分,用户将在其中从单元格 A109 的下拉菜单中选择一个名称,一周中的某一天从单元格 B2 的下拉菜单中,最后是单元格 C109 中的 值,该值应输入到表中的相应单元格中。
我创建了一个名为“Enter”的按钮,单击该按钮应根据上面的输入部分搜索相应的单元格,并在该单元格中输入 C109 值。不幸的是,我使用 VBA 的尝试没有成功!任何帮助将不胜感激。
谢谢!
Private Sub CommandButton1_Click()
Dim ws1 As Worksheet
Dim x As Range
Dim y As Range
Dim valX, valY
Set ws1 = Sheets("Sheet1")
valX = ws1.Range("B2").Value
Set x = ws1.Range("A112:H112").Find(What:=valX, LookIn:=xlValues, _
lookat:=xlWhole)
If x Is Nothing Then
MsgBox "'" & valX & "' not found on '" & ws1.Name & "' !"
Exit Sub
End If
valY = ws1.Range("A109").Value
Set y = ws1.Range("A112:A206").Find(What:=valY, LookIn:=xlValues, _
lookat:=xlWhole)
If Not y Is Nothing Then
Range("C109").Select
Selection.Copy
ws1.Cells(x.Column, y.Row).Select
ActiveSheet.Paste
Range("C109").Select
Selection.ClearContents
Exit Sub
End If
End Sub
【问题讨论】:
-
您可以使用
Find()定位每个所需的列/行“标题”单元格,然后从这些单元格中确定数据需要去往的“相交”单元格。 -
如果您有现有代码,则应将其添加到您的问题中 - 不必实际工作。
-
啊不幸的是我有点沮丧,从头开始;我想我需要复习一下 Find() 函数!
-
这里有一个类似的问题:stackoverflow.com/questions/20477168/…
-
谢谢!我会尝试将那里的答案应用于我的问题!