在当前的访问数据库中,用户希望使用鼠标突出显示列中的特定范围的单元格,并在vba脚本中使用此选择。 (例如,他们选择一个范围 - > vba脚本使用某个值填充此范围)
我们的问题是:我们如何在VBA中定义此选定范围?有很多示例可以使用VBA到HIGHLIGHT单元格,但不能使用如何在Access内部的VB脚本中使用突出显示的范围。
这可能吗? 如果是这样,我们如何解决这个范围?
感谢您的时间。
答案 0 :(得分:2)
数据表视图(或表/查询)中的表单具有properties以获取所选范围。以下内容主要是从在线帮助中复制的:
Dim frm As Form
Dim lngNumRows As Long
Dim lngNumColumns As Long
Dim lngTopRow As Long
Dim lngLeftColumn As Long
Dim strMsg As String
' Datasheet that has the focus
Set frm = Screen.ActiveDatasheet
' Number of rows selected.
lngNumRows = frm.SelHeight
' Number of columns selected.
lngNumColumns = frm.SelWidth
' Topmost row selected.
lngTopRow = frm.SelTop
' Leftmost column selected.
'** Note: for me, this is always the actual left column + 1 **
lngLeftColumn = frm.SelLeft
' Display message.
strMsg = "Number of rows: " & lngNumRows & vbCrLf
strMsg = strMsg & "Number of columns: " & lngNumColumns & vbCrLf
strMsg = strMsg & "Top row: " & lngTopRow & vbCrLf
strMsg = strMsg & "Left column: " & lngLeftColumn
MsgBox strMsg, vbInformation
在我的Access 2010中,.SelLeft
总是太高1.所以如果我的选择从第一列开始,它会返回2.不确定它是否应该这样做。
注意:当选择带有记录选择器的记录时,.SelTop
和.SelHeight
也适用于表单视图中的连续表单。