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. jQuery使用case记录

    添加元素/内容追加等 元素内: append() - 在被选元素的结尾插入内容 prepend() - 在被选元素的开头插入内容 元素外: after() - 在被选元素之后插入内容 before() ...

  2. 「雅礼集训 2017 Day2」水箱 (数据结构+dp ,一个log)

    题面 题解 在网上看到有些做法,有什么平衡树.启发式合并等等总之复杂度O(Tnlog^2(n))的不优做法,这里我就用一个O(Tnlogn)的做法好了 其实大体上推导的思路都是一样的. 我们很容易发现 ...

  3. Java中数组

    数组的定义格式: 1: 数据类型[] 数组名 2: 数据类型 数组名 动态初始化: 初始化的时候 系统会默认给数组赋值 数据类型[] 变量名 = new 数据类型[数组长度] int[] arr = ...

  4. VS Code 之KoroFileHeader插件

    设置 在vscode左下角点击设置按钮,选择"设置",然后输入"fileheader", 文件头部注释:Fileheader:custom Made 函数注释: ...

  5. git rebase合并多个commit总结

    git rebase 合并多个commit 方法 在开发过程中,有时一个任务会分几次commit提交,这样可能对于有些分支要cherry pick时会比较麻烦,这是我们可以通过git rebase 将 ...

  6. 【Git进阶】基于文件(夹)拆分大PR

    背景 前段时间为了迁移一个旧服务到新项目,由此产生了一个巨大的PR,为了方便Code Review,最终基于文件夹,将其拆分成了多个较小的PR:现在这里记录下,后面可能还会需要. 演示 为了方便演示, ...

  7. LibTorch | 使用神经网络求解一维稳态对流扩散方程

    0. 写在前面 本文将使用基于LibTorch(PyTorch C++接口)的神经网络求解器,对一维稳态对流扩散方程进行求解.研究问题参考自教科书\(^{[1]}\)示例 8.3. 目录 0. 写在前 ...

  8. zabbix客户端无法上传数据

    昨天发现有一台Windows服务器无法向zabbix服务端汇报数据.经过检查Windows上的客户端日志,可以看到以下错误. 31976:20200206:154445.873 active chec ...

  9. Java语言(基础一)

    Java语言 Java的特性和优势 简单性(简单易学) 面向对象(一种思想 万物皆对象) 可移植性(一次编写到处运行 JVM) 高性能(及时编译) 分布式(网络分布式url) 动态性(反射机制) 多线 ...

  10. 迁移阿里云上的ECS操作说明

    背景: 1.公司测试服务器快要到期了,但是续费太贵,就想用另一个阿里云账号下的服务器作为测试服务器. 2.测试服务器原在阿里云账号A下,要迁移到阿里云账号B下 3.该测试服务器有一个系统盘和俩数据盘 ...