精华内容
下载资源
问答
  • 前几讲,我们实现了将工作表的数据传给UserForm窗口,实现的开始记录、下一条记录最后记录的显示,我们今日继续讲解如何实现编辑和保存记录。前几讲是查找与显示,查找的目的是为了编辑。思路:①UserForm窗口...

    大家好,我们今天继续讲解VBA数据库解决方案,今日讲解的是第80讲:工作表数据与UserForm窗口的交互过程中:如何对显示的记录进行编辑和保存。在前几讲中,我们实现了将工作表的数据传给UserForm窗口,实现的开始记录、下一条记录最后记录的显示,我们今日继续讲解如何实现编辑和保存记录。前几讲是查找与显示,查找的目的是为了编辑。

    思路:①在UserForm窗口上,设置显示编辑和保存按钮,用于指令的下达。

    ②在弹出UserForm窗口后,EXCEL文件要隐藏。

    ③要考虑到按钮之间的作用,此按钮要在开始按钮按过之后才可以响应动作。同时窗口上可以显示的按钮还有"显示下一条记录"和"显示最后记录"按钮

    下面我们首先实现UserForm窗体:在上一讲的基础上我这次增加的是"编辑"和"保存"按钮:

    72fe24a91b55f36553c4ac0a0ac52359.png

    下面看代码的实现:

    1 从EXCEL窗口进入人机交互窗口:

    Sub mynzRecords_80() '将工作表数据变成记录集,并实现编辑和保存

    Application.Visible = False

    UserForm1.Show

    End Sub

    代码解释:上述代码完成从EXCEL界面到人机交互UserForm窗体,这时的Application.Caller是5.

    2 窗体加载时设置相关的属性代码:If Right(Application.Caller, 1) = 5 Then '显示编辑记录

    UserForm1.CommandButton1.Enabled = False '下一条记录

    UserForm1.CommandButton4.Enabled = False '最后一条记录

    UserForm1.CommandButton5.Enabled = False '编辑记录

    UserForm1.CommandButton7.Enabled = False '查找记录

    UserForm1.CommandButton8.Enabled = False '删除记录

    UserForm1.CommandButton6.Enabled = False '保存记录

    UserForm1.CommandButton9.Enabled = False '录入记录

    UserForm1.TextBox1.Enabled = False

    UserForm1.TextBox2.Enabled = False

    UserForm1.TextBox3.Enabled = False

    End If

    代码解释:上述代码设置了各个按钮的必要属性,大家要注意,由于涉及到保存记录,这里的TextBox 的Enabled属性设置为False.

    3 "编辑"按钮响应代码:

    Private Sub CommandButton5_Click() '编辑

    MsgBox ("请修改记录!")

    UserForm1.TextBox2.Enabled = True

    UserForm1.TextBox3.Enabled = True

    UserForm1.CommandButton6.Enabled = True '保存记录

    End Sub

    代码解释: 点击"编辑"按钮后弹出对话框,要求和用户确认,得到认可后把TextBox2.Enabled,TextBox3.Enabled, CommandButton6.Enabled的属性修改为True,这时就用户可以编辑了与保存了。

    4 "保存"按钮响应代码:

    Private Sub CommandButton6_Click() '保存

    If UserForm1.TextBox1.Value = "" Or UserForm1.TextBox2.Value = "" Or UserForm1.TextBox3.Value = "" Then MsgBox "信息有空值,请确认!": Exit Sub

    If MsgBox("是否要保存记录?

    展开全文
  • 工作遇到要做一些excel模板,让用户编辑时候,可以很好避免脏数据的产生,比如开始时间、结束时间时间格式控制,结束时间应该大于开始时间。这个时候我们通常都会用数据有效性来控制。下面我做了个列为分数...
    工作中遇到要做一些excel模板,让用户编辑时候,可以很好的避免脏数据的产生,比如开始时间、结束时间的时间格式的控制,结束时间应该大于开始时间。这个时候我们通常都会用数据有效性来控制。下面我做了个列为分数的例子说明,分数通常应该在0-100分之间,那么通过数据有效性很容易控制。

    f9cfb2fe3d78d0966d710227c6439af6.gif

    那么问题来了,等用户准备把先前录入的表格数据复制粘贴在这一列时,发生了什么事,下面视频为了方便看,复制后面一列数据演示。

    8c73f46440619f56df9e30e1f9c0a037.gif

     呃,bug出现了,复制粘贴让数据有效性失效了,那么要解决这个问题,希望实现能对复制粘贴这种操作也弹框提醒,避免录入脏数据的情况。实现下面这样的效果。怎么做呢,看视频演示步骤:

    866bd4f7ccc914db81591ed6e324f9f0.gif

    打开开发工具---->VB编辑器,双击sheet1,将VBA代码复制进去,保存。取消单元格锁定,将工作表设为保护工作表,即可实现。

    那么,对这个小技巧感兴趣的小伙伴关注公众号发送“20201128”,即可获得下载链接。

    展开全文
  • 网上发布Excel生成图形Excel的重要功能之一就是能快速方便地将工作表数据生成柱状、圆饼、折线等分析图形。要想Web发布这类以及用于报表装饰示意类图形,首先单击“工具→选项”命令,“常规”选择“W...

    Excel、Word、PowerPoint作为最常用的办公软件,常常只会一种是不够用的,三者之间经常相互联系使用,使得办公更得力高效。今天让我们来看看如何将Excel与Word两个相互使用。

    在网上发布Excel生成的图形

    Excel的重要功能之一就是能快速方便地将工作表数据生成柱状、圆饼、折线等分析图形。

    要想在Web发布这类以及用于报表装饰示意类图形,首先单击“工具→选项”命令,在“常规”中选择“Web选项”,选择是否采用便携网络图形格式(PNG)存储文件,以加快下载速度和减少磁存储空间,但要注意这一格式图形文件将要求浏览器支持,并非对所有浏览器都合适。

    如果未选择PNG图形格式,Excel会自动选择并转换为GIF、JPG格式文件,并创建名为“文件名files”的子文件夹来保存转换过的图形。

    例如,如果文件名为“dog.htm”,则Excel将创建名为“dog/files”的子文件夹。Excel也会支持文件指定文件名,例如“image01.jpg”和“image02.jpg等。

    若在Web发布时选中图表的“选择交互”选项框,则生成的Web页面将保留Excel的图形与表格数据互动的功能,即页面中显示数据表格和对应分析图形,用户如果改变表格中的数据,则对应图形随之发生改变。但要注意的是,这一交互并不能刷新存放在服务器端的数据表数据,如果你需要刷新或修改服务器端的数据,则须利用VB等编制脚本程序。

    创建图表连接符

    当你绘制了一些基本图表以后,经常需要用直线、虚线和箭头来连接它们,并说明图表中的关系。

    Excel 2002提供了真正的图表连接符,这些线条在基本形状的预设位置保持连接,当你移动基本形状时,连接符与它们一起移动,而不需要你手工绘制它们。

    要创建连接符,可按以下步骤进行:首先绘制需要连接的基本性状。在“绘图”工具栏上单击“自选图形”按钮,选择“连接符”,并选中需要使用的连接符类型。

    鼠标指针将变成带有4条放射线的方形,当鼠标停留在某个形状上,形状上预先定义的连接点将变成边界上彩色的点,单击希望连接符连接的点。然后在另一形状的连接点上重复这个过程。

    将Excel单元格转换成图片形式插入到Word中

    假如要把Excel中某些单元格区域转换成图片形式,可先选中要进行转换的单元格区域,然后按住Shift键,单击“编辑→复制图片”命令,在弹出的“复制图片”对话框中,可选择“如屏幕所示”和“如打印效果”两种显示方式(图1),如果选择“如屏幕所示”,还可以进一步选择“图片”和“位图”两种格式。在这里选择“如屏幕所示”和“图片”单选按钮,单击“确定”按钮。然后进入Word中,单击“编辑→粘贴”命令,即可将选中的Excel单元格区域以图片形式粘贴过来。 如果用户没用添加表格框线,那么选择“如打印效果”后,在进行“粘贴图片”操作后图片中没有边框;如果选择“如屏幕所示”选项,“粘贴图片”操作后,图片会有和屏幕显示一样的边框。

    将Word内容以图片形式插入到Excel表格中

    如果要把Word中的某一段内容以图片形式插入到Excel表格中,可按照下步骤进行:首先在Word中选中要复制的内容,然后单击“编辑→复制”命令,进入Excel中,按住Shift键,单击“编辑→粘贴图片”命令,即可将刚才复制的内容以图片格式插入到Excel表格中,而且在该图片上双击,还可进行文字修改。利用这种方法也可以把“记事本”等其他程序中的内容以图片格式粘贴到Excel中。

    将Word中的内容作为图片链接插入Excel表格中

    首先在Word中选中要复制的内容,然后单击“编辑→复制”命令,进入Excel中,按住Shift键,单击“粘贴→选择性粘贴→图片(增强型图元文件)”命令可将选中内容作为一个图片链接插入Excel中。

    74c56fbf2f6ef7a3608897683b9dca7f.png

    18cfa4806253f9a72ee66afc5088ce8c.png
    展开全文
  • 前几讲,我们实现了将工作表的数据传给UserForm窗口,实现的开始记录、下一条记录最后记录的显示,我们今日继续讲解如何实现编辑和保存记录。前几讲是查找与显示,查找的目的是为了编辑。思路:①UserForm窗口...

    2107bcc3c28415ebd564e0b9390d778f.png

    大家好,我们今天继续讲解VBA数据库解决方案,今日讲解的是第80讲:工作表数据与UserForm窗口的交互过程中:如何对显示的记录进行编辑和保存。在前几讲中,我们实现了将工作表的数据传给UserForm窗口,实现的开始记录、下一条记录最后记录的显示,我们今日继续讲解如何实现编辑和保存记录。前几讲是查找与显示,查找的目的是为了编辑。

    思路:①在UserForm窗口上,设置显示编辑和保存按钮,用于指令的下达。

    ②在弹出UserForm窗口后,EXCEL文件要隐藏。

    ③要考虑到按钮之间的作用,此按钮要在开始按钮按过之后才可以响应动作。同时窗口上可以显示的按钮还有“显示下一条记录”和“显示最后记录”按钮

    下面我们首先实现UserForm窗体:在上一讲的基础上我这次增加的是“编辑”和“保存”按钮:

    a3feeca15129e9796b9c5366ecf2c198.png

    下面看代码的实现:

    1 从EXCEL窗口进入人机交互窗口:

    Sub mynzRecords_80() '将工作表数据变成记录集,并实现编辑和保存

    Application.Visible = False

    UserForm1.Show

    End Sub

    代码解释:上述代码完成从EXCEL界面到人机交互UserForm窗体,这时的Application.Caller是5.

    2 窗体加载时设置相关的属性代码:
    If Right(Application.Caller, 1) = 5 Then '显示编辑记录

    UserForm1.CommandButton1.Enabled = False '下一条记录

    UserForm1.CommandButton4.Enabled = False '最后一条记录

    UserForm1.CommandButton5.Enabled = False '编辑记录

    UserForm1.CommandButton7.Enabled = False '查找记录

    UserForm1.CommandButton8.Enabled = False '删除记录

    UserForm1.CommandButton6.Enabled = False '保存记录

    UserForm1.CommandButton9.Enabled = False '录入记录

    UserForm1.TextBox1.Enabled = False

    UserForm1.TextBox2.Enabled = False

    UserForm1.TextBox3.Enabled = False

    End If

    代码解释:上述代码设置了各个按钮的必要属性,大家要注意,由于涉及到保存记录,这里的TextBox 的Enabled属性设置为False.

    3 “编辑”按钮响应代码:

    Private Sub CommandButton5_Click() '编辑

    MsgBox ("请修改记录!")

    UserForm1.TextBox2.Enabled = True

    UserForm1.TextBox3.Enabled = True

    UserForm1.CommandButton6.Enabled = True '保存记录

    End Sub

    代码解释: 点击“编辑”按钮后弹出对话框,要求和用户确认,得到认可后把TextBox2.Enabled,TextBox3.Enabled, CommandButton6.Enabled的属性修改为True,这时就用户可以编辑了与保存了。

    4 “保存”按钮响应代码:

    Private Sub CommandButton6_Click() '保存

    If UserForm1.TextBox1.Value = "" Or UserForm1.TextBox2.Value = "" Or UserForm1.TextBox3.Value = "" Then MsgBox "信息有空值,请确认!": Exit Sub

    If MsgBox("是否要保存记录?", vbOKCancel, "提示") = vbCancel Then Exit Sub

    Dim cnADO, rsADO As Object

    Dim strPath, strSQL As String

    Dim myData() As Variant

    Set cnADO = CreateObject("ADODB.Connection")

    Set rsADO = CreateObject("ADODB.Recordset")

    strPath = ThisWorkbook.FullName

    cnADO.Open "provider=Microsoft.ACE.OLEDB.12.0;extended properties='excel 12.0;hdr=yes;imex=0';" _

    & "data source=" & strPath

    strSQL = "SELECT * FROM [数据7$]"

    rsADO.Open strSQL, cnADO, 1, 3

    If UserForm1.TextBox1.Enabled = False Then '编辑的保存

    If rsADO.RecordCount > 0 Then rsADO.MoveFirst

    Do While Not rsADO.EOF

    If Trim(rsADO.Fields(0)) = UserForm1.TextBox1.Value Then

    rsADO.Fields(1) = UserForm1.TextBox2.Value

    rsADO.Fields(2) = UserForm1.TextBox3.Value

    rsADO.Update

    GoTo 100

    End If

    rsADO.MoveNext

    Loop

    100:

    UserForm1.TextBox1.Enabled = False

    UserForm1.TextBox2.Enabled = False

    UserForm1.TextBox3.Enabled = False

    UserForm1.CommandButton6.Enabled = False

    MsgBox ("保存OK!")

    Else '录入的保存

    If rsADO.RecordCount > 0 Then

    Do While Not rsADO.EOF

    If Trim(rsADO.Fields(0)) = UserForm1.TextBox1.Value Then MsgBox "员工编号重复,请确认!": GoTo 110

    rsADO.MoveNext

    Loop

    End If

    rsADO.AddNew

    rsADO.Fields(0) = UserForm1.TextBox1.Value

    rsADO.Fields(1) = UserForm1.TextBox2.Value

    rsADO.Fields(2) = UserForm1.TextBox3.Value

    rsADO.Update

    110:

    UserForm1.TextBox1.Value = ""

    UserForm1.TextBox2.Value = ""

    UserForm1.TextBox3.Value = ""

    UserForm1.TextBox1.SetFocus

    MsgBox ("保存OK!")

    End If

    rsADO.Close

    cnADO.Close

    Set rsADO = Nothing

    Set cnADO = Nothing

    End Sub

    代码解释:保存的时候有两种情况:一个是后面讲到的的录入数据后的保存;一个是修改记录的保存,两者的有所区别,这里是用TextBox1.Enabled的属性作为判断的依据,保存的代码是rsADO.Update

    .这里要特别注意的是数据库在连接时的设置:imex=0。

    4 在“开始”按钮中相关代码:

    If Right(Application.Caller, 1) = 5 Then '编辑记录

    UserForm1.CommandButton1.Enabled = True

    UserForm1.CommandButton4.Enabled = True

    UserForm1.CommandButton5.Enabled = True

    End If

    代码解释: 当按下“开始”按钮后的按钮1、4、5才能响应动作。

    下面看代码的截图:

    76facdac33bd59aa3815c21ce9ae68f3.png

    9be593713516021ea36ff976963f0bc1.png

    e19f746f79f0e6d0cecd0e91acc80d60.png

    代码的运行:

    30d083d929a0dfef6f60f6b756d459d7.png

    01072b2be741e458feaa10eab6170fdc.png

    ea485effc663e6e50a85866bab2a3f84.png

    4ead8868a69b2227faa02ebf65730e75.png

    2bb8ae622238edd224b2dda8e9bad569.png

    工作表数据与UserForm窗口的交互中,如何实现记录的编辑和保存

    今日内容回向:

    1 如何实现记录的编辑和保存?

    2 连接ADO连接EXCEL中,为了实现编辑和保存要进行什么设置?

    展开全文
  • C#/VB.NET Excel数据分列

    2019-10-02 02:57:31
    有时候我们需要将保存在Excel单元格中的组合型数据拆分为多列(如将全名拆分为姓和名两列)以方便我们处理、记忆或保存。为了避免重复和大量的手动输入工作,Excel给我们提供了一个数据分列的功能。下面这幅图展示了...
  • VB】MSHFlexGrid表格数据导出到Excel

    千次阅读 热门讨论 2015-08-16 10:10:19
    在VB系统中,通过添加“导出为Excel”按钮来实现将MSHFflexGrid表格中的数据导出到Excel表中,并由用户决定是否保存。 【如何实现】 定义Excel对象之前要先引用Microsoft Excel 类型库,从“工程”菜单中选择...
  • 如何在VB中操作EXCEL(一段代码,两个可以使用过程) 工程引用说明:本代码使用是基于Microsoft Excel 2003使用,未其它版本Office上测试过,因此在VB中应当引用Microsoft Excel 11.0代码其它内容说明:本...
  • MFC中将CListCtrl的数据保存Excel文件

    千次阅读 2012-08-04 17:18:11
    在开发软件时,经常要将数据输出到Excel 2000在Excel 2000对该数据进行进一步地格式化处理或进行计算处理。在Visual Basic处理起来较简单,Excel 2000的VB编程帮助有较为详细介绍。在Visual C++中如何...
  • 我正在做一个串口测试平台,为了 实现串口监视功能,我希望能把采样到 数据定时导出到EXCEL文件,这些文件以导出时间为文件名,不能保存在同一个EXCEL文件,希望高手们能帮我想想办法。
  • 现在,各类数据分析的书籍,都可以网上找到PDF版本;同时,百度文库、各类数据统计文库、行业研究...今天,就给大家解决这个问题,利用Python,将PDF中的表格和数据读取出来,并写入EXCEL保存到本地;先上代码,...
  • VB操作EXCEL技巧

    热门讨论 2008-03-05 11:24:40
    而是慢在EXCEL设置单元格背景色上,大家到时看进程管理器就知道怎么回事。用来哄女孩子还是不错,呵呵。 还有一些很简单功能我没有写上,比如字体和颜色设置什么,都只要一句代码就能解决。读者自己加上吧...
  • 当我们想把SQL中的数据导出到其他的数据源,或者从其他的数据源中导入到SQL数据库或表中时,一般都是用一些SQL语句或工具控件来实现,但数据量很大或者对SQL不太熟悉时,应该如何去做,有一个比较简单的方法: ...
  • 当我们想把SQL中的数据导出到其他的数据源,或者从其他的数据源中导入到SQL数据库或表中时,一般都是用一些SQL语句或工具控件来实现,但数据量很大或者对SQL不太熟悉时,应该如何去做,有一个比较简单的方法: 1....
  • 我们学习了进行批量工作薄汇总的过程,碰到工作薄已经被打开的情况要如何处理,其实按照正常的逻辑来说,进行批量工作薄汇总之前,应该首先确保所有的工作薄都已经关闭并且相应的数据已经做好了保存,...
  • 3、编辑完模板,保存后,数据保存在exe文件里。 说明:只需要完成上面提到1-3功能,其他暂时不能考虑,用什么方法完成都行。 特别说明:模板有VBA代码,打开模板后一定要能运行宏代码哦!!!
  • (代码为蓝色,红色为背景知识) 呵,第一次这里发贴,我这两天整理了下如何保存文本框中的信息,写出来和大家交流下,也不知道我说得清楚不清楚,(从小到大我语文就不好)。这些信息都是从网上找来的,并...
  • Excel_VBA教程

    2014-09-22 11:36:34
    第七课 如何在EXCEL里使用定时器 20 三、学习微软 EXCEL 2002 VBA 编程和XML,ASP技术 22 第一章 电子表格自动化简介和了解宏命令 22 1了解宏 22 2宏命令普通应用 22 3写宏之前计划 23 4录制宏 24 5运行宏 26 6...
  • 微软 VB2010 源码包

    2013-05-22 02:21:18
    Excel:演示如何使用 Visual Basic 启动 Excel、从模板创建工作簿、更新工作表中的单元格、工作簿中填充图形以及执行其他任务 Game:演示 My 功能、面向对象编程和绘图。 Logging:使用 My.Application.Log 对象...
  • ExcelVBA程序设计.doc

    2011-04-05 21:32:51
    第七课 如何在EXCEL里使用定时器 20 三、学习微软 EXCEL 2002 VBA 编程和XML,ASP技术 22 第一章 电子表格自动化简介和了解宏命令 22 1了解宏 22 2宏命令普通应用 22 3写宏之前计划 23 4录制宏 24 5运行宏 26 6...
  • Excel VBA程序设计.doc

    2009-07-06 22:16:12
    第七课 如何在Excel里使用定时器 29 三、学习微软 Excel 2002 VBA 编程和XML,ASP技术 31 第一章 电子表格自动化简介和了解宏命令 31 1了解宏 31 2宏命令普通应用 31 3写宏之前计划 32 4录制宏 33 5运行宏 34 6...
  • Excel_VBA程序设计.pdf

    热门讨论 2009-08-31 23:05:20
    第七课 如何在Excel里使用定时器 29 三、学习微软 Excel 2002 VBA 编程和XML,ASP技术 31 第一章 电子表格自动化简介和了解宏命令 31 1了解宏 31 2宏命令普通应用 31 3写宏之前计划 32 4录制宏 33 5运行宏 34 6...
  • 第七课 如何在Excel里使用定时器 21 三、学习微软 Excel 2002 VBA 编程和XML,ASP技术 22 第一章 电子表格自动化简介和了解宏命令 22 1了解宏 22 2宏命令普通应用 22 3写宏之前计划 22 4录制宏 24 5运行宏 25 6...
  • Excel VBA 基础教程

    2019-01-01 18:51:06
    ........................................................................EXCEL环境基于应用程序自动化优点................................................................................1 1.3 录制简单...

空空如也

空空如也

1 2 3
收藏数 55
精华内容 22
关键字:

vb中的数据如何保存在excel