赞
踩
声明变量(Dim & public & private & static). 4
Public Sub 和 Private Sub的区别... 4
1.Windows10で起動時に実行するファイルを設定する方法!... 5
2. VBAでIEの全要素のデータを取得する方法(改良版)~VBA(マクロ)でIE操作... 5
4.遍历所有worksheet(Traversal)... 8
4.选中单元格操作select & activate &goto. 10
1.ExecuteExcel4Macro是什么?... 13
4.怎么让代码在Excel打开时候自动运行而不需要手动去点击来触发。... 14
8.使用application.SendKeys模拟键盘输入... 15
3.删除重复数据(Removeduplicates). 19
3.屏蔽/更改组合键(比如ctrl+c)(Onkey函数)(2023/2/1)... 21
5.关闭workbook的方法(close和quit)... 22
7.给sheet或者workbook加密码,解密码... 28
13.使用webbrowser控件显示GIF动态图... 30
Public Sub→在其他的Module(该sub以外的模块)也能调用
Private Sub→在其他的Module(该sub以外的模块)不能调用
1.上面这个是复制A1:C3的一切。
2.下面这个只复制了值(Values)
转存失败重新上传取消
第一步是把内容复制到剪切板内,第二步再贴到指定位置。
【20秒でできる。】Windows10で起動時に実行するアプリを設定する方法! | nujonoa_blog.
【簡単】VBAでIEの全要素のデータを取得する方法(改良版)~VBA(マクロ)でIE操作 | nujonoa_blog
3. 【保存版】初心者がエクセルVBAを実務で使えるようになるための完全マニュアル
【保存版】初心者がエクセルVBAを実務で使えるようになるための完全マニュアル
首先,一个excel是一个book,然后book里面有很多sheet,我们最常用的是worksheet。在excel下面的sheet栏右键→插入,就可以看到可以插入以下东西,所以说excel的sheet包含3个东西,worksheet & chart ¯o,所以我们写代码的时候,最好写worksheet比较好。
转存失败重新上传取消
前言:在切换各个工作表的时候,需要指定工作表,引用工作表有三种方法。
转存失败重新上传取消
转存失败重新上传取消
1.使用工作表索引号
比如说有以上5个sheet,在excel界面,工作名是1,5,2,3,4。这个顺序就是索引号,比如5这工作表的索引号是2,2工作表的索引号是3,所以,索引号就是excel界面的顺序。workSheets(2).select选中的就是“5”工作表。
2.使用工作表名称
workSheets(“2“).select选中的就是名为“2”的工作表。
3.使用工作表代码名称
workSheet2.select这次选中的是“2”工作表,即使名字变了,也是选中的sheet2,如果sheet的名字可能会发生改变,最好采用这种方法,我常常常用第二种方法。
选中工作表可以采用select和activate,前者是选择,后者是激活,量都可以让sheet称为活动工作表,区别是select只能选择此时选中的sheet,activate则可以选中隐藏的sheet。
如下例所示,sheet1和sheet3都被隐藏,select会报错,activate则没问题。
PS:经过测试,如果隐藏了sheet,用activate无法选中该sheet,会自动选中该sheet后面的一个sheet,所以说,如果想操作一个sheet,隐藏的话是无法操作的吧?在操作的时候,该sheet需要visible=true
转存失败重新上传取消
通常我们都是直接.select就选中一个物体了
Sheet1.select
如果想多选怎么办呢?通过macro录制,得到以下代码,是用sheet名字的数组来实现的。
Sheets(Array("1", "Sheet5", "Sheet6", "5" , "Sheet8")).Select
如果有很多表格,然后我想全选所有表格用什么办法呢?有两种方法。
转存失败重新上传取消
表达式.select True/False,其中的true就是选中单个物体,False就是叠加选中,通过一个for循环,我们就实现了选中所有sheet的操作。
另一个简单的就是如下这种方法。
转存失败重新上传取消
4.1 For each…next
转存失败重新上传取消
4.2 For…next
转存失败重新上传取消
最终的结果都是以下msgbox。
转存失败重新上传取消
转存失败重新上传取消
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Sheet1.Name <> "hans" Then
Sheet1.Name = "hans"
Else
End If
End Sub
有两种方法,一个是colorindex,后面加数字,一个是color,后面加rgb形式,对应着红绿蓝三原色。
Sub test()
Range("A1:D10").Interior.ColorIndex = 0
Range("A10").Interior.Color = RGB(0, 255, 3)
End Sub
通过以下代码即可得到每个颜色指数对应的颜色,通过测试知道有56种颜色。
Sub test()
k = 1
For i = 1 To 8
For j = 1 To 7
Cells(i, j).Interior.ColorIndex = k
Cells(i, j) = k
k = k + 1
Next j
Next i
End Sub
转存失败重新上传取消
颜色也是56个,对应关系和上面的底纹颜色是一样的。
Range("A10").Font.ColorIndex = 2
Resize(rowsize,columnsize)
Range("A1").Resize(5, 10).Select
选中A1单元格,然后扩展到5行10列,即最终选中的是A1到J5。
4.1 select
Sheets("sheet1").Activate
Sheets("sheet1").Range("A1").Select
注意点:select的对象是默认是正在打开的sheet,如果打开的是sheet2,然后需要选中sheet1的单元格,就会弹出以下报错。
“类range的select方法失败了”
转存失败重新上传取消
4.2 activate
Sheets("sheet1").Activate
Sheets("sheet1").Range("A1").activate
注意点:activate的对象是默认是正在打开的sheet,如果打开的是sheet2,然后需要选中sheet1的单元格,就会弹出以下报错,和select是一样的。
转存失败重新上传取消
4.3 goto函数
注意点:goto和以上两种方法的区别就是不需要提前激活sheet,如果打开的是sheet2,然后需要选中sheet1的单元格,是不会报错的。
Application.Goto Sheets("sheet1").Range("A1")
2.复制
Sub test()
Range("A1:D10").Copy Range("F5")
End Sub
3.剪切
Sub test()
Range("A1:D10").Cut Range("F5")
End Sub
Sub Macro()
Cells.Find(What:="abc").Activate
End Sub
简写
Sub Macro()
Cells.Find("abc").Activate
End Sub
这里activate也可以写成select
Sub Macro3()
Cells.Replace What:="abc", Replacement:="123"
End Sub
把前面的what里面的内容abc换成后面的123。
简写
Sub test()
Cells.Replace "abc", "123"
End Sub
Sub iif()
Dim Ret as integer
Ret = MsgBox("do you like VBA?", vbYesNo)
If Ret = vbYes Then
MsgBox "you are a good boy!"
Else
MsgBox "you are a bad guy!"
End If
End Sub
具体用宏录制即可,无需记忆。
Sub Macro1()
''
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="1,2,3,4"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = "Please input~"
.ErrorTitle = "error"
.InputMessage = "message~~~~"
.ErrorMessage = "error message~~~"
.IMEMode = xlIMEModeNoControl
.ShowInput = True
.ShowError = True
End With
End Sub
得到Excel指定列非空数据的行数
ExecuteExcel4Macro是执行Excel4.0的宏。换句话说,就是使用旧版本(4.0版本)的宏。
这是在VBA可以用之前使用的工具(excel4.0发行于1994年,VBA是 1993年开发,1994年发行的Excel 5.0版本中才开始具备了VBA的宏功能,它可以与最新版本的Excel一起使用。 虽然是很老的东西,但是它有一些非常有用的功能,因此可以将其视为在使用VBA时遇到问题时的一种手段。
机能:从未打开的Excel工作簿中读取数据。
比如说在执行代码的时候,我需要得到C:\Users\n311733\Desktop\下的一个1.xlsx表格中sheet1的A1单元格的数值,并且我还想在不打开这个excel的前提下(以免拖慢运行速度)
可以用excel4.0的宏来执行。
Sub test()
Range("A1") = ExecuteExcel4Macro("'C:\Users\n311733\Desktop\[1.xlsx]sheet1'!R1C1")
End Sub
由于它不打开book,因此比在VBA中正常打开book要快得多。但是,一次只能获取一个单元格,不能一次获取多个单元格。因此,当需要获取多个cell,cell的数量很大时,可能会比较慢。
注意点:表达方式是固定的,双引号+单引号+路径+[文件名]sheet名+单引号+!+R1C1格式的单元格形式+双引号
参数的赋值号,比如 Cells.Find(What:="abc").Activate,这里的:=表示给参数what赋值。
如果是给变量赋值,直接用等号a=5即可。
当我们在某处加上On Error Resume Next这条语句后,随后的程序即便出现"运行时错误"时,也不会显示"出错信息",并且会继续运行下去.
在VBE界面的Thisworkbook下输入以下代码,注意不是在模块下面写代码!
Private Sub Workbook_Open()
' Put your code here
End Sub
这样每次打开excel的时候,代码就会自动运行起来了~比如一些权限设定和文件日期判定都可以写在Thisworkbook下。
应该就是excel的缩写!比如下列代码的xlup,就表示从A99999单元格按住ctrl+上方向键,得到a列最后一个数值,然后把行数赋值给a。
Sub 123()
a = Range("A99999").End(xlUp).Row
end sub
UBound的是数组的上界
比如一组数组arr(1 to 10),那么ubound(arr)=10
那二维数组arr(1 to 10,1 to 100)呢?
ubound(arr,1)=10表示第一维的上界是10
ubound(arr,2)=100表示第二维的上界是100。
三维四维数组依此类推。
Ucase
VB中LCASE是将大写改成小写,UCASE是将小写改大写
Sub test()
MsgBox "abc" & Chr(13) & "def"
End Sub
转存失败重新上传取消
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 3 Then Application.SendKeys "%{down}"
End Sub
%{down}的意思是alt+↓的意思。
sendkeys是模拟键盘操作。
但是这样会导致num键开关,解决方法有三种,具体如下。
1.Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set x = CreateObject("wscript.shell")
If Target.Column = 3 Then x.SendKeys "%{down}"
End Sub
2.再用一次sendkeys貌似就可以再打开num键了。
3. 'NumLockが解除されてしまう事への対応
SendKeys "{NUMLOCK}"
URL:在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL(Uniform Resource Locator,统一资源定位器),它是WWW的统一资源定位标志,通俗说就是网址。
Navigate:导航; 确定(船、飞机、汽车等)的位置和方向; 航行; 航海。
正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。
立即窗口是一个可以即时执行代码的窗口,和DOS操作类似。
在立即窗口输入代码后,按回车即可执行代码,快捷键是Ctrl+G。
还可以用来调试(debug),在需要调试的代码前面加上debug.print即可在立即窗口看到该值的变化。
转存失败重新上传取消
转存失败重新上传取消
Let 变量=xxx
常用的就是给数据类型变量赋值,其中let通常是省略掉的。
Set 变量=xxx
变量还可以储存工作簿,工作表,单元格等对象(object),这里的set是不可以省略的。
假如根据excel一列的数据来批量生成一堆sheet,可以使用以下代码。
转存失败重新上传取消
类的实质是一种数据类型,类似于int、char等基本类型,不同的是它是一种复杂的数据类型。因为它的本质是类型,而不是数据,所以不存在于内存中,不能被直接操作,只有被实例化为对象时,才会变得可操作。类的内部封装了方法,用于操作自身的成员。类是对某种对象的定义,具有行为(be-havior),它描述一个对象能够做什么以及做的方法(method),它们是可以对这个对象进行操作的程序和过程。
对于后缀是xls的excel,对应的是Excel2003,行数只有65536行。(6万),列数是256列。
对于后缀是xlsx的excel,对应的是Excel2007,行数提高了16倍,有1048576行。(100万),列数是16384列。
VBA的Round函数不是四舍五入,是用银行型的圆整方式来进行的。
银行型的圆整就是 小数点第一位是5的时候把数字整体向偶数方向进行调整。VBA的round也只是针对第一位小数而言的,后面位数的小数还是采用的四舍五入。
转存失败重新上传取消
Application.Evaluate的作用是将一个字符串转换为一个对象或者一个值。可以省略Application关键字。比如以下代码,在excel里面看就能知道区别。
Sub test0()
Cells(3, 3) = "=sum(A1:A10)"
Cells(4, 4) = Evaluate("=sum(A1:A10)")
End Sub
转存失败重新上传取消
三行三列是显示的中间的公式,四行四列由于用了evaluate函数,输出的是一个值,看不到中间的公式。如果代码生成的公式不想让使用的人看到的化就可以用这个功能,隐藏掉中间的公式。
使用自带的Removeduplicates 函数即可删除指定区域的重复数据。
Removeduplicates (columns,Header)
其中columns是必须的,表示第几列。如下图的代码所示就是A~D列的区域内,以第三列为基准来删除重复的数,关联的行都会删掉。如果columns变成2,那就是以第二列为基准来判断重复。
转存失败重新上传取消
Split(expression, delimiter, limit, compare)
没写分隔符就默认是空格,如果写了分隔符,分隔符需要被删除。
转存失败重新上传取消
转存失败重新上传取消
转存失败重新上传取消
转存失败重新上传取消
Memo:对于某些机能,老版本的excel没有,所以可以通过这个判定来提前给出提醒。对于大公司而言,大家的excel版本都是统一的,感觉Excel的版本用处不是很大,但是用户名可以进行一些使用权限的判定,还是非常有用的。
具体可以参考以下CSDN链接
每隔十分钟弹窗提醒(Ontime函数)_Kazefuku的博客-CSDN博客
功能:屏蔽电脑原有组合键功能,或者自定义快捷键。
Application.onkey (key,procedure)
首先在workbook里面写入以下代码,字母的话要用{}圈起来?数字不能用{}圈起来。
其中^表示按下crtl键,那么onkey.”{^c}”表示的就是按ctrl+c,表示复制。后面表示调用其他的sub函数,本次是调用的msg的sub函数。就是说当你激活这个workbook的时候,ctrl+c就已经改成了弹窗功能。如果不填procedure就表示不进行任何更改操作(恢复初始状态),如果是Application.onkey (key,””),就表示执行空白(也就是说屏蔽了改功能且无任何提醒)。
转存失败重新上传取消
转存失败重新上传取消
思考:如果你同时打开好多个workbook,即使切到别的workbook,由于你最开始打开了这个workbook就已经激活了这个功能,所以其他的workbook也不能使用ctrl+c功能,这样也许会让人困扰,解决方法就是在这个workbook里面加入恢复的代码。Onkey后面无procedure即代表恢复ctrl+c的功能。
转存失败重新上传取消
Excel的标题栏默认是**** -Excel,可以通过application.caption来更改这个标题。感觉用处不大,可能用来写版权声明倒是不错!
转存失败重新上传取消
其中vbnullchar表示空字符,这样-Excel的后缀就消失了。
Empty表示的是恢复默认状态。效果如下图所示。
转存失败重新上传取消
关闭workbook通常有两种方法,一个是thisworkbook.close,一个是application.quit,前者是只关闭这个workbook,但是不kill整个excel程序。后者是关闭整个excel程序,两者各有特色。
转存失败重新上传取消
假象一种情景,我现在开着excel且有很多workbook,然后我需要在VBA里面运行代码关闭某个workbook,就用workbook.close就好了,但是,如果我就开了一个workbook,执行thisworkbook.close的话,excel是没有关闭的,所以最终代码运行以后会出现一个空白的excel界面,会让人感觉很奇怪。
所以我的需求是:当只有一个workbook打开的时候,运行application.quit来完全关闭excel。
如果有多个workbook打开,运行thisworkbook.close只关闭这一个workbook。只需要用一个if判定即可解决这个问题。
转存失败重新上传取消
Private Sub Workbook_Open()
Dim today As Date
today = Date
If today > "2022/1/1" Then
MsgBox ("License expired, please contact HanShuang!!!")
ps = InputBox("Please input the Admin password")
If ps = "123" Then Exit Sub
ThisWorkbook.Close
End If
End Sub
Sub test()
Dim rng As Range
Dim i As Integer
For Each rng In Range("A:A")
If rng <> "" Then i = i + 1 Else Exit For
Next
Cells(4, 4) = i
End Sub
--------------------------------------------------
Sub test()
i = Cells(100000, 1).End(xlUp).Row
End Sub
从第一行的底下(随便写个1万行,或者用65536),end(xlup)等于ctrl+↑,这样就能找到最底下的那行数,然后将该数的行数赋值给i即可。
用currentregion也是可以的
j = Sheets(1).Range("A1").CurrentRegion.Rows.Count
依此类推用end(xltoleft).column即可得到数据的列数。
Sub test()
i = Cells(1, 256).End(xltoleft).column
End Sub
PS:excel2003只有256列。
转存失败重新上传取消
RemoveDuplicates (Columns , Header),其中Columns是必須,header可省略。
亲测columns好像没啥用?无论是1还是2,选中的所有列都实施了重复数据的删除???
Sub test001()
Range("A1:C10").Select
Selection.RemoveDuplicates Columns:=1
End Sub
Sub test002()
ActiveSheet.Range("A1:C100").RemoveDuplicates Columns:=1
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A:A").Interior.ColorIndex = 0
Dim rng As Range
Dim i!
i = 0
For Each rng In Range("A1:A100")
If Target.Count > 1 Then Exit Sub ‘如果多选则退出
If Target.Column > 1 Then Exit Sub ‘如果不是第一列则退出
If Target = "" Then Exit Sub ‘如果是空值则退出
If rng = Target Then rng.Interior.ColorIndex = 8
i = i + 1
Next
End Sub
如果是一个区域,不是一列,代码如下。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A1:G50").Interior.ColorIndex = 0
Dim rng As Range
Dim i!
i = 0
For Each rng In Range("A1:G50")
If Target.Count > 1 Then Exit Sub
If Target = "" Then Exit Sub
If rng = Target Then rng.Interior.ColorIndex = 8
i = i + 1
Next
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlColorIndexNone
Set Rng = Application.Union(Target.EntireColumn, Target.EntireRow)
Rng.Interior.ColorIndex = Int(56 * Rnd + 1)
Set Rng = Nothing
End Sub
这里rnd是随机数,每次点击后颜色都会变化,也可以用一个常数。
Sub IEinput()
Application.ScreenUpdating = False
Dim objIE As Object
Set objIE = GetObject("", "InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate "https://www.baidu.com/"
While objIE.ReadyState <> 4 Or objIE.Busy = True
DoEvents
Wend
On Error Resume Next
I = 1
J = objIE.document.all.Length
Cells(I, 1).Value = "No"
Cells(I, 2).Value = "tagname"
Cells(I, 3).Value = "Type"
Cells(I, 4).Value = "NAME"
Cells(I, 5).Value = "ID"
Cells(I, 6).Value = "className"
Cells(I, 7).Value = "TABINDEX"
Cells(I, 8).Value = "Vakue"
Cells(I, 9).Value = "checked"
Cells(I, 10).Value = "tagname"
Dim A As Object
For Each A In objIE.document.getElementsByTagName("INPUT")
Cells(I + 1, 1) = I - 1
Cells(I + 1, 2) = A.TAGNAME
Cells(I + 1, 3) = A.Type
Cells(I + 1, 4) = A.Name
Cells(I + 1, 5) = A.ID
Cells(I + 1, 6) = A.className
Cells(I + 1, 7) = A.TabIndex
Cells(I + 1, 8) = A.Value
Cells(I + 1, 9) = A.Checked
Cells(I + 1, 10) = A.parentElement.TAGNAME
I = I + 1
Application.StatusBar = I & "/" & J
Next
On Error GoTo 0
Application.ScreenUpdating = True
Application.StatusBar = False
End Sub
为了加快代码的执行速度,最简单的方式,将代码的执行过程设置为不显示,可以在代码执行时,临时关闭后续设置:自动重算、自动刷新、弹窗警告
温馨提示:以下代码需要成对出现,设置False后,末尾改回True
Sub AppSetting()
’ 程序开始
With Application
.ScreenUpdating = False ' 关闭屏幕刷新
.EnableEvents = False ' 关闭事件触发
.DisplayAlerts = False ' 关闭弹窗提示
End With
' Your Code ' 调用程序运行的主体代码
’程序末尾
With Application
.ScreenUpdating = True ' 恢复屏幕刷新
.EnableEvents = True ' 恢复事件触发
.DisplayAlerts = True ' 恢复弹窗提示
End With
End Sub
Sub Macro1()
Sheets("1").Protect Password:="123"
ThisWorkbook.Protect Password:="123456"
Sheets("1").Unprotect Password:="123"
ThisWorkbook.Unprotect Password:="123456"
End Sub
Sub Macro1()
Selection.EntireRow.Insert
Range("A1:D1").Copy Selection.Range(Cells(1, 1), Cells(1, 4))
Do
ActiveCell.Offset(2, 0).EntireRow.Select
Selection.Insert
Range("A1:D1").Copy Selection.Range(Cells(1, 1), Cells(1, 4))
Loop Until ActiveCell.Offset(1, 0) = ""
End Sub
如果想要打开一个excel的时候只显示窗体Form,不显示主界面。可以在workbook里面输入以下代码。
转存失败重新上传取消
在执行代码时,如果时间较长,用户点鼠标的位置也许会影响代码的运行。可以在代码开始之前设置interactive=false,记住在代码结束后一定要设置interactive=True,如果没有设置,代码运行后将无法操作excel。
11.让excel只在指定路径打开
比如说做了一个excel,然后需要在指定路径下使用,不希望别人复制到自己文件夹下使用(因为该工具可能会定期进行更新,如果他人自己复制使用可能导致计算的结果不是最新工具产生的)。在workbook的open里面输入以下代码,如果路径不是指定路径,那么会有弹窗然后关闭本workbook。
转存失败重新上传取消
用代码执行的过程中,不希望有人机交互。比如关闭excel的bookd的时候,默认是会有弹窗的,有以下方法可以进行禁止弹窗。
转存失败重新上传取消
1.close的savechanges更改
在close后面打一个空格就会出来close函数对应的参数,第一个就是savechanges
转存失败重新上传取消
2. 关闭之前save
转存失败重新上传取消
3.禁用所有的弹窗
转存失败重新上传取消
转存失败重新上传取消
如果目标单元格有批注了,再次添加会报错,所以有is nothing的判断。Visible是将批注显示出来,默认是添加,但是不显示出来。
转存失败重新上传取消
在form里面添加webbrowser控件,然后点击webbrowser控件,输入以下代码即可。
Private Sub UserForm_Initialize()
Me.WebBrowser1.Navigate "路径+ bear_rabbit.gif"
End Sub
Sub progress_bar()
Dim i As Double
UserForm1.Show 0
With UserForm1.ProgressBar1
.Min = 1
.Max = 10000
.Scrolling = 0
For i = 1 To 1000000
Cells(i, 1) = i
.Value = i
UserForm1.Caption = "exe is executing...." & i / 10000 & "% have been completed!!!!"
Next i
End With
Unload UserForm1
End Sub
Sub teststeststes()
Set IE = CreateObject("internetexplorer.application")
IE.Visible = True
IE.Navigate "http://www.baidu.com/"
End Sub
假如说用的百度,想要通过代码直接检索abcd这个词。首先检索一次abcd,可以知道百度的检索形式是百度安全验证”其他的可以不要,所以代码就是
转存失败重新上传取消
转存失败重新上传取消
其中,如果不需要网页出现,visible(可视)调成false,不仅让程序在跑的时候有种神秘感(并没有),还能稍微加快一点速度。
转存失败重新上传取消
同理,google也是一样,只是变成了search?q=xxx.
转存失败重新上传取消
转存失败重新上传取消
转存失败重新上传取消
Sub test()
With CreateObject("VBSCRIPT.REGEXP")
For i = 1 To [a65536].End(xlUp).Row
.Global = True
.Pattern = "\w"
Cells(i, 4) = Replace(Cells(i, 1), " ", "") ‘这个代码是去掉字符串的空格
Cells(i, 2) = .Replace(Cells(i, 4), "")
Cells(i, 3) = Replace(Cells(i, 4), Cells(i, 2), "")
Next i
End With
End Sub
Sub xxx()
Application.Interactive = False'禁用键鼠操作
'执行其它代码!
Application.Interactive = True'启用键鼠操作!
End Sub
19.高亮显示选定单元格(十字交叉)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlColorIndexNone
Set Rng = Application.Union(Target.EntireColumn, Target.EntireRow)
Rng.Interior.ColorIndex = Int(56 * Rnd + 1)
Selection = Int(56 * Rnd + 1)
Set Rng = Nothing
End Sub
Sub valcabulary_check()
Dim rng As Range
Dim rng1 As Range
Dim i!
i = 0
j = 1
Set rng = Selection
For Each rngs In rng
n = rngs.Row
If Cells(n, 5) = Cells(n, 7) Then
Cells(n, 10) = Cells(n, 10) + 1
i = i + 1
Else
rng(j) = Cells(n, 1)
Sheets("review").Cells(j, 1) = rng(j)
j = j + 1
End If
Next
MsgBox "Right: " & i & " word" & Chr(13) & "Miss: " & n - i - 1 & " word"
End Sub
Sub sheet_name_hyperLink()
Dim name
k = 0
For i = 1 To 30
name = Cells(i, 2)
ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 2), Address:=name
Next i
Cells(1, 1).Select
MsgBox ("Update Is completed!")
End Sub
INI文件是什么?
.ini 文件是Initialization File的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式,统管windows的各项配置,一般用户就用windows提供的各项图形化管理界面就可实现相同的配置了。但在某些情况,还是要直接编辑ini才方便,一般只有很熟悉windows才能去直接编辑。
转存失败重新上传取消
Sub valcabulary_check()
Dim rng As Range
'Dim rng1 As Range
Application.ScreenUpdating = fale
hang_shu = Cells(10000, 1).End(xlUp).Row
lie_shu = Sheets("review").Cells(1, 1000).End(xlToLeft).Column
Sheets("review").Range("A:A").Cut Sheets("review").Cells(1, lie_shu + 1)
Dim i!
i = 0
j = 1
k = 0
Set rng = Range("A2:A" & hang_shu)
For Each rngs In rng
n = rngs.Row
If Cells(n, 8) = "OK" Or Cells(n, 8) = "TBD" Then
' If Cells(n, 5) = Cells(n, 7) Then
Cells(n, 10) = Cells(n, 10) + 1
i = i + 1
Cells(n, 1).Interior.ColorIndex = 2
Else
' Cells(n, 1).Interior.Bold = True
Cells(n, 1).Interior.ColorIndex = 3
Sheets("review").Cells(j, 1) = Cells(n, 1)
j = j + 1
End If
k = k + 1
Next
Application.ScreenUpdating = True
MsgBox "Right: " & i & " word" & Chr(13) & "Miss: " & k - i & " word"
End Sub
文件→选项→详细设定
转存失败重新上传取消
文件→选项→保存
转存失败重新上传取消
在文件夹的表示中,如果希望PPT有以下预览情况
cd/d"C:\Users\Administrator\Desktop\922_main shaft bearing\922c_sls011\载荷谱 SY9MW ABA Report57102"
ren "*.htm" "*.txt"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。