VBA粗犷整理
PART1:
三、查找
1、从某一行向上/下找到第一个不为空的行
intRowPntEnd = ActiveSheet.Cells(intRowPntStart, intColPnt).End(xlDown).Row
m = Range("e65536").End(xlUp).Row
四、定位
2、在某个区域查找标记名称
For Each std In ActiveSheet.UsedRange
五、行列的range变量
ActiveSheet.Range("F3").Copy ThisWorkbook.Sheets(1).Range("A" & intRowPaste & ":A" & intRowPaste + intRowsCnt - 1)
=INDEX(AC:AC,Q21)
=IF(AND(IFERROR(MATCH(T21,$A$1:$A$99,0),"")<>"",INDEX(AC:AC,Q21)="Y"),N21,0)
=IF(AND(IFERROR(MATCH(T21,$A$1:$A$99,0),"")<>"",IFERROR(INDEX(AC:AC,Q21),"")<>""),"","")
- 公式篇
** 1、通过公式查找
*** Match函数:返回值是数字。
功能:在单元格区域中搜索指定项,然后返回该项在单元格区域中的相对位置。
例:在B列中,但找81所在的行号。
match(81,B:B,0):最后一个0为无序查询,要写下才可以使用。
*** Index函数:返回表格或区域中的值或值的引用。
例:在B列中,找第3行的元素值。
index(B:B,3)
此处3也可以使用某个单元格的内容,假如Q1为3,则可写为index(B:B,Q1)
*** vlookup函数:
功能:搜索某个单元格区域的第一列,返回该区域相同行上任何单元格的值。
例:搜索A2:C10区域的第一列中的值38,返回同一行中第三列的值
vlookup(38,A2:C10,3,false) : false为精确查找,必须的! 找不到时返回错误值#N/A
*** find函数
** 2、最大/小值
*** MAX
例:在T列中若有个值等于T35的值,则找出R列中这一行的值的最大值。
MAX(IF($T$1:$T35=$T35,$R$1:$R35))
在完成之后,按Ctrl+SHIFT+Enter,实现即可
*** SMALL
功能:返回数据集中第k个最小值。
例:small(A2:A10,4)
返回A列2行到10行中的第4个最小值
** 3、计数
*** countifs :相当于多个countif
功能:将条件应用于跨多个区域的单元格,并计算符合所有条件的次数
例:查找B2:B5 与 C2:C5区域中同时为是的。
countifs(B2:B5,"是",C2:C5,"是")
2、查询计数
=IF(OR(AF33="Y",AF33="R"),COUNTIF($U$3:U33,U33),0)
串行使用,并行使用;
- 操作篇
** 1、""发现不可读取内容。是否恢复此内容?
方法1:文件 --- 另存为 即可解决。
方法2:光标在最下面的 "工作表标签"上右键"选定全部工作表",然后右键"移动或复制";选择"新工作簿",并勾选"建立复本",确定。 保存并重命名全新的excel表文件即可。
** 间隔行颜色变更
1、选中要设置颜色变化的区域。
2、点击菜单“格式”—>“条件格式”
3、选项卡中选择“公式”,输入:=MOD(ROW(),2) =0 , 点击格式,设定颜色。 (偶数行)
4、重复第2、3项,公式中输入:=MOD(ROW(),2)=1 (奇数行) 公式中的字母 必须大写
5、确定。
** 每一列的列宽相同
- VBA 暂存篇
** Rows(a & ":" & b).Select
1、计数:用到的最后一行;
** 一行语句若是很长,可以通过换行实现
方法:语句是 一个空格一个下划: _
: 字符串是一个空格一个& 一个空格加一个下划:
PART2
一、VBA中错误捕捉的方法主要有两种
第一种捕捉方法:
1、语法:
On Error GoTo Err_Handle '如果遇到错误就跳转到错误处理代码
语句xxxxx
Exit Sub/Function(如果没有这条语句,即使没有错误也会执行错误处理语句)
Err_Handle: 语句 xxxxxx
2、举例:
Sub 查找数字() ’本段代码查找电子表格中有没有数字12
On Error GoTo Err_Handle
MsgBox Cells.Find(12).Address
Exit Sub '如果没有这个退出过程语句,会一直执行下去
Err_Handle:
MsgBox ("不存在该数字")s
End Sub
PART3:小结1
解密
Activesheet.unprotect (“OTAY”): 解密取消刷新
Application.screenupdating = False空的说明
If range(“C7”) or Range(“C8”) = space(1): 只有一个空格
Msgbox”hello world”询问数据是否已经写入,没有的话给出提示;
if txtName.text = “ ” then
msgBox “ 请输入机型”
txtName.SetFocus
Exit Sub
End ifWorksheets("Sheet1").Range(Cells(1,1),Cells(7,1)).Value= Worksheets("Sheet2").Range(Cells(1, 2), Cells(7, 2)).Value
两个工作表间不能用 Range,但一个却可以用,不明所以。 但以下这种格式的却是可以的。
For i = 1 To 6
r1.Cells(i, 1) = r4.Cells(i, 1)
Next iRange
Range(Cells(1,2),Cells(3,4)).Clear;
Range(“A1:D4”).Clear;
Worksheets(“sheet1”).cells().clear: 清除所有数据
RANGE中可以直接用 字母 ,但CELLS中不行。给对象赋值用 SET,此时不能省略; 给普通变量赋值用LET,但一般可以省略。
8、 concatenate
PART4 小结2
一、条件格式
公式规则:
1、=B2<>”” 若是B2不为0,则执行条件格式;
二、单元格操作
1、选中某个区域 并进行相关操作
Range(“D1:F5”).select 选中了这个区域
selection.clearcontents 删除数据
三、查找某个文件夹中的文件
Dim ta As Object, ph$, fn$
ph = ThisWorkbook.Path & ""
fn = Dir(ph & "*.xlsx")
四、函数使用
1、INstr函数:某个字符在另一个字符串中首次出现的位置。
例:INstr(1,"hello","o")
从第一个字符开始,搜索字符o出现的位置,返回值为出现位置对应的数字。
五、将单元格内容设为固定的值
- 选择需要进行限制数据的单元格,然后点 数据 -- 数据有效性 -- 数据有效性 ,会弹出数据有效性提示对话框。
- 在数据有效性对话框中选择允许---序列,来源:A,B,C。 中间用半角逗号才行。
则可以使单元格中的内容只有这三个值。
15057225715
六:
- 一个单元格可以 =AND(C1>90); 这样这个单元格的值则为 TRUE OR FALSE;
- 在条件格式设置中,=C2, 则可以在C2的值不为空时,出现对应的现象。
VBA粗犷整理的更多相关文章
- 评教数据整理专用VBA小程序
这次评教的所有数据存放在两个数据库中,比如说给某教师评论的学生有100个,可是结果有40个的数据在数据库A中,另外60人的数据在数据库B中.那么,如何将两个库中的数据整合,最后得到教师的准确成绩成为了 ...
- 来吧!带你玩转 Excel VBA
来吧!带你玩转 Excel VBA 从错失良机到艰辛的DOS征程,从坎坷购机自学路到转机起程,从爱好到事业,他从一个完全不懂电脑的人到VBA高级应用者,一切全是自学…… 我是罗刚君,来自四川的一个小县 ...
- LoadRunner常见问题整理(转)
首先要感谢群友的无私分享,才能得到这篇好的学习资料,整理得太好了,所以收藏保存,方便以后学习. 一:LoadRunner常见问题整理 1.LR 脚本为空的解决方法: 1.去掉ie设置中的第三方支持取消 ...
- 使用VBA,优化处理Excel表格
前言 上周末,XX给我抱怨:因为计算绩效奖金,把2个人的工资发错了,还被扣了500元.问的缘由得知,她每个月要处理十来个excel表格,每次都要手动修改里面的值,如果修改了一处,其他地方也要修改,然后 ...
- excel宏整理
工作以后发现excel很强大,用好excel已经成功工作中很重要的一部分内容,最近写了一些宏, 整理如下: 根据excel生成sql脚本的sc_template Sub GenSCTemplateFi ...
- 20170501xlVBA销售订单整理一行转多行
Sub NextSeven_CodeFrame() Application.ScreenUpdating = False Application.DisplayAlerts = False Appli ...
- Excel小技巧整理(持续更新)
合并某列中相同单元格 参考https://jingyan.baidu.com/article/9158e00006db70a25512286f.html 使用方法 先给需要合并的列排序,这样相同数据会 ...
- VBA 把电信的电话费用表转换成部门电话费用明细表(图文)
今天同事要做一个这种工作.就是把电信发来的费用表,转换成按部门划分的电话费用表,100多部电话,假设一个个去核对,真还是须要些时间的.问题来了,有更好的方法么,我们来看一下. 电信公司给的费用明细是这 ...
- VBA 中Dim含义
楼主是个初学者,在应用vba时遇到了dim方面的问题,查了很多资料后想把关于dim的这点儿知识简单整理出来 首先,从我遇到的问题作为切入点吧, (不得不承认我遇到的错误是很低级的) 具体的情境就不还原 ...
随机推荐
- QQ国际版V8.0.11.4530
简洁,快速,无广告,好用! 预览图 下载地址 QQ国际版.apk 其他简洁版本如下 在线观看 视频地址[灰常简洁占用超低!]
- 基于开源方案构建统一的文件在线预览与office协同编辑平台的架构与实现历程
大家好,又见面了. 在构建业务系统的时候,经常会涉及到对附件的支持,继而又会引申出对附件在线预览.在线编辑.多人协同编辑等种种能力的诉求. 对于人力不是特别充裕.或者项目投入预期规划不是特别大的公司或 ...
- python进阶__用socket封装TCP
想要理解socket协议,点击链接,出门左转 一.TCP 通信的服务器端编程的基本步骤: 服务器端先创建一个 socket 对象. 服务器端 socket 将自己绑定到指定 IP 地址和端口. 服务器 ...
- KingbaseES 时间类型数据和oracle时间类型的区别
Oracle日期时间类型有两类,一类是日期时间类型,包括Date, Timestamp with time zone, Timestamp with local time zone.另一类是Inter ...
- 论文解读(RvNN)《Rumor Detection on Twitter with Tree-structured Recursive Neural Networks》
论文信息 论文标题:Rumor Detection on Twitter with Tree-structured Recursive Neural Networks论文作者:Jing Ma, Wei ...
- 四、frp内网穿透服务端frps.ini各配置参数详解
[必须]标识头[common]是不可或缺的部分 [必须]服务器IPbind_addr = 0.0.0.00.0.0.0为服务器全局所有IP可用,假如你的服务器有多个IP则可以这样做,或者填写为指定其中 ...
- 使用Elasticsearch中的copy_to来提高搜索效率
在今天的这个教程中,我们来着重讲解一下如何使用Elasticsearch中的copy来提高搜索的效率.比如在我们的搜索中,经常我们会遇到如下的文档: { "user" : &quo ...
- K8S概念理解
Master 负责管理集群 负责协调集群中的所有活动,例如调度应用程序,维护应用程序的状态,扩展和更新应用程序. Worker节点是VM(虚拟机)或物理计算机,充当k8s集群中的工作计算机. 每个Wo ...
- 使用shell脚本定时重启tomcat服务
#!/bin/bash DATE=`date +%Y-%m-%d-%H-%M-%S` echo "当前时间是:$DATE" # 根据端口号查找进程 PID=`/usr/sbin/l ...
- 延申三大问题中的第一个问题处理---原先shell脚本中启动jar文件命令的配置,附加参数等
经过一系列的试错,最终采用的解决办法如下: 采用的配置文件 附加的启动参数 或者把这些都给统一添加到ConfigMap中