【发布时间】:2016-02-19 19:35:47
【问题描述】:
Vba excel: 从存储在具有 255 个字符的单元格(2,1)中的字符串中,我试图将前 50 个字符复制到一个单元格中,然后将 50 到 100 个字符复制到另一个单元格中,将 150 到 200 个字符复制到另一个单元格中
我有一个存储在单元格(2,1)中的字符串,包含 255 个字符,并且想要提取 50 个单词,我的意思是分成 5 个单元格,每 50 个序列字符。我使用了下面的代码,但是对于给定的限制,字符不是复制的,它继续使用早期的限制。你能帮忙吗
ThisWorkbook.Sheets("Sheet2").Cells(2, 1) = Data_comp
Comp_data1 = Left(Data_comp, 50) ' copying 50 characters
Comp_data2 = Mid(Data_comp, 50, 100) ' copying 100 characters
Comp_data3 = Mid(Data_comp, 100, 150) ' copying 150 characters
Comp_data4 = Mid(Data_comp, 150, 200)' copying 200 characters
Comp_data5 = Mid(Data_comp, 200, 250) ' copying 250 characters ThisWorkbook.Sheets("Manual_Checks").Cells(1, 2) = Comp_data1 ThisWorkbook.Sheets("Manual_Checks").Cells(1, 3) = Comp_data2 ThisWorkbook.Sheets("Manual_Checks").Cells(1, 4) = Comp_data3 ThisWorkbook.Sheets("Manual_Checks").Cells(1, 5) = Comp_data4 ThisWorkbook.Sheets("Manual_Checks").Cells(1, 6) = Comp_data5
abc1 = Len(Comp_data1) 'shows 50 characters
abc2 = Len(Comp_data2) ' shows 100 characters
abc3 = Len(Comp_data3) '150 characters
abc4 = Len(Comp_data4) '200 characters
abc5 = Len(Comp_data50 '250 characters
【问题讨论】:
-
Mid() 长度中的第三个条件没有结束,因此将第三个条件全部更改为 50,因此
Mid(Data_comp, 200, 250)应该是Mid(Data_comp, 200, 50)