2013-09-26 146 views
-2

我想用vba在excel中選擇一個單元格。我希望能夠使用變量(i & e)來選擇單元格。其中I = 3E = 13我希望能夠在excel中選擇一個帶有VBA的單元格

ActiveCell(e, i).Activate 

,並選擇單元格C13。

ActiveCell(e, i).Activate 

確實有效,但僅當原始活動單元格爲A1時才起作用。任何幫助將不勝感激!

+4

歡迎StackOverflow的什麼命令。在這裏簡單搜索一下「vba excel select cell」應該可以找到幾十個這個問題的答案。在發佈問題之前,請至少嘗試自己找到解決方案,因爲以前有人問過並獲得答案的機會相當不錯。謝謝。 –

+0

如果要通過索引引用列,請查看R1C1語法。 –

+0

看看這個:http://support.microsoft.com/kb/291308 – NoChance

回答

3

我在代碼中添加了評論,所以它應該很容易理解。

運行下面的代碼首先

Sub Main() 

    Dim i As Long ' row variable 
    Dim e As Long ' column variable 

    i = 3 ' row 3 
    e = 13 ' column 13 ("M") 

    ' this will put: Cells(3,13) in Range "M3" 
    Cells(i, e) = "Cells(" & i & ", " & e & ")" 


    ' if you want to offset the current active cell then 
    ' use Offset(x, y) 

    ' use negative x to offset up 
    Cells(i, e).Offset(-1, 0) = "1 up" 

    ' use positive x to offset down 
    Cells(i, e).Offset(1, 0) = "1 down" 

    ' use negative y to offset left 
    Cells(i, e).Offset(0, -1) = "1 left" 

    ' use positive y to offset right 
    Cells(i, e).Offset(0, 1) = "1 right" 


    ' same principles apply when using range object 
    Dim r As Range 
    Set r = Cells(i, e) 

    r.Offset(-2, 0) = "2 up" 
    r.Offset(2, 0) = "2 down" 
    r.Offset(0, -2) = "2 left" 
    r.Offset(0, 2) = "2 right" 

    Columns.AutoFit 
End Sub 

然後看看你的表和分析做什麼:)

enter image description here

相關問題