首先從Source工作簿中獲取非空單元格的範圍。然後在目標工作簿中選擇相似範圍的單元格。這怎麼能實現?找出Endxl的範圍是什麼
完整的代碼::
~~~~~~~~~~~
Public Sub ConvertTo_K()
Dim rng1 As Range
Dim rng2 As Range
Set rng1 = Workbooks("Source.xls").Worksheets("Source").Range(Cells(2, "A"), Cells(Rows.Count, "A").End(xlUp).Resize(, 1))
Set rng2 = Workbooks("Destination.xls").Worksheets("Destination").Range(rng1.Address)
rng2.Value = Round(rng1.Value/1000, 2)
'At this point, an error message of Type Mismatch pops up (Due to different ranges of rng1 and rng2). Do i have to use a loop? How to do that?
End Sub
謝謝@Santosh!它的工作是預期的。只有一個問題,如果我的目標範圍需要不是源範圍,那我們該怎麼做?我不想複製Destination.xls的「A2:until end」中的舍入值,而是在「C7:until end」中複製。我們如何才能瞭解源(rng1)的完整範圍?如果我設置了rng2 = .Range(「C7」),那麼只有第一個值會四捨五入,其他的只會被複制。如何獲得所有的四捨五入的值?請說明一點。 – vbastart
@vbastart請看看FormulaR1C1 – Santosh
我已經開始使用FormulaR1C1了,但似乎沒有得到它的控制。在我的代碼中,我應該如何使用它,以便將所有值複製並舍入?我真的不知道該怎麼做。我試過, 設置DestinationRng.FormulaR1C1 =「= R7C9」,但得到一個錯誤的對象是必需的。 :( – vbastart