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

  1. 解密

    Activesheet.unprotect (“OTAY”): 解密

  2. 取消刷新

    Application.screenupdating = False

  3. 空的说明

    If range(“C7”) or Range(“C8”) = space(1): 只有一个空格

    Msgbox”hello world”

  4. 询问数据是否已经写入,没有的话给出提示;

    if txtName.text = “ ” then

    msgBox “ 请输入机型”

    txtName.SetFocus

    Exit Sub

    End if

  5. Worksheets("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 i

  6. Range

    Range(Cells(1,2),Cells(3,4)).Clear;

    Range(“A1:D4”).Clear;

    Worksheets(“sheet1”).cells().clear: 清除所有数据

    RANGE中可以直接用 字母 ,但CELLS中不行。

  7. 给对象赋值用 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出现的位置,返回值为出现位置对应的数字。

五、将单元格内容设为固定的值

  1. 选择需要进行限制数据的单元格,然后点 数据 -- 数据有效性 -- 数据有效性 ,会弹出数据有效性提示对话框。
  2. 在数据有效性对话框中选择允许---序列,来源:A,B,C。 中间用半角逗号才行。

    则可以使单元格中的内容只有这三个值。

    15057225715

六:

  1. 一个单元格可以 =AND(C1>90); 这样这个单元格的值则为 TRUE OR FALSE;
  2. 在条件格式设置中,=C2, 则可以在C2的值不为空时,出现对应的现象。

VBA粗犷整理的更多相关文章

  1. 评教数据整理专用VBA小程序

    这次评教的所有数据存放在两个数据库中,比如说给某教师评论的学生有100个,可是结果有40个的数据在数据库A中,另外60人的数据在数据库B中.那么,如何将两个库中的数据整合,最后得到教师的准确成绩成为了 ...

  2. 来吧!带你玩转 Excel VBA

    来吧!带你玩转 Excel VBA 从错失良机到艰辛的DOS征程,从坎坷购机自学路到转机起程,从爱好到事业,他从一个完全不懂电脑的人到VBA高级应用者,一切全是自学…… 我是罗刚君,来自四川的一个小县 ...

  3. LoadRunner常见问题整理(转)

    首先要感谢群友的无私分享,才能得到这篇好的学习资料,整理得太好了,所以收藏保存,方便以后学习. 一:LoadRunner常见问题整理 1.LR 脚本为空的解决方法: 1.去掉ie设置中的第三方支持取消 ...

  4. 使用VBA,优化处理Excel表格

    前言 上周末,XX给我抱怨:因为计算绩效奖金,把2个人的工资发错了,还被扣了500元.问的缘由得知,她每个月要处理十来个excel表格,每次都要手动修改里面的值,如果修改了一处,其他地方也要修改,然后 ...

  5. excel宏整理

    工作以后发现excel很强大,用好excel已经成功工作中很重要的一部分内容,最近写了一些宏, 整理如下: 根据excel生成sql脚本的sc_template Sub GenSCTemplateFi ...

  6. 20170501xlVBA销售订单整理一行转多行

    Sub NextSeven_CodeFrame() Application.ScreenUpdating = False Application.DisplayAlerts = False Appli ...

  7. Excel小技巧整理(持续更新)

    合并某列中相同单元格 参考https://jingyan.baidu.com/article/9158e00006db70a25512286f.html 使用方法 先给需要合并的列排序,这样相同数据会 ...

  8. VBA 把电信的电话费用表转换成部门电话费用明细表(图文)

    今天同事要做一个这种工作.就是把电信发来的费用表,转换成按部门划分的电话费用表,100多部电话,假设一个个去核对,真还是须要些时间的.问题来了,有更好的方法么,我们来看一下. 电信公司给的费用明细是这 ...

  9. VBA 中Dim含义

    楼主是个初学者,在应用vba时遇到了dim方面的问题,查了很多资料后想把关于dim的这点儿知识简单整理出来 首先,从我遇到的问题作为切入点吧, (不得不承认我遇到的错误是很低级的) 具体的情境就不还原 ...

随机推荐

  1. QQ国际版V8.0.11.4530

    简洁,快速,无广告,好用! 预览图 下载地址 QQ国际版.apk 其他简洁版本如下 在线观看 视频地址[灰常简洁占用超低!]

  2. 基于开源方案构建统一的文件在线预览与office协同编辑平台的架构与实现历程

    大家好,又见面了. 在构建业务系统的时候,经常会涉及到对附件的支持,继而又会引申出对附件在线预览.在线编辑.多人协同编辑等种种能力的诉求. 对于人力不是特别充裕.或者项目投入预期规划不是特别大的公司或 ...

  3. python进阶__用socket封装TCP

    想要理解socket协议,点击链接,出门左转 一.TCP 通信的服务器端编程的基本步骤: 服务器端先创建一个 socket 对象. 服务器端 socket 将自己绑定到指定 IP 地址和端口. 服务器 ...

  4. KingbaseES 时间类型数据和oracle时间类型的区别

    Oracle日期时间类型有两类,一类是日期时间类型,包括Date, Timestamp with time zone, Timestamp with local time zone.另一类是Inter ...

  5. 论文解读(RvNN)《Rumor Detection on Twitter with Tree-structured Recursive Neural Networks》

    论文信息 论文标题:Rumor Detection on Twitter with Tree-structured Recursive Neural Networks论文作者:Jing Ma, Wei ...

  6. 四、frp内网穿透服务端frps.ini各配置参数详解

    [必须]标识头[common]是不可或缺的部分 [必须]服务器IPbind_addr = 0.0.0.00.0.0.0为服务器全局所有IP可用,假如你的服务器有多个IP则可以这样做,或者填写为指定其中 ...

  7. 使用Elasticsearch中的copy_to来提高搜索效率

    在今天的这个教程中,我们来着重讲解一下如何使用Elasticsearch中的copy来提高搜索的效率.比如在我们的搜索中,经常我们会遇到如下的文档: { "user" : &quo ...

  8. K8S概念理解

    Master 负责管理集群 负责协调集群中的所有活动,例如调度应用程序,维护应用程序的状态,扩展和更新应用程序. Worker节点是VM(虚拟机)或物理计算机,充当k8s集群中的工作计算机. 每个Wo ...

  9. 使用shell脚本定时重启tomcat服务

    #!/bin/bash DATE=`date +%Y-%m-%d-%H-%M-%S` echo "当前时间是:$DATE" # 根据端口号查找进程 PID=`/usr/sbin/l ...

  10. 延申三大问题中的第一个问题处理---原先shell脚本中启动jar文件命令的配置,附加参数等

    经过一系列的试错,最终采用的解决办法如下: 采用的配置文件 附加的启动参数 或者把这些都给统一添加到ConfigMap中