我正在编写一个从活动工作簿(订单表单)中获取特定单元格的子程序,打开指定的工作簿(报表)并按特定顺序删除值。奇怪的是,这可以正常工作,我可以看到报表工作簿打开,值填充,但运行时打开工作簿但似乎没有改变它。
代码如下(有点粗糙,准备好,我还在学习......)
Sub TransferTheData()
Dim mySheet As Worksheet, myOtherSheet As Worksheet
Dim myOtherBook As Workbook
Dim i As Integer, j As Integer
Dim vToday As String
Set myOtherBook = Workbooks.Open("c:\\Test\Test Report.xlsx")
Set mySheet = ThisWorkbook.Sheets("Order Form")
Set myOtherSheet = myOtherBook.Sheets("Sheet1")
vToday = Format(Date, "dd/mmmm/yyyy")
j = myOtherSheet.Range("A" & Rows.Count).End(xlUp).Row + 1
For i = 18 To 85
If mySheet.Cells(i, 1).Value <> "" Then
'Loop through 68 rows and copy values
myOtherSheet.Cells(j, 3).Value = mySheet.Cells(i, 1).Value
myOtherSheet.Cells(j, 4).Value = mySheet.Cells(i, 2).Value
myOtherSheet.Cells(j, 5).Value = mySheet.Cells(i, 3).Value
'constant values copied to each row in report sheet
myOtherSheet.Cells(j, 1).Value = mySheet.Cells(5, 2).Value
myOtherSheet.Cells(j, 2).Value = mySheet.Cells(9, 5).Value
myOtherSheet.Cells(j, 8).Value = vToday
myOtherSheet.Cells(j, 6).Value = mySheet.Cells(9, 2).Value
myOtherSheet.Cells(j, 7).Value = mySheet.Cells(6, 2).Value
j = j + 1
End If
Next i
End Sub
任何人都可以看到我出错的地方吗?看着它好几个小时都在摸我的脑袋......
答案 0 :(得分:0)
通常情况下,看了几个小时然后发一个问题,我就在SO上找到了答案!
This thread讨论并回答了这个问题。键盘快捷键中没有使用工作簿对象的Open方法的移位键(我认为):
shift键使vb脚本在任何Open语句处停止。
为.add切换.open,我们按照预期滚动了全部功能! :)