我是VBA的新手,我正尽力做我自己的编码,但是我遇到了麻烦。最近我被介绍了循环的概念,我仍然围绕着它。我目前要做的是:
在工作簿1上,从单元格A2开始,复制该单元格下方的范围(A3:H12),然后转到工作簿2,从工作簿1中找到A2值,并粘贴下面的值。然后重复此过程,直到工作簿1中的起始单元格为空。
在练习册1上,有A2,A18,A34等数据,基本上是16的间隔,我不知道如何在没有声明固定变量的情况下将其考虑在内。
到目前为止,这是我的(失败的)代码,我确信这些代码充满逻辑错误:
Private Sub test()
Dim x As Workbook, y As Workbook
Dim sdt As String, wbNam As String, dt As String, ldt As String, i As Long
wbNam = "Productivity "
dt = Sheet1.Range("B1").Value
sdt = Format(CStr(dt), "m.d.yy") & ".xlsx"
ldt = Format(CStr(dt), "yyyy") & "\" & Format(CStr(dt), "mm") & "_" & MonthName(Month(dt)) & "_" & Year(dt)
With Sheets("Team One")
sn = Cells(1).CurrentRegion.Value
End With
Set y = Workbooks.Open("S:\" & ldt & "\" & wbNam & sdt)
For i = 2 To UBound(sn)
If sn(i, 1) <> vbNullString Then
Set x = ThisWorkbook
'Now, copy what you want from x:
x.Activate
ActiveSheet.Cells.Find(sn(i, 2)).Resize(10, 8).Offset(1, 0).Copy y.Sheets("MSP WPS").Cells.Find(sn(i, 2)).Offset(1, 0)
ActiveSheet.Cells.Find(sn(i, 2)).Resize(2, 8).Offset(12, 0).Copy y.Sheets("MSP WPS").Cells.Find(sn(i, 2)).Offset(12, 0)
'Close x
x.Close SaveChanges:=True
End If
Next
End Sub
我真的很感激任何人的帮助/见解!