vba - 如何将 3 个 VBA 子程序合二为一?
问题描述
第一个子收集位于 D:\Users\Cons\excel 中的工作簿的所有工作表。
然后第二个子在工作表 2 中查找单词“文件名”,然后将下面的所有单元格复制到工作表 3 中的 A2。
最后,最后一个子应在工作表 3 的 e2:e100 中搜索单词“apple”,并删除未找到“apple”的每一行。
我创建了 3 个按钮并将潜艇分配给每个按钮。前两个运行良好,做我想做的事,但是当我点击第三个按钮(后面有第三个子)时,什么也没有发生,
只有上面的前两个按钮被向上移动,不知道为什么。
如何将所有 3 个潜艇合并为一个(实际上是通过单击按钮)?提前致谢!!!
Sub ConslidateWorkbooks()
Dim FolderPath As String
Dim Filename As String
Dim Sheet As Worksheet
Application.ScreenUpdating = False
FolderPath = "D:\Users\Cons\excel\"
Filename = Dir(FolderPath & "*.xls*")
Do While Filename <> ""
Workbooks.Open Filename:=FolderPath & Filename, ReadOnly:=True
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Copy After:=ThisWorkbook.Sheets(1)
Next Sheet
Workbooks(Filename).Close
Filename = Dir()
Loop
Application.ScreenUpdating = True
Worksheets(1).Activate
End Sub
Sub FindInFirstRow()
Dim fCell As Range
Dim strFind As String
Dim wsSource As Worksheet
Dim wsDest As Worksheet
'What shall we look for?
strFind = "filename"
'What sheet are we getting data from/to?
Set wsSource = Worksheets(2)
Set wsDest = Worksheets(3)
Set fCell = wsSource.Range("1:1").Find(what:=strFind, lookat:=xlPart, MatchCase:=False)
If fCell Is Nothing Then
MsgBox "No match found"
Else
'Copy the cells *below* to A2 of destination sheet
Intersect(wsSource.UsedRange.Offset(1), fCell.EntireColumn).Copy wsDest.Range("a2")
End If
End Sub
Sub SaveSomeRows()
Dim N As Long, L As Long, r As Range
Dim s As String, v As String
Set r = ActiveSheet.Range("e2", ActiveSheet.Range("e100").End(xlUp))
N = r.Count
s = "apple"
For L = N To 1 Step -1
v = LCase(r(L).Value)
If InStr(1, v, s) = 0 Then
r(L).EntireRow.Delete
End If
Next L
End Sub
解决方案
Sub TheOneSub()
ConslidateWorkbooks
FindInFirstRow
SaveSomeRows
End Sub
Sub ConslidateWorkbooks()
...
End Sub
Sub FindInFirstRow()
...
End Sub
Sub SaveSomeRows()
...
End Sub
推荐阅读
- flutter - 如何将照片动态添加到颤动轮播?
- python - 我想检查数据集中一列中的所有值是否大于该列的平均值
- mysql - Laravel 7 - 奇怪的时间戳迁移行为
- sql - 计算以下之间的 SQL db2 日期时间差
- mysql - 在 MYSQL 数据库表的 DECIMAL 列中插入文本值
- c# - 是否可以仅在 C# 中使用三元为 true 时打印?
- matlab - 整数格式的 MATLAB MATRIX 单元格索引,而不是行和列格式
- javascript - Vue 和 Django mustache 模板冲突
- android - 无法导入 androidx.navigation.ui.AppBarConfiguration 和 androidx.navigation.ui.NavigationUI
- android - 如果我还将文本添加到 EditText,如何摆脱出现在 ImageSpan 上的不需要的空间?