编译错误:预期“下一步” - 有人可以帮助确定问题吗? [英] Compilation Error : Expected 'Next' - Can someone help identify the issue?

查看:59
本文介绍了编译错误:预期“下一步” - 有人可以帮助确定问题吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好 -

我无法通过VB脚本识别问题。 

I'm having trouble identifying the issue with my VB Script. 

我缩小的行是第63行:i = 1到计数表

The line I have narrowed down is Line 63 : for i = 1 to countsheet

当我发表评论时,我没有收到任何错误。然而,这是一个关键的路线,所以我该如何解决?

When I comment that out I get no errors. However that's a crucial line so how do i fix?

谢谢!

'on error resume next
set objexcel = createobject ("Excel.Application")

Dim objexcel
dim objworkbook1, objworkbook2, objworkbook3, objworksheet
dim i, startrow, intnewrow, endrow, countsheet
dim Firstcell, lastcell

Dim args, HC_EXCEL_PREPPATH, HC_EXCEL_SUBPATH, HC_TEMP_UTIL_WB, HC_UTIL_WB, HC_ACT_FILE, HC_EXCEL_TAB
Set args = Wscript.arguments

HC_EXCEL_PREPPATH= args(0)
HC_EXCEL_SUBPATH= args(1)
HC_TEMP_UTIL_WB= args(2)
HC_UTIL_WB= args(3)
HC_ACT_FILE= args(4)
HC_EXCEL_TAB= args(5)

WScript.Echo HC_EXCEL_PREPPATH
WScript.Echo HC_EXCEL_SUBPATH
WScript.Echo HC_TEMP_UTIL_WB
WScript.Echo HC_UTIL_WB
WScript.Echo HC_ACT_FILE
WScript.Echo HC_EXCEL_TAB

WScript.Echo "Performing Headcount Submission Final Processing..."
	
If HC_EXCEL_TAB = "Start" Then

	Set objWorkbook1= objExcel.Workbooks.Open(HC_EXCEL_PREPPATH & HC_TEMP_UTIL_WB)
	Set objWorkbook2= objExcel.Workbooks.Open(HC_EXCEL_SUBPATH & HC_UTIL_WB)
	
	'::-- Clear specified range in HC_UTIL_WB --::'
	objRange = objWorkbook2.Worksheets("HC_Input_Data").Range("A2:E30000").Clear
	
	'::-- Put all Sheets in for loop in HC_TEMP_UTIL_WB --::'
	countSheet = objworkbook1.Sheets.Count
	intnewrow=2
	i = 1
'	for i = 1 to countsheet
	Set objWorksheet = objWorkbook1.WorkSheets(i)
	objorksheet.Activate
	startrow = 2

	'::-- Count the number of used rows --::'
	endrow = objWorkbook1.Worksheets(i).UsedRange.Rows.Count

	'::-- Copy the data --::'
	objWorkbook1.Worksheets(i).Range("A" & startrow &":E"& endrow).Copy
	
	'::-- Paste in HC_UTIL_WB --::'
	objWorkbook2.Worksheets("HC_Input_Data").Cells(intNewRow,1).Pastespecial

	'::-- Increment the row --::'
	intNewRow = intNewRow + (endrow - startrow + 1)

	objWorkbook2.RefreshAll

	'::-- Adjust formula columns to match last row on Column A --::'
	Set objWorksheet1 = objWorkbook2.Worksheets("HC_Input_Data")
	xlUp = -4162
	Set LastCell = objWorksheet1.Range("A" & objWorksheet1.Rows.Count).End(xlUp)
	Set SourceRange = objWorksheet1.Range("H2:O2")
	Set FillRange = objWorksheet1.Range("H2:O" & LastCell.Row)
	SourceRange.AutoFill FillRange
	
	'::-- TEMP_Utility can be saved and closed ::--'
	'::-- No need to interact with TEMP_Utility anymore for this process --::'
	objworkbook1.close
	objworkbook1.save

ElseIf HC_EXCEL_TAB = "End" Then

	'::-- Save and Close HC_UTIL_WB --::'
	objworkbook2.save
	objworkbook2.close
	
Else
	'::-- Open HC_ACT_FILE --::'
    Set objWorkbook3= objExcel.Workbooks.Open(HC_EXCEL_SUBPATH & HC_ACT_FILE)
	
	'::-- Copy content from HC_Utility file from HC_EXCEL_TAB and paste in HC_ACT_FILE --::'
	Set objWorksheetHC = objWorkbook2.Worksheets(HC_EXCEL_TAB)
	Set objWorksheetACT = objWorkbook3.Worksheets("Sheet1")

	objRange = objWorkbook3.Worksheets("Sheet1").Range("A2:Z30000").Clear
	
	xlUp = -4163
	Set LastCell = objWorksheetHC.Range("C" & objWorksheetHC.Rows.Count).End(xlUp)
	Set SourceRange = objWorksheetHC.Range("H6:M10000")
	Set FillRange = objWorksheetACT.Range("A2:F" & LastCell.Row)

	SourceRange.Copy
	FillRange.PasteSpecial -4163
	

	
	'::-- Save and Close HC_ACT_FILE --::'
	objworkbook3.save
	objworkbook3.close

End If
'next

objExcel.Application.Quit
WScript.Quit

推荐答案

找到它 - 恰好是我为for循环放置Next的地方。我本人的监督。
Found it - just happened to be where I placed the Next for the for loop. Oversight on my part.


这篇关于编译错误:预期“下一步” - 有人可以帮助确定问题吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆