关于Excel的VBA功能。

我想用Excel的这个功能,实现对CSV格式文件的分割保存。想看一下,有没有一些课程可以推荐或者有大概的指导。比如下面图1中是一个完整的CSV文件。我需需要把它按照开头的... 我想用Excel的这个功能,实现对CSV格式文件的分割保存。
想看一下,有没有一些课程可以推荐或者有大概的指导。
比如下面图1中是一个完整的CSV文件。
我需需要把它按照开头的数字123分成独立的三个CSV文件。
展开
 我来答
灬飞雨灬
2019-09-10 · TA获得超过1.6万个赞
知道小有建树答主
回答量:777
采纳率:84%
帮助的人:85.9万
展开全部

没想到楼上的都在用文字描述,而且能说这么长,那我就不说这么多,直接上代码,打开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

备注:这个要多运行几次,因为删除行后,行号也跟着上移,所以会跳过一部分,所以会运行两次以上

下面给你上图看效果

傅范明ra
2019-09-09 · TA获得超过3358个赞
知道小有建树答主
回答量:9550
采纳率:45%
帮助的人:279万
展开全部
打开一个Excel文件,鼠标右击下面的工作表(如sheet1)。选择“查看代码”,就可以打开VBA编辑界面。
选择如下图所示的下拉菜单,选择“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
展开全部
Excel里的VBA是Visual Basic的一种宏语言。VBA是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。也可说是一种应用程式视觉化的Basic 脚本。
掌握了VBA,可以发挥以下作用:
1.规范用户的操作,控制用户的操作行为;
2.操作界面人性化,方便用户的操作;
3.多个步骤的手工操作通过执行VBA代码可以迅速的实现;
4.实现一些VB无法实现的功能。
5.用VBA制做EXCEL登录系统。
6.利用VBA可以Excel内轻松开发出功能强大的自动化程序。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pepe3399
2019-09-09 · 知道合伙人软件行家
pepe3399
知道合伙人软件行家
采纳数:1259 获赞数:5944
1988年毕业于苏州市职业大学计算机专业 从事软件开发5年 从事生产管理20年

向TA提问 私信TA
展开全部
嗯 也只能用vba来做,需要的话可以加我好友后发文件给我
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式