如何使用End(xlToRight)和R1C1

时间:2014-10-02 17:35:02

标签: excel-vba vba excel

我的报告导致出口不佳。我知道,对于“货币”的每个实例,我需要R[-4]C[5],然后End(xlToRight).select。我必须使用End(xlToRight)因为整个报告中数据所在的列都在变化。以下是我目前正在做的事情,它不起作用。任何建议都将不胜感激。

Sub Test()

    Application.ScreenUpdating = False
    Dim i As Integer
    For i = 9 To 40

    Cells(i, 3).FormulaR1C1 = "=if(R[-1]c[5]=""Currency:"",Range(R[-4]C[5].End(xlToRight)).select,r[-1]c)"
    Next i

End Sub

1 个答案:

答案 0 :(得分:0)

我正在盲目地刺伤这个,因为很难辨别你想要做什么。我可以说这么多,你不能把VBA放到Cell的公式中,所以你在尝试cells(i,3).formulaR1C1="=If(<crazy vba stuff in here>)" ...只是不会'开始工作。

挑选我认为你想要这个公式做的事情:

Sub Test()

    Application.ScreenUpdating = False
    Dim i As Integer
    For i = 9 To 40        
         If Cells(i-1, 3+5).value = "Currency" then
              Cells(i, 3).value = Cells(i-4, 3+5).end(xlToRight).value
         Else
              Cells(i, 3).value = Cells(i-1, 3).value
         End if        
    Next i

End Sub