簡體   English   中英

基於FOR循環索引的單元格引用

[英]Cell reference based on FOR loop index

這是我的一些代碼:

Dim wbX As Workbook
Dim wbY As Workbook
Set wbX = Application.Workbooks.Open("C:\Converter\aaa.xls")
Set wbY = Application.Workbooks.Open("C:\Converter\bbb.xlsx")

For i = 1 To wbX.Sheets.Count
wbY.Sheets(1).Activate
Range("Y" & i + 2).Select
ActiveSheet.Range("Y" & i + 2).Formula = "=RIGHT(("S" & i + 2); 4)"

問題在於(“ S”&i + 2)無法識別為單元格-VBA吐出語法錯誤。

也許這個例子可以幫助您:

Option Explicit

Sub test()
    Dim rngC As Range
    For Each rngC In Range("C2:C100")
        rngC.Offset(0, 4) = Right(rngC, 4)
    Next
End Sub

由於將數字連接到字符串,因此表達式"Y" & i + 2不會產生有效的單元格引用。 您必須將數字表達式轉換為字符串:

"Y" & Str(i + 2)

從您的評論中我了解到,作業應寫為:

"=LEFT(S" & Trim(Str(i + 2)) & "; 4)"    ' yields e.g.: =LEFT(S3; 4)

(LEFT函數從字符串中獲取一個字符。這假設您引用的單元格包含字符串,或者VB首先將值轉換為字符串。在這里,您必須使用Trim(Str(i + 2))因為您正在構造在公式中放入單元格的字符串。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM