2011-01-06 38 views
1

從其他表格讀取和寫入數據時,我遇到了一些問題。在沒有選擇第一個的情況下在其他表格中讀取/寫入數據

雖然我可以讀取和使用寫單個細胞細:

紙張(紙張名稱).cells(X,Y)。價值

使用:

紙張(紙張名稱).range (單元格(x,y),單元格(a,b))。值

似乎不起作用。

雖然這很容易通過簡單地選擇工作表來解決,它確實有一些開銷,並且感覺非常智能。

我需要這樣做的主要目的是讀取和寫入數組到非活動的工作表,如果任何人有替代我會是格外格拉富爾。

乾杯

回答

1

使用範圍對象中的細胞的方法是指到另一個工作表需要你先激活該工作表,我認爲(見第5節在此從msdn

Sub ReferToCells() 
    Dim arrData() As Variant, i As Long 
    Sheets("Sheet2").Activate 
    arrData = Range(Cells(1, 1), Cells(2, 1)).Value 

    For i = 1 To UBound(arrData) 
     Debug.Print arrData(i, 1) 
    Next i 
End Sub 
+0

謝謝,對我來說很好。我認爲這比只選擇更低的開銷? – Cunning 2011-01-06 13:34:15

3

如果你想避免使用選擇或激活你能不能代替嗎?:

With Sheets("Sheet Name") 

    arrData = .Range(.Cells(1,1), .Cells(2,1)).Value 

End With 

As far因爲我知道這應該工作。

1
Dim ws As Worksheet 

Set ws= Worksheets("MySheet") 

     With ws 
     .Range(ws.Cells(3, 1), ws.Cells(3, 14)).ClearContents 
     End With 

End If 

這個作品真的很好,但不激活片

相關問題