【发布时间】:2014-01-20 16:10:48
【问题描述】:
我在 Excel VBA 中创建了一个用户表单,我将使用它来查看和更新我拥有的工作表中的某些记录:
UserForm1 http://im35.gulfup.com/Ay43Z.png
我似乎想不通的是如何让它在工作表中状态列中有“Y”的记录之间导航。
Sheet1 http://im36.gulfup.com/cq6CN.png
我需要用户能够通过用户窗体编辑他正在查看的记录的评论列,以便将更改保存在工作表中。 Userform 上的其余文本框都设置为 Locked,以便它们只能显示数据。
我现在面临的问题是我似乎只能在所有记录之间循环。我需要的是在以“Y”作为“状态”的那些之间导航。此外,我似乎无法弄清楚表单上的“评论”框中所做的更改是如何保存在工作表上的。
任何帮助将不胜感激!
编辑:
以下是上一个按钮的代码:
If CurRecord = 0 Then CurRecord = 1
With ws
For i = 1 To (CurRecord - 1)
If Not .Range("G" & i).Value = "X" Then
TextBox1.Text = .Range("A" & i).Value
TextBox2.Text = .Range("B" & i).Value
'
'~~> And So on load the rest
'
CurRecord = i
Exit Sub
End If
Next i
If (i - 1) = lRow Then
MsgBox "End of record reached"
End If
End With
当我使用它时,它会一直跳到第一条记录。
我也试过了:
For i = 1 To (CurRecord - 1)
但这在到达第一条记录时会给我一个“超出范围”错误。
想知道我哪里错了吗?
【问题讨论】:
-
如果您在 www.wikisend.com 上传示例文件并在此处分享链接,我可以为您提供帮助。我很懒惰自己创建一个样本:p
-
@SiddharthRout 抱歉回复晚了,我实际上是在外地度假!无论如何,我按要求上传了文件:wikisend.com/download/461380/Book1.xlsm
-
@SiddharthRout 有什么建议吗?
-
@SiddharthRout 如果您至少能给我一些提示,我将不胜感激。提前致谢
-
很抱歉出城了。那么我们现在卡在哪里了?