关于Excel的VBA功能。
想看一下,有没有一些课程可以推荐或者有大概的指导。
比如下面图1中是一个完整的CSV文件。
我需需要把它按照开头的数字123分成独立的三个CSV文件。 展开
没想到楼上的都在用文字描述,而且能说这么长,那我就不说这么多,直接上代码,打开VBA编辑器,输入以下代码:
Sub 不同的项添加空白行()
Dim a
Do
a = a + 1
If a > 30 Then
Exit Do
ElseIf Cells(a, 1) <> Cells(a + 1, 1) Then
Cells(a + 1, 1).Select
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
a = a + 1
End If
Loop
End Sub
备注:运行一次,添加一行空白行,运行第二次会插入两行,之后就都是两行
------------------------------------------------
再给你一个删除空白行的代码,之前回答别人的,刚好和你的问题相反
Sub 删除空白行()
Dim a
Do
a = a + 1
If a > 30 Then
Exit Do
ElseIf Cells(a, 1) = "" Then
Cells(a, 2).Select
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Delete Shift:=xlUp
End If
Loop
End Sub
备注:这个要多运行几次,因为删除行后,行号也跟着上移,所以会跳过一部分,所以会运行两次以上
下面给你上图看效果
选择如下图所示的下拉菜单,选择“worksheet”
选择如下图所示的下拉菜单,选择对应的触发模式。这里我们选择BeforeDoubleClick,意思就是说:在本工作表鼠标双击(之前),将触发下面的代码程序。(activate意思是说:在sheet表被选取的时候,就触发;Change意思是说:在这个模式下,只要sheet(工作表)发生变化,就将触发;Before Right Click是指在鼠标右击之前触发;SelectionChange是指在鼠标焦点发生变化时,触发。
选择完成后,我们会看到下面出现了两条代码;这俩条代码其实是在声明一个函数将鼠标放置在这两行代码之间,我们写上执行语句:
Sheet1.Cells(1, 3) = Sheet1.Cells(1, 1) + Sheet1.Cells(1, 2)
其中:sheet1.cells(1,3)就是指第一行第三列的这个单元格;Sheet1.Cells(1, 1)就是指第一行第一列的这个单元格;Sheet1.Cells(1, 2)就是指第一行第二列的单元格。执行语句的意思是:将cells(1,1)和cells(1,2)的值相加,并赋值给cells(1,3)写语句的时候,输入法一定要是输入字母的模式。要不然你的语句会报错。点击保存,回到Excel的原始界面。在cells(1,1)和cells(1,2)中输入两个数值。(楼主输入的是:125895和78954)
注意看:现在的cells(1,3)数值是空的。在sheet1的工作表中,双击你的鼠标。你会发现,cells(1,3)的值变成了cells(1,1)和cells(1,2)的和。(204849=125895+78954)
:其实VBA主要是触发和指定单元格。
1.触发的原理其实很简单,大家可以选择不同的触发模式,试一下就知道是怎么回事了。2.至于怎么指定到单元格,大家可以看看cells语句和Range语句。补充说明: VBA不需要过于复杂的VB语句。你只需要知道VB怎么写怎加减乘除,怎么使用IF语句,就可以满足大部分的需求了。最后希望大家能够驾驭VBA,顺便送大家一句话:眼见为虚,耳听为虚,只有运行才是硬道理
2019-09-09
掌握了VBA,可以发挥以下作用:
1.规范用户的操作,控制用户的操作行为;
2.操作界面人性化,方便用户的操作;
3.多个步骤的手工操作通过执行VBA代码可以迅速的实现;
4.实现一些VB无法实现的功能。
5.用VBA制做EXCEL登录系统。
6.利用VBA可以Excel内轻松开发出功能强大的自动化程序。
2019-09-09 · 知道合伙人软件行家