目标:在一个Excel工作簿(Default.xls)中编写VBA脚本,以打开另一个具有变量名(NFL_ *)的Excel工作簿。然后,“默认”中的VBA脚本将删除NFL中的几个多余的和合并的单元格类型的行(1:12)。然后,它将计算NFL中已填充记录的数量(即行数)并删除最后一行(因为它不是真正的记录,它只是一个单元格,用于汇总一列)。
问题:我无法使后一部分起作用-有关删除最后一个“行”的部分。如果脚本是用NFL工作簿本身编写的,则可以使它正常工作,但不能将其与Default工作簿中编写的脚本一起工作。虽然-我可以在默认工作簿中获取VBA脚本,以删除NFL工作簿中的1:12行。为什么后半部分不起作用?
问题重述:默认工作簿具有1个VBA脚本,该脚本对另一个工作簿执行2种不同的操作。1个动作-删除1:12行-起作用。第二个操作-删除最后一个“行”-不起作用。
预先感谢您的任何帮助!
Sub Chop_FR_NFL()
'Set parameters
Dim wb As Excel.Workbook
Dim xlApp As Excel.Application
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
'Open latest NFL report and delete rows 1:12
Set wb = xlApp.Workbooks.Open("T:\xx\xx\xx\xx\xx\xx\xx\" & "NFL_*", True, False)
wb.Sheets(1).Rows("1:12").Delete
'Delete Total UPB Grand Total cell
Dim UPB As Long
UPB = Range("I" & Rows.Count).End(xlUp).Row
Range("I" & UPB).Select
Selection.Delete
wb.Save
wb.Close
End Sub
这应该工作:
'...
With wb.Sheets(1)
.Rows("1:12").Delete
.Cells(.Rows.Count, "I").End(xlUp).EntireRow.Delete
End With
'...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句