我厌倦了寻找解决方案 . 我正在使用Excel宏将数据导入Excel工作表 . 代码本身从另一个excel表中获取数据并循环遍历给出的excel表数 . 对于其他工作表,它工作正常,但在某些情况下,它导入的数据多于所需的和随机进入任何列 . 假设它必须循环代码9次,然后它导入9个正确的行(具有正确的excel单元格格式)以及随机excel单元格格式的一些其他随机行我的宏代码如下:
“shtData”是必须从中导入数据的Excel文件 . “shtCurrent”是写入宏并导入数据的工作表 .
Set ACell = shtData.Cells.Find("Fund", LookIn:=xlValues, LookAt:=xlWhole, after:=shtData.Range("A1")).Offset(2, 0)
Set BCell = ACell.End(xlDown)
For Each DataCell In shtData.Range(ACell, BCell)
Set rCell = shtCurrent.Range("A65000").End(xlUp).Offset(1, 0)
rCell.Value = DataCell.Offset(0, 7).Value 'date
rCell.Offset(0, 1).Value = DataCell.Offset(0, 8).Value 'date format
rCell.Offset(0, 2).Value = "TEXT"
rCell.Offset(0, 3).Value = "TEXT"
rCell.Offset(0, 4).Value = "TEXT"
' null value required for rCell.Offset(0, 5)
rCell.Offset(0, 6).Value = "100.00"
rCell.Offset(0, 7).Value = "100.00"
rCell.Offset(0, 8).Value = "100"
rCell.Offset(0, 9).Value = "100"
' null value required for rCell.Offset(0, 10)
rCell.Offset(0, 11).Value = RunDate 'date format
rCell.Offset(0, 12).Value = "TEXT"
rCell.Offset(0, 14).Value = shtData.Range("C5").Value 'Date format
Next DataCell
拜托,我对此感到厌烦 . 任何帮助将不胜感激 .
1 回答
没有更多信息,一旦定义了工作表对象,代码似乎对我来说很好 . 因为你的代码不是一个可重复的例子 - 即你省略了一些细节 - 我不知道如何定义
shtData
(如果有的话) .请尝试发布可重复的示例 - 因为这有助于获得更多答案 .
无论如何..我创建了两个名为
shtData
和shtCurrent
的工作表 . 我在代码中引用它们我将下面的代码放在一个单独的模块中,并使用
Option Explicit
,因为这会强制用户/程序员思考和定义他/她正在使用的变量及其类型等 .这是您的代码,作为可重现的示例(显然需要
shtData
中的一些值) .