VBA / Excel如何将ActiveCell保存为对象

时间:2016-04-22 12:46:08

标签: excel vba

我需要在Excel中的列表中构建登录文本。我尝试使用宏并编写一个小脚本。基本上我有2个单元格紧挨着另一个。第一个获取ssh密钥名称,第二个获取密码。这2值取决于机器的操作系统,在其他字段中指定。最后我有一个带有操作系统名称的表,以及密码短语旁边的ssh键。

这就是我写的:

Function FindKey(FirstCell As Range) As String
'
' FindKey Macro
' Find the ssh key in function of the OS
'
Dim Find As Boolean
Dim Cell As Range
Dim OS As String


Cell = ActiveCell.Address
ActiveCell.Offset(0, 4).Value = OS
Find = False
While Not Find
    ActiveCell = FirstCell.Address
    If ActiveCell.Value = OS Then
        FindKey = ActiveCell.Offset(0, 1).Value
        Cell.Offset(0, 1).Value = ActiveCell.Offset(0, 2).Value
        Cell.Select
        Find = True
    Else
        ActiveCell.Offset(1, 0).Select
        If IsEmpty(ActiveCell) Then
            Cell.Select
            FindKey = CVErr(xlErrNull)
            Find = True
        End If
    End If

Wend
'
End Function

我真的不知道我怎么想写这个。我只能将单元格地址存储在变量中吗?我可以将它作为对象使用吗?

感谢您的时间和美好的一天

2 个答案:

答案 0 :(得分:1)

dim yourCell as Range
set yourCell = ActiveCell

set yourCell = FirstCell

设置对象引用时需要使用关键字

答案 1 :(得分:1)

Set myActiveCell = ActiveCell
Set myActiveWorksheet = ActiveSheet
'Your code here
myActiveWorksheet.Activate
myActiveCell.Activate