Excel 循环使用CStr增加行数
我正在一个文件(垃圾数据.xlsx)中循环,以捕获(此工作簿)的数据。对于范围C1,它直接引用垃圾数据文件中的数据,通过使用CStr增加垃圾数据文件中的行号,效果非常好。但是,当我使用垃圾数据文件中单元格内容的公式去除A1范围的左三个字符(=左(C1,3))时,我得到了一条语法错误消息。我试图做的有什么问题吗Excel 循环使用CStr增加行数,excel,vba,Excel,Vba,我正在一个文件(垃圾数据.xlsx)中循环,以捕获(此工作簿)的数据。对于范围C1,它直接引用垃圾数据文件中的数据,通过使用CStr增加垃圾数据文件中的行号,效果非常好。但是,当我使用垃圾数据文件中单元格内容的公式去除A1范围的左三个字符(=左(C1,3))时,我得到了一条语法错误消息。我试图做的有什么问题吗 Dim r As Integer 'for row count in junk data file r = 1 Workbooks("junk data.xlsx").Sheets("sh
Dim r As Integer 'for row count in junk data file
r = 1
Workbooks("junk data.xlsx").Sheets("sheet1").Activate
'loop through junk data file until an empty row is found
Do While Cells(r, 1) <> ""
ThisWorkbook.Activate
Range("A1").Select
ActiveCell.FormulaR1C1 = "=LEFT('[junk data.xlsx]Sheet1'!R" & CStr(r) &"C1",3)"
Range("C1").Select
ActiveCell.FormulaR1C1 = "='[junk data.xlsx]Sheet1'!R" & CStr(r) & "C8"
Workbooks("junk data.xlsx").Sheets("sheet1").Activate
r = r + 1
Loop
垃圾数据文件中行计数的“将r作为整数进行调整”
r=1
工作簿(“垃圾数据.xlsx”)。工作表(“表1”)。激活
'循环浏览垃圾数据文件,直到找到空行
“当单元格(r,1)”时执行”
此工作簿。激活
范围(“A1”)。选择
ActiveCell.FormulaR1C1=“=左('[junk data.xlsx]Sheet1'!R'&CStr(R)和“C1”,3)”
范围(“C1”)。选择
ActiveCell.FormulaR1C1=“=”[junk data.xlsx]Sheet1'!R“&CStr(R)和“C8”
工作簿(“垃圾数据.xlsx”)。工作表(“表1”)。激活
r=r+1
环
一个引号太多:
&"C1,3)"
也许我误解了您的意图,但Left(s,3)并没有“去掉左边的3个字符”。它的作用正好相反。它保留了这些字符并删除了所有其他字符。您似乎想要Mid():
CStr()在这里是没有意义的,因为如果r是整数,那么连接运算符&将自动将r转换为字符串。无论你遇到什么问题,它都与CStr无关。Juliusz-成功了!我现在可以完成宏的其余部分。我是一个新手,永远不会这样做。
&"C1,3)"
Sub test()
Dim s As String
s = "Hello World"
MsgBox Left(s, 3) 'diplays "Hel"
MsgBox Mid(s, 4) 'displays "lo world"
End Sub