-
2021-08-06 14:28:04
Sub output()
Application.ScreenUpdating = False
Dim Mydir As String
Dim i As Integer
i = 2
Mydir = ThisWorkbook.Path & “”
ChDrive Left(Mydir, 1)
ChDir Mydir
'文件名
Match = DirKaTeX parse error: Expected 'EOF', got '&' at position 143: …heet.Range("A" &̲ i) = Match ‘A…
Loop Until Len(Match) = 0
Application.ScreenUpdating = True
End Sub更多相关内容 -
|案例|EXCEL VBA解决查找选定单元格内容
2020-12-31 03:06:43ArrAction(), ArrFaceID(), ArrToolTip()Dim i As IntegerArrCaption = Array('查找', '功能二', '功能三')ArrAction = Array('查找选定单元格内容', ...Sub auto_Open()
Call CreateToolBar
End Sub
Sub CreateToolBar()
Dim ArrCaption(), ArrAction(), ArrFaceID(), ArrToolTip()
Dim i As Integer
ArrCaption = Array('查找', '功能二', '功能三')
ArrAction = Array('查找选定单元格内容', 'Action_Query', 'Action_MonthEnd')
ArrToolTip = Array('查找选定单元格内容', '待定', '待定')
ArrFaceID = Array(8, 25, 984)
With Application.CommandBars.Add(Name:='工具箱', temporary:=True)
For i = 0 To 2
With .Controls.Add(Type:=msoControlButton, temporary:=True)
.Caption = ArrCaption(i)
.OnAction = ArrAction(i)
.FaceId = ArrFaceID(i)
.Style = msoButtonIconAndCaptionBelow
.TooltipText = ArrToolTip(i)
End With
Next
.Visible = True
End With
End Sub
Sub 打开工具箱()
Application.CommandBars('工具箱').Visible = True
End Sub
Sub 关闭工具箱()
Application.CommandBars('工具箱').Visible = False
End Sub
-
VBA示例之 在特定的区域内查找文本,返回值是包含查找文本的单元格
2019-10-26 16:37:58VBA示例之 在特定的区域内查找文本,返回值是包含查找文本的单元格,供初学者参考,大牛勿进~~~~~~~ -
excel中VBA获取指定单元格内容
2021-11-24 22:12:471、筛选指定列获取数据 For Each Rng In Sheets("目录").Range("b1:B23") Debug.Print Rng.Value If Rng.Value = "个人" Then n = n + 1 Sheets("备注").Cells(n, "g").Resize(1, 5) = Rng.Offset(0, -1)....1、筛选指定列获取数据
For Each Rng In Sheets("目录").Range("b1:B23") Debug.Print Rng.Value If Rng.Value = "个人" Then n = n + 1 Sheets("备注").Cells(n, "g").Resize(1, 5) = Rng.Offset(0, -1).Range("a1:e1").Value Sheets("备注").Cells(n, "g").Resize(1, 5) = Rng.EntireRow.Range("a1:e1").Value End If Next
2、获取指定杭内容
'On Error Resume Next Application.ScreenUpdating = False 'MP = ActiveWorkbook.Path MP = "C:\Users\HONORS\Desktop\(安智)杭实物联网进出库汇总表 总.xlsx" '工作簿路径 'MN = Dir(MP & "\" & "*.xlsx") '工作簿路径 ' Set Wb = Workbooks.Open(MP & "\" & MN) Set Wb = Workbooks.Open(MP) For i = 1 To Wb.Sheets.Count 'Cells(i, 1) = Sheets(i).Name Debug.Print Wb.Sheets(i).Name '获取表名 Next With Wb.Sheets("总账(诸暨库)") lr = .Cells(Rows.Count, 1).End(xlUp).Row '获取最后一行 Set rngs = .Range("A1:A" & lr) '确认列 For Each Rng In rngs ' Debug.Print Rng.Value If Rng.Value Like "2021/11/24" Then n = n + 1 ThisWorkbook.Sheets("测试").Cells(n, "a").Resize(2, 25) = Rng.EntireRow.Range("a1:y1").Value ThisWorkbook.Sheets("测试").Cells(n, "z").Value = ActiveSheet.Name End If Next End With
3、调整按模块输出内容:
进出库
Dim k% 'On Error Resume Next Application.ScreenUpdating = False 'MP = ActiveWorkbook.Path Name = "(安智)杭实物联网进出库汇总表 总" Dtransport = "2021/12/17" MP = "C:\Users\HONORS\Desktop\原始数据\储运数据\" & Name & ".xlsx" '工作簿路径 'MN = Dir(MP & "\" & "*.xlsx") '工作簿路径 ' Set Wb = Workbooks.Open(MP & "\" & MN) Set Wb = Workbooks.Open(MP) '----------- ' For i = 1 To Wb.Sheets.Count ' 'Cells(i, 1) = Sheets(i).Name ' Debug.Print Wb.Sheets(i).Name '获取表名 'Next '----------- last_row_clear = ThisWorkbook.Sheets("进出库").Cells(Rows.Count, 1).End(xlUp).Row '最后一行位置 Debug.Print "行数" & last_row_clear ThisWorkbook.Sheets("进出库").Rows("5:" & last_row_clear).Delete '----------- ' For i = last_row_clear To 5 Step -1 'ThisWorkbook.Sheets("进出库").Rows(i).Delete 'Debug.Print "删除" & i & "行" 'Next '----------- stockName = Array("总账(镇江库)", "总账(衢州库)", "总账(诸暨库)", "总账(昆山库)", "总账(泉州库)", "总账(武汉库)", "总账(泗阳库)", "总账(全椒库)") For i = 0 To UBound(stockName) 'Debug.Print i ' If i = 0 Then ' Wb.ActiveSheet.Range("a1:Y3").Copy ThisWorkbook.Sheets("测试").Cells(1, 1) '复制标题 ' ThisWorkbook.Sheets("测试").Cells(1, 1).Resize(3, 1) = 1 ' End If With Wb.Sheets(stockName(i)) Wb.Sheets(stockName(i)).Activate '当前工作表激活 lr = .Cells(Rows.Count, "A").End(xlUp).Row '获取最后一行 Set rngs = .Range("A1:A" & lr) '确认列 For Each Rng In rngs ' Debug.Print Rng.Value If Rng.Value Like Dtransport Then k = k + 1 '记录条目 Debug.Print "条目" & k & ":" & Rng.Value & ActiveSheet.Name '输出当前工作表内容 last_row = ThisWorkbook.Sheets("进出库").Cells(Rows.Count, 1).End(xlUp).Row '最后一行位置 ' n = n + 1 '判断行数 ThisWorkbook.Sheets("进出库").Cells(last_row, "a").Resize(2, 25) = Rng.EntireRow.Range("a1:y1").Value '获取对应条目内容 ThisWorkbook.Sheets("进出库").Cells(last_row, "z").Value = ActiveSheet.Name '写入表格名称 End If Next End With Next ThisWorkbook.Sheets("进出库").Range("A:L").RowHeight = 15 '行高 ' ThisWorkbook.Sheets("进出库").Range("C:C").ColumnWidth = 35 '列宽 Wb.Close False '关闭工作簿
4、获取规定条目内容:
运输
Dim k% On Error Resume Next Application.ScreenUpdating = False 'MP = ActiveWorkbook.Path Name = "脚手架运输台账(热联&安智)12.18" Dtransport = "2021/12/17" MP = "C:\Users\HONORS\Desktop\原始数据\储运数据\" & Name & ".xlsx" '工作簿路径 'MN = Dir(MP & "\" & "*.xlsx") '工作簿路径 ' Set Wb = Workbooks.Open(MP & "\" & MN) Set Wb = Workbooks.Open(MP) '----------- ' For i = 1 To Wb.Sheets.Count ' 'Cells(i, 1) = Sheets(i).Name ' Debug.Print Wb.Sheets(i).Name '获取表名 'Next '----------- last_row_clear = ThisWorkbook.Sheets("运输").Cells(Rows.Count, 1).End(xlUp).Row '最后一行位置 Debug.Print "行数" & last_row_clear ThisWorkbook.Sheets("运输").Rows("3:" & last_row_clear).Delete stockName = Array("热联") 'For i = 0 To UBound(stockName) Debug.Print i ' If i = 0 Then接下来的货量,货量预计; With Wb.ActiveSheet 'Wb.Sheets(stockName(0)) ' Wb.Sheets(stockName(0)).Activate '当前工作表激活 lr = .Cells(Rows.Count, "A").End(xlUp).Row '获取最后一行 Set rngs = .Range("D1:D" & lr) '确认列 For Each Rng In rngs ' Debug.Print Rng.Value If Rng.Value Like Dtransport Then k = k + 1 '记录条目 Debug.Print "条目" & k & ":" & Rng.Value & ActiveSheet.Name '输出当前工作表内容 last_row = ThisWorkbook.Sheets("运输").Cells(Rows.Count, 1).End(xlUp).Row '最后一行位置 ' n = n + 1 '判断行数 ThisWorkbook.Sheets("运输").Cells(last_row, "a").Resize(2, 147) = Rng.EntireRow.Range("a1:EQ1").Value '获取对应条目内容 ThisWorkbook.Sheets("运输").Cells(last_row, "ER").Value = ActiveSheet.Name '写入表格名称 End If Next End With ThisWorkbook.Sheets("运输").Range("A:L").RowHeight = 15 '行高 ' ThisWorkbook.Sheets("运输").Range("C:C").ColumnWidth = 35 '列宽 'Next Wb.Close False '关闭工作簿
-
VBA学习笔记7:查找包含某内容的单元格
2022-04-21 22:51:28VBA学习笔记7:查找包含某内容的单元格VBA学习笔记7:查找包含某内容的单元格
用途:需要在工作表内包含某内容的单元格找出来
需要将下图中包含9的单元格查找出来:
运行后效果如下:
代码如下:
Sub 通过方法查找() '区域中查找所有包含9的数字 Dim rng As Range, rngadress$, sht1 As Worksheet, sht2 As Worksheet Worksheets.Add(before:=Worksheets(1)).Name = "含9数据" '创建一个新表存储含9的数据 [a1] = "含9数据" [b1] = "位置" Set sht1 = Worksheets(1) '含9数据表 Set sht2 = Worksheets(2) '原表 With sht2.UsedRange '在原表所有范围内查找 Set rng = .Find(9, lookat:=xlPart) '模糊查找 If rng Is Nothing Then '判断是否找到,如果未找到则说明1个没有,可直接结束(否则进入循环会报错,因为address不存在) sht1.[a2] = "无数据" Else rngadress = rng.Address '确定第一个的位置,为了结束循环使用 Do Set rng = .FindNext(rng) sht1.Range("a1045876").End(xlUp).Offset(1, 0) = rng sht1.Range("a1048576").End(xlUp).Offset(0, 1) = rng.Address Loop Until rngadress = rng.Address End If End With End Sub
注意:
1、Range(“要查找的区域”).Find
(1)what :=要查找的内容 重要
(2)after:=从哪个位置之后开始查找,如区域为"a1:a11",after:=a4,则查找顺序a5-a11-a1-a4
(3)lookin:=查找的范围,xlvalues 查找值,xlformulas查找公式,xlcomments查找批注
(4)lookat:=模糊匹配还是精准匹配,xlwhole精确匹配,xlpart模糊匹配
(5)searchorder:=按照行查找还是列查找,xlbyrows 按行,xlbycolumns按列
(6)searchdirection:=查找的方向,xlprevious向前查找,xlnext向后查找
(7)matchcase:=是否区分大小写,true区分
(8)mathchbyte:=是否区分全角半角,true区分
(9)searchformat:=是否带格式查找,true带格式2、对于第一个要用is nothing判断,否则若为空值,会报错
3、主要语法
with range(…)
set rng=.find(找谁,其他条件)
if rng is nothing then
… 如果没找到的操作
else
set rngaddress=rng.address
do
rng=.findnext(rng)
loop until rng.address=rngaddress '结束循环
end if
end with -
VBA-定位单元格
2020-12-14 19:51:52可以根据需要定位查找“标注”、“常量”、“公式”、“空值”、“可见单元格”等。 二、使用VBA的SpecialCells 方法 该函数和下面Excel面板功能相通: 其使用格式为:expression.SpecialCells(Type, Value) ... -
用VBA查找包含某字符串的单元格并标注
2014-02-19 23:11:08怎样用VBA查找选定区域内包含某字符串的单元格,并用设定的底色显示 -
EXCEL——VBA实现模糊查找并获取查找到的单元格内容
2020-12-29 06:24:26image大家有没有遇到过这种情况,要在一张数据很多的sheet中进行查找匹配一个数据或多个数据(部分匹配),并对查找到的单元格内容进行汇总。这个时候如果对多个数据一个个在目标sheet中ctrl f进行查找实在太过没有... -
Word VBA查找表格单元格的第一段
2022-02-17 23:35:15Word VBA查找表格单元格的第一段,替换并保留原格式 -
VBA 根据Find方法根据特定内容查找单元格
2018-12-31 16:58:002. Find方法的语法[语法]<单元格区域>.Find (What,[After],[LookIn],[LookAt],[SearchOrder],[SearchDirection],[MatchCase],[MatchByte],[SearchFormat])'_____... -
学以致用——使用VBA查询并记录单元格在字典(总表)中所在的行号(Finding row number of the string ...
2018-05-31 21:35:37为了整理VBA关键字列表,竟然促成了本文的VBA。原因很简单,现在很多Excel操作我都不想吭哧吭哧手动编辑半天了,宁可花两三小时苦思冥想一个自动化的解决方案不可。喜哉,悲哉?长远来看,肯定是好事了!VBA代码:... -
Excel 2010 VBA 入门 038 按颜色查找单元格
2021-04-13 14:45:54参数Paste表示选择性粘贴的内容,可以为下表中的任何一个。 参数Operation为粘贴的附加操作,可以为下表中的任何一个。 参数SkipBlanks表示是否跳过空白单元格,若为True,则表示不将剪贴板中的空白单元格复制到... -
VBA只根据单元格有无内容获取表格的最大行号和列号
2021-12-16 15:04:51有些部门发来的表格完全是按照以前的...所以为了准确获取表格所在位置,只根据有无内容判断表格的行号,我写了这样一段程序 Sub 判断当前表格的数据区域() Dim datarange As Range, rangerow, rangecol, maxrow... -
【一步一步学习VBA】Excel VBA 获取指定单元格的数据并进行字符串匹配
2016-08-06 17:09:39从上一篇文章我们可以获取到指定单元格的数据,并判断出类型。 这次要做的就是,如果这个单元格数据类型是字符串,我们就去进行子字符串的匹配,说的简单点就是判断指定单元格有没有我们需要找的字符串。 例如:... -
Excel VBA实现一个单元格内容确定后,后面的单元格自动填充
2020-07-04 17:44:37可根据需要进行修改 If Target = "" Then Target.Offset(0, 5).Resize(1, 3) = "": Exit Sub offset指的是偏移的单元格数,这里是实现如果目标单元格为空,清除单元格右边第5个单元个之后的3个单元格的内容,... -
vba筛选小于某个单元格中数字的内容
2022-05-01 05:01:08我需要筛选出小于单元格E2中数字的内容。 但是E2会在筛选完后重新计算,变成更小的数字。 我需要多次筛选,E2才会不再变化。 我想通过宏来简化操作。 但是不会在Criteria1:="中引用E2的数据。 ActiveSheet.Range("$A... -
VBA find查找行号和列号的方法
2018-07-30 10:58:001 MsgBox Val(Workbooks(1).Worksheets(1).Range("b:b").Find("*", , , , , xlPrevious).Row)'查找最大行号 2 3 MsgBox Val(Workbooks(1).Worksheets(1).Range("b:b").Find("*", , , , , xlPrevious).column)'... -
VBA怎么获取单元格的内容/值(数字,文本,公式)(如需获取选中单元格内容,使用select命令即可)
2020-03-13 18:11:09Value是单元格的数字内容 Text是文本内容 Formula是最原本的,输入内容 Sub 宏3() '测试,就不去定义变量类型了 a = Range("b1").Value b = Range("b1").Text c = Range("b1").Formula End Sub ... -
Excel·VBA自定义函数筛选单元格区域重复值
2022-03-09 16:01:16自定义函数UNIQUE_IF筛选单元格区域中的值,可以选择返回其中的唯一值或重复值,并用分隔符分隔 Function UNIQUE_IF(rng As Range, Optional delimiter As String = ",", Optional unique As Boolean = True) '... -
office VBA 用户窗体 控件 单元格 参数的用法与注解
2020-06-05 14:56:2114 日志导出 15 excle文件格式转换 16 VBA隐藏表格 17 改变窗体外观 18 更改Sheet名 19 对文件夹中多个文件进行操作 20 合并单元格 21 插入一行单元格 22 在指定单元格内输入字符 23 调整行高和列宽 24 跳转到该列... -
【VBA】Excel删除包含指定内容的行
2022-04-13 10:22:36提示:思路仅供参考,具体情况...如果用循环逐单元格取值判断是否包含某字符,速度会非常慢,只有在没有其他办法可想的时候才用这种办法。 快速定位的方法很多,但最快的应该还是Excel自带的方法: Range.SpecialCell. -
VBA:基础查找返回行列号及地址
2021-12-03 17:05:19Dim Context As String '声明一个String类型变量context,用于保存对话框将要显示的内容 Dim title As String '声明一个String变量title,同于保存窗口标题内容 Rem 将内容存入Conetext 变量 seprate_line = "------ -
运用Excel VBA在EXcel中实现的提取单元格中特定文字
2013-09-25 17:39:48这是我个人运用Excel VBA在EXcel中实现的提取单元格中特定文字,并用”.“来标注此单元格是否存在这个字符的小程序。 -
VBA学习笔记之End属性&查找最后的单元格方法总结
2019-09-26 00:37:14'Range.End 属性'返回一个 Range 对象,该对象代表包含源区域的区域尾端的单元格。'等同于按键 (End+向上键、End+向下键、End+向左键、End+向右键),或者CTRL+上下左右 '语法'表达式.End (Direction)'表达式 一个... -
EXCEL(查找特定内容的单元格)
2019-11-19 13:56:125-1 使用Find方法查找特定信息 查询匹配的值: Sub FindCell() Dim StrFind As String Dim rng As Range StrFind = InputBox("请输入要查找的值:") If Len(Trim(StrFind)) > 0 Then With Sheet1.Range("A... -
EXCEL——VBA对文件夹下所有表格的特定单元格赋值
2021-04-28 01:51:08image不知道大家有没有遇到过这种情况,一个文件夹下有很多Excel文件,每个文件里面一个或多...image.png如上图,我们这个文件夹下有两个表格,每个表格中都有几个sheet,这几个sheet中有几乎都有一个单元格内容如下... -
VBA示例函数之 求人不如自已动手 提取定串中汉字
2019-10-26 17:33:14VBA示例函数之 求人不如自已动手 提取定串中汉字,供初学者参考,大牛勿进~~~~~~~ -
查找单元格中包含特定字符串中的某一个,并返回该特定字符串
2020-12-03 14:21:57查找单元格中包含特定字符串中的某一个,并返回该特定字符串,查找单元格中包含特定字符串中的某一个,并返回该特定字符串