对于以下代码我尝试做的是获取excel从一个工作簿中的范围中获取数据,并将其放入根据选项卡名称在给定文件夹中找到的另一个工作簿中。
在我桌面上的文件夹中,我有4个文件" Master,Processor Alex,Processor Sue,Processor Bill"。 Master.xlsm有4个标签:" Skip Me,Alex,Sue,Bill"。我需要将以下代码中的范围从Alex等人的相应选项卡转移到工作簿的最后一页。
不幸的是,由于某种原因我不能单步使用F8,因为在我的膝盖上打开某种项目侧栏。它给了我一个错误,我是VBA的新手,所以我不理解错误。但是这个项目对我来说非常重要。
我拿了一段代码循环使用并尝试使用循环重建它,并从下面收到的选项卡名称打开工作簿。我之前没有遇到任何错误。
Sub SheetLoop()
Dim ws As Worksheet
Dim SourceWB As Workbook
Set SourceWB = ThisWorkbook
Application.ScreenUpdating = False
For Each ws In Worksheets
If ws.Name <> "Skip Me" Then
ws.Activate
ws.Select
Range("A2:M10").Select
Selection.Copy
Workbooks.Open ("C:\Users\Scott\Desktop\VBA Proj\" & ws.Name & ".xlsx")'<---- -???
Worksheets(Worksheets.Count).Select 'Selects last worksheet page
'Selects destination looking for first blank cell in "B"
Set ws = ActiveSheet
For Each Cel In ws.Columns(2).Cells
If IsEmpty(Cell) = True Then Cell.Select: Exit For
Next Cel ' corrected Cell > Cel
ActiveSheet.Paste 'Pastes selection
Application.CutCopyMode = False 'Clears Clipboard for next copy action
End If
Next ws
End Sub
答案 0 :(得分:1)
你需要提出一些自己的代码。如果它被破坏我们可以帮助您解决,但我们不会为您编写代码。
迭代书中工作表的简单代码是:
dim wkb as excel.workbook
dim wks as excel.worksheet
set wkb = thisworkbook ' or activework or whatever
for each wks in wkb.sheets ' iterate through the sheets
msgbox "Now on sheet " & wks.name
next
从工作表名称生成工作簿路径的简单代码,假定已经定义了wkb和wks,新工作簿与包含您代码的书在同一文件夹中,而wks的工作表名称是该书的名称打开,是:
dim mypath as string, newname as string, extn as string
extn = ".xlsx" ' or ".xls" or whatever
mypath = wkb.path
if not right(mypath,1) = "\" then mypath = mypath & "\"
newname = mypath & wks.name & extn
打开工作簿的简单代码,假设您知道名称是:
dim wkbdata as excel.workbook
set wkbdata = workbooks.open(newname)
答案 1 :(得分:0)
我不清楚你想做什么。但是这里有一段代码可以为你打开文件。您可以使用它来创建文件名并根据需要使用它们。
For i = 1 to ActiveWorkbook.Worksheets.Count
Workbooks.Open "C:\FilePath\" & Worksheets(i).Name & ".xlsx"
Next i
我希望这会有所帮助。如果您发布部分代码或更详细地解释事情,这里的人可以更好地帮助您。
答案 2 :(得分:0)
我上面的代码中包含了非常接近的内容。我从头开始使用我在工作簿中测试的基本循环,然后开始删除旧版本的元素。然后就坏了。
答案 3 :(得分:0)
通过“系统不会让我介入”我的意思是几乎没有像F8那样的VBA热键。它打开了其他一些Windows 10功能。
我发布以下内容作为对可能需要它的其他人的贡献。它的确有效,感谢MrTcelin论坛上的Tonyyy。我逐行禁用它来处理下一节,所以我可能在某处有错误的“'”。我想我得到了所有这些。
<div id="logo"></div>
End Sub