将数据从一个CSV文件解析到另一个CSV文件

将数据从一个CSV文件解析到另一个CSV文件,csv,macros,openoffice.org,openoffice-basic,Csv,Macros,Openoffice.org,Openoffice Basic,我正在尝试运行这个宏,但由于我的CSV文件非常长,我不想计算列数,有没有办法通过字母(如“DZ”)引用列?代码运行良好,但我只需要引用这些深列,不想计算它是哪个列号,似乎找不到显示列号的方法。我已经将“c”和“t”设置为列号,如1、2等 Sub ParseColumn Dim sheet1 as Object Dim sheet2 as Object Dim r as long Dim c as long sheet1 = ThisComponent.Sheets.getbyname("Sh

我正在尝试运行这个宏,但由于我的CSV文件非常长,我不想计算列数,有没有办法通过字母(如“DZ”)引用列?代码运行良好,但我只需要引用这些深列,不想计算它是哪个列号,似乎找不到显示列号的方法。我已经将“c”和“t”设置为列号,如1、2等

Sub ParseColumn

Dim sheet1 as Object
Dim sheet2 as Object
Dim r as long
Dim c as long

sheet1 = ThisComponent.Sheets.getbyname("Sheet1")
sheet2 = ThisComponent.Sheets.getbyname("Sheet2")

c = F
t = DZ

for r = 1 to 18739

    copyFrom = sheet1.getCellByPosition(c,r)

    copyTo = sheet2.getCellByPosition(t,r)

    copyTo.String = copyFrom.String 

next r

End Sub
更新 找到了一个解决方案:

Sub ParseColumn

Dim sheet1 as Object
Dim sheet2 as Object
Dim r as long

sheet1 = ThisComponent.Sheets.getbyname("Sheet1")
sheet2 = ThisComponent.Sheets.getbyname("Sheet2")

for r = 2 to 18739

    copyFrom = sheet1.getCellRangeByName("AR" & r)

    copyTo = sheet2.getCellRangeByName("S" & r)

    copyTo.String = copyFrom.String 

next r

End Sub

找到了一个解决方案:子解析列Dim sheet1作为对象Dim sheet2作为对象DIMR作为长sheet1=ThisComponent.Sheets.getbyname(“sheet1”)sheet2=ThisComponent.Sheets.getbyname(“sheet2”)对于r=2到18739 copyFrom=sheet1.getCellRangeByName(“Y”&r)copyTo=sheet2.getCellRangeByName(“Q”&r)copyTo.String=copyFrom.String next r End SUB还可以获取工作表中已使用单元格的范围,这只是需要考虑的问题。