在VBA中按名称引用列

时间:2015-06-24 14:20:05

标签: excel vba excel-vba

我有三列数据。我将A列命名为“Short”,B列为“Long”,C列为“Position”。

在我的VBA代码中,我将C列中的数据称为:Range(“C”& i)(其中i是行号)。

我如何参考C栏,因为我已经在我的宏中命名了它?

欢迎任何建议,谢谢!

这是我目前的代码:

Sub NestedIf()
i = 2

Dim uLimit As Integer
Dim lLimit As Integer

uLimit = Range("e" & 1)
lLimit = Range("e" & 2)

Do
    If Range("c" & i) >= 0 Then
        If Abs(Range("c" & i)) <= uLimit Then
            If Abs(Range("c" & i)) >= lLimit Then
                Range("b" & i) = Abs(Range("c" & i))
            Else
                Range("b" & i) = lLimit
            End If
        Else
            Range("b" & i) = uLimit
        End If
    Else
        Range("b" & i) = 0
    End If

    If Range("c" & i) <= 0 Then
        If Abs(Range("c" & i)) <= uLimit Then
            If Abs(Range("c" & i)) >= lLimit Then
                Range("a" & i) = Abs(Range("c" & i))
            Else
                Range("a" & i) = lLimit
            End If
    Else
        Range("a" & i) = uLimit
    End If
Else
    Range("a" & i) = 0
End If

    i = i + 1
Loop Until IsEmpty(Range("c" & i))


End Sub

1 个答案:

答案 0 :(得分:1)

只要您的数据在表格内(可以使用Ctrl + T定义),您就可以使用以下内容引用单元格:

TableName[ColumnName]

例如,如果您的表名为DataTable,则可以使用DataTable[Short]获取简短列。

VBA中的用法是:Range("DataTable[Short]")

有更多信息here