精华内容
下载资源
问答
  • VBA自学应用(2)——制作简单的数据录入窗口

    万次阅读 热门讨论 2019-12-29 19:24:50
    现如今有两张表,一张产品表,一张录入表,如图所示。 如今我们要做出如下效果:

    现如今有两张表,一张产品表,一张录入表,如图所示。
    在这里插入图片描述
    在这里插入图片描述
    我们要做出如下效果:
    在这里插入图片描述
    达成这样的效果其实也不难,就让我们一步步来!

    一、画一个你的窗体

    1. 首先在标签栏找到开发工具中的VB编辑器并打开

    在这里插入图片描述

    1. 然后右键新建一个用户窗体

    在这里插入图片描述

    1. 然后选中窗体模块,按F4打开窗体属性窗口(也可以在视图选项卡中打开),这里可以设置窗体的各种属性

    在这里插入图片描述

    1. 接下来在视图选项卡下找到工具箱,用工具箱画出所需要的控件

    在这里插入图片描述

    二、编写窗体代码

    1. 先双击窗体,在如图所示的地方找到UserForm对应的事件(UserForm_Initialize=窗体名称_事件)

    在这里插入图片描述
    在这里插入图片描述
    写入以下代码

    Private Sub UserForm_Initialize()
        arr = Sheets("产品表").Range("a1").CurrentRegion
        With ListBox1
        '设置列表框属性
            .List = arr
            .MultiSelect = fmMultiSelectExtended
            .ColumnCount = UBound(arr, 2)
            .ListStyle = fmListStyleOption
            LISTBOX_Post_Flag = 1
            LISTBOX_Mouse_Flag = 1
        End With
    End Sub
    

    当然你也可以直接在列表框的属性窗口中设置他的属性

    1. 第二步,按照上述方法找到ListBox1_DblClick,写入以下代码
    Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
        '双击的时候也可以更改数据
        Dim crr()
        Dim m As Long
        For i = 0 To ListBox1.ListCount - 1
            If ListBox1.Selected(i) = True Then
                m = m + 1
                ReDim Preserve crr(1 To ListBox1.ColumnCount, 1 To m)
                For j = 0 To ListBox1.ColumnCount - 1
                    crr(j + 1, m) = ListBox1.List(i, j)
                Next
            End If
        Next
        If m > 0 Then ActiveCell.Resize(m, j) = Application.Transpose(crr)
    End Sub
    
    1. 第三步,为你需要查找的项目进行模糊匹配设置代码
    Private Sub TextBox1_Change()
        '模糊匹配
        Dim drr()
        Dim n As Long
        arr = Sheets("产品表").Range("A1").CurrentRegion
        For i = 1 To UBound(arr)
            If InStr(CStr(arr(i, 1)), TextBox1.Text) > 0 Then
                n = n + 1
                ReDim Preserve drr(1 To ListBox1.ColumnCount, 1 To n)
                For j = 1 To UBound(arr, 2)
                    drr(j, n) = arr(i, j)
                Next
            End If
        Next
        If n > 1 Then
            ListBox1.List = Application.Transpose(drr)
        ElseIf n = 1 Then
            ReDim crr(1 To 1, 1 To UBound(drr))
            For i = 1 To UBound(drr)
                crr(1, i) = drr(i, 1)
            Next
            ListBox1.List = crr
        Else
            ListBox1.Clear
        End If
    End Sub
    
    1. 第四步,为关闭和录入按钮编写代码
    • 关闭
    Private Sub CommandButton2_Click()
        Unload Me
    End Sub
    
    • 录入
    Private Sub CommandButton1_Click()
        '录入
        
        Dim brr(), grr
        Dim k As Long, m As Long
        For i = 0 To ListBox1.ListCount - 1
            If ListBox1.Selected(i) = True Then
                k = k + 1
                ReDim Preserve brr(1 To ListBox1.ColumnCount, 1 To k)
                For j = 0 To ListBox1.ColumnCount - 1
                    brr(j + 1, k) = ListBox1.List(i, j)
                    '选中的数据存入数组brr
                Next
            End If
        Next
        If k = 0 Then MsgBox "请选择数据": Exit Sub
        grr = Application.Transpose(brr)
        If k > 0 Then
            If k = 1 Then
                For i = 1 To UBound(grr)
                    
                    ActiveCell.Offset(, m) = grr(i)
                    m = m + 1
                Next
                ActiveCell.Offset(1).Select
            Else
                For i = 1 To UBound(grr)
                    For j = 1 To UBound(grr, 2)
                        ActiveCell.Offset(, m) = grr(i, j)
                        m = m + 1
                    Next
                    ActiveCell.Offset(1).Select
                    m = 0
                Next
            End If
        End If
        '取消选中
        Cells(Rows.Count, "B").End(3).Offset(1).Select
    End Sub
    
    • 这里可以使用小技巧取消窗口自带的关闭按钮事件,找到对应事件键入以下代码就可以啦!
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
        If CloseMode <> vbFormCode Then Cancel = True
    End Sub
    

    三、使用工作表事件激活窗体

    右键双击对应工作表
    在这里插入图片描述
    按照找窗体事件的方法找到BeforeDoubleClick事件,代码如下

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
        If Intersect(Target, Range("b5:b100")) Is Nothing Then Exit Sub
        Cancel = True
        UserForm1.Show Model
    End Sub
    

    四、补充:关于鼠标在listbox中的滚轮实现

    相关代码请移步→列表框实现鼠标滚轮滚动Demo

    • 首先,在上述代码的模块之下,定义一个变量,如图所示
      在这里插入图片描述
    • 第二步,将图示部分改成你定义的变量名称
    • 在这里插入图片描述
      在这里插入图片描述
    • 最后,只需要在对应listbox的mousemove事件下键入如下代码即可以实现滚轮效果
    Private Sub ListBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
        HookListBoxScroll
        Set frmlistbox = Userform1.ListBox1
    End Sub
    
    Private Sub ListBox2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
        HookListBoxScroll
        Set frmlistbox = Userform1.ListBox2
    End Sub
    
    展开全文
  • EXCEL在办公软件中占据着相当重要的地位,用途不必多说,可以说是成为每个职业人员必会的软件没有之一,前天我的一位朋友给我打来电话说:“他在单位加班呢,做了一个很大的表格,在录入和修改下边的文字的时由于看...

    EXCEL在办公软件中占据着相当重要的地位,用途不必多说,可以说是成为每个职业人员必会的软件没有之一,前天我的一位朋友给我打来电话说:“他在单位加班呢,做了一个很大的表格,在录入和修改下边的文字的时由于看不到表头而苦恼,并且时不时的拉滚动条看一下子,很容易的撺行,并且也很容易的出错。咨询我能不能解决一下此问题。”我听了以后说这太简单了吧,你可以冻结窗格啊,所以直接把表头和首列冻结了不就行了吗?动态演示如下:

    d2474dd9cd2b5e4972e3f6dc0e519962.gif

    冻结首行

    另外右边的内容看不到的话你也可以冻结首列啊呀,然后拖动的制作不就可以了吗?操作如下:

    1fe0ea523a79fdfc7f65aceded1a278a.gif

    冻结首列

    并且在给大家介绍一个技巧,可以同时冻结多行多列啊,比如说要冻结第一行和第二行以及第一列和第二列的话,那么只需要第三行和第三列的交叉处单击一下子,从冻结中选择冻结窗格即可,也可以实现多行多列的冻结啊。动态演示如下操作:

    展开全文
  • Excel 冻结窗口

    千次阅读 2011-06-13 15:46:00
    如果只想冻结第一排、第一列,需要先点击b2数据块,再点窗口、冻结窗格就可以实现。如果想冻结前两排、第一列,需要先点击b3数据块,再点窗口、冻结窗格就可以实现。如果想冻结第一排、前两列,需要先点击c2数据块,...
    如果只想冻结第一排、第一列,需要先点击b2数据块,再点窗口、冻结窗格就可以实现。

    如果想冻结前两排、第一列,需要先点击b3数据块,再点窗口、冻结窗格就可以实现。

    如果想冻结第一排、前两列,需要先点击c2数据块,再点窗口、冻结窗格就可以实现。

    一、建立分类下拉列表填充项

    我们常常要将企业的名称输入到表格中,为了保持名称的一致性,利用“数据有效性”功能建了一个分类下拉列表填充项。

    1.在Sheet2中,将企业名称按类别(如“工业企业”、“商业企业”、“个体企业”等)分别输入不同列中,建立一个企业名称数据库。

    2.选中A列(“工业企业”名称所在列),在“名称”栏内,输入“工业企业”字符后,按“回车”键进行确认。

    仿照上面的操作,将B、C……列分别命名为“商业企业”、“个体企业”……

    3.切换到Sheet1中,选中需要输入“企业类别”的列(如C列),执行“数据→有效性”命令,打开“数据有效性”对话框。在“设置”标签中,单击“允许”右侧的下拉按钮,选中“序列”选项,在下面的“来源”方框中,输入“工业企业”,“商业企业”,“个体企业”……序列(各元素之间用英文逗号隔开),确定退出。

    再选中需要输入企业名称的列(如D列),再打开“数据有效性”对话框,选中“序列”选项后,在“来源”方框中输入公式:=INDIRECT(C1),确定退出。

    4.选中C列任意单元格(如C4),单击右侧下拉按钮,选择相应的“企业类别”填入单元格中。然后选中该单元格对应的D列单元格(如D4),单击下拉按钮,即可从相应类别的企业名称列表中选择需要的企业名称填入该单元格中。

    提示:在以后打印报表时,如果不需要打印“企业类别”列,可以选中该列,右击鼠标,选“隐藏”选项,将该列隐藏起来即可。

    二、建立“常用文档”新菜单

    在菜单栏上新建一个“常用文档”菜单,将常用的工作簿文档添加到其中,方便随时调用。
    1.在工具栏空白处右击鼠标,选“自定义”选项,打开“自定义”对话框。在“命令”标签中,选中“类别”下的“新菜单”项,再将“命令”下面的“新菜单”拖到菜单栏。

    按“更改所选内容”按钮,在弹出菜单的“命名”框中输入一个名称(如“常用文档”)。 2.再在“类别”下面任选一项(如“插入”选项),在右边“命令”下面任选一项(如“超链接”选项),将它拖到新菜单(常用文档)中,并仿照上面的操作对它进行命名(如“工资表”等),建立第一个工作簿文档列表名称。

    重复上面的操作,多添加几个文档列表名称。

    3.选中“常用文档”菜单中某个菜单项(如“工资表”等),右击鼠标,在弹出的快捷菜单中,选“分配超链接→打开”选项,打开“分配超链接”对话框。通过按“查找范围”右侧的下拉按钮,定位到相应的工作簿(如“工资.xls”等)文件夹,并选中该工作簿文档。

    重复上面的操作,将菜单项和与它对应的工作簿文档超链接起来。

    4.以后需要打开“常用文档”菜单中的某个工作簿文档时,只要展开“常用文档”菜单,单击其中的相应选项即可。

    提示:尽管我们将“超链接”选项拖到了“常用文档”菜单中,但并不影响“插入”菜单中“超链接”菜单项和“常用”工具栏上的“插入超链接”按钮的功能。

    三、让不同类型数据用不同颜色显示

    在工资表中,如果想让大于等于2000元的工资总额以“红色”显示,大于等于1500元的工资总额以“蓝色”显示,低于1000元的工资总额以“棕色”显示,其它以“黑色”显示,我们可以这样设置。

    1.打开“工资表”工作簿,选中“工资总额”所在列,执行“格式→条件格式”命令,打开“条件格式”对话框。单击第二个方框右侧的下拉按钮,选中“大于或等于”选项,在后面的方框中输入数值“2000”。单击“格式”按钮,打开“单元格格式”对话框,将“字体”的“颜色”设置为“红色”。

    2.按“添加”按钮,并仿照上面的操作设置好其它条件(大于等于1500,字体设置为“蓝色”;小于1000,字体设置为“棕色”)。

    3.设置完成后,按下“确定”按钮。 看看工资表吧,工资总额的数据是不是按你的要求以不同颜色显示出来了。

    四、制作“专业符号”工具栏

    在编辑专业表格时,常常需要输入一些特殊的专业符号,为了方便输入,我们可以制作一个属于自己的“专业符号”工具栏。

    1.执行“工具→宏→录制新宏”命令,打开“录制新宏”对话框,输入宏名如“fuhao1” 并将宏保存在“个人宏工作簿”中,然后“确定”开始录制。选中“录制宏”工具栏上的“相对引用”按钮,然后将需要的特殊符号输入到某个单元格中,再单击“录制宏”工具栏上的“停止”按钮,完成宏的录制。

    仿照上面的操作,一一录制好其它特殊符号的输入“宏”。

    2.打开“自定义”对话框,在“工具栏”标签中,单击“新建”按钮,弹出“新建工具栏”对话框,输入名称——“专业符号”,确定后,即在工作区中出现一个工具条。

    切换到“命令”标签中,选中“类别”下面的“宏”,将“命令”下面的“自定义按钮”项拖到“专业符号”栏上(有多少个特殊符号就拖多少个按钮)。

    3.选中其中一个“自定义按钮”,仿照第2个秘技的第1点对它们进行命名。

    4.右击某个命名后的按钮,在随后弹出的快捷菜单中,选“指定宏”选项,打开“指定宏”对话框,选中相应的宏(如fuhao1等),确定退出。

    重复此步操作,将按钮与相应的宏链接起来。

    5.关闭“自定义”对话框,以后可以像使用普通工具栏一样,使用“专业符号”工具栏,向单元格中快速输入专业符号了。

    五、用“视面管理器”保存多个打印页面

    有的工作表,经常需要打印其中不同的区域,用“视面管理器”吧。

    1.打开需要打印的工作表,用鼠标在不需要打印的行(或列)标上拖拉,选中它们再右击鼠标,在随后出现的快捷菜单中,选“隐藏”选项,将不需要打印的行(或列)隐藏起来。

    2.执行“视图→视面管理器”命令,打开“视面管理器”对话框,单击“添加”按钮,弹出“添加视面”对话框,输入一个名称(如“上报表”)后,单击“确定”按钮。

    3.将隐藏的行(或列)显示出来,并重复上述操作,“添加”好其它的打印视面。

    4.以后需要打印某种表格时,打开“视面管理器”,选中需要打印的表格名称,单击“显示”按钮,工作表即刻按事先设定好的界面显示出来,简单设置、排版一下,按下工具栏上的“打印”按钮,一切就OK了。

    六、让数据按需排序

    如果你要将员工按其所在的部门进行排序,这些部门名称既的有关信息不是按拼音顺序,也不是按笔画顺序,怎么办?可采用自定义序列来排序。

    1.执行“格式→选项”命令,打开“选项”对话框,进入“自定义序列”标签中,在“输入序列”下面的方框中输入部门排序的序列(如“机关,车队,一车间,二车间,三车间”等),单击“添加”和“确定”按钮退出。

    2.选中“部门”列中任意一个单元格,执行“数据→排序”命令,打开“排序”对话框,单击“选项”按钮,弹出“排序选项”对话框,按其中的下拉按钮,选中刚才自定义的序列,按两次“确定”按钮返回,所有数据就按要求进行了排序。

    七、把数据彻底隐藏起来

    工作表部分单元格中的内容不想让浏览者查阅,只好将它隐藏起来了。

    1.选中需要隐藏内容的单元格(区域),执行“格式→单元格”命令,打开“单元格格式”对话框,在“数字”标签的“分类”下面选中“自定义”选项,然后在右边“类型”下面的方框中输入“;;;”(三个英文状态下的分号)。

    2.再切换到“保护”标签下,选中其中的“隐藏”选项,按“确定”按钮退出。

    3.执行“工具→保护→保护工作表”命令,打开“保护工作表”对话框,设置好密码后,“确定”返回。

    经过这样的设置以后,上述单元格中的内容不再显示出来,就是使用Excel的透明功能也不能让其现形。

    提示:在“保护”标签下,请不要清除“锁定”前面复选框中的“∨”号,这样可以防止别人删除你隐藏起来的数据。

    八、让中、英文输入法智能化地出现

    在编辑表格时,有的单元格中要输入英文,有的单元格中要输入中文,反复切换输入法实在不方便,何不设置一下,让输入法智能化地调整呢?

    选中需要输入中文的单元格区域,执行“数据→有效性”命令,打开“数据有效性”对话框,切换到“输入法模式”标签下,按“模式”右侧的下拉按钮,选中“打开”选项后,“确定”退出。

    以后当选中需要输入中文的单元格区域中任意一个单元格时,中文输入法(输入法列表中的第1个中文输入法)自动打开,当选中其它单元格时,中文输入法自动关闭。

    九、让“自动更正”输入统一的文本

    你是不是经常为输入某些固定的文本,如《电脑报》而烦恼呢?那就往下看吧。

    1.执行“工具→自动更正”命令,打开“自动更正”对话框。

    2.在“替换”下面的方框中输入“pcw”(也可以是其他字符,“pcw”用小写),在“替换为”下面的方框中输入“《电脑报》”,再单击“添加”和“确定”按钮。

    3.以后如果需要输入上述文本时,只要输入“pcw”字符此时可以不考虑“pcw”的大小写 ,然后确认一下就成了。

    十、在Excel中自定义函数

    Excel函数虽然丰富,但并不能满足我们的所有需要。我们可以自定义一个函数,来完成一些特定的运算。下面,我们就来自定义一个计算梯形面积的函数:

    1.执行“工具→宏→Visual Basic编辑器”菜单命令(或按“Alt+F11”快捷键),打开Visual Basic编辑窗口。

    2.在窗口中,执行“插入→模块”菜单命令,插入一个新的模块——模块1。

    3.在右边的“代码窗口”中输入以下代码:

    Function V(a,b,h)
    V = h*(a+b)/2
    End Function

    4.关闭窗口,自定义函数完成。

    以后可以像使用内置函数一样使用自定义函数。

    提示:用上面方法自定义的函数通常只能在相应的工作簿中使用。

    十一、表头下面衬张图片

    为工作表添加的背景,是衬在整个工作表下面的,能不能只衬在表头下面呢?

    1.执行“格式→工作表→背景”命令,打开“工作表背景”对话框,选中需要作为背景的图片后,按下“插入”按钮,将图片衬于整个工作表下面。

    2.在按住Ctrl键的同时,用鼠标在不需要衬图片的单元格(区域)中拖拉,同时选中这些单元格(区域)。 3.按“格式”工具栏上的“填充颜色”右侧的下拉按钮,在随后出现的“调色板”中,选中“白色”。
    经过这样的设置以后,留下的单元格下面衬上了图片,而上述选中的单元格(区域)下面就没有衬图片了(其实,是图片被“白色”遮盖了)。

    提示衬在单元格下面的图片是不支持打印的。

    十二、用连字符“&”来合并文本

    如果我们想将多列的内容合并到一列中,不需要利用函数,一个小小的连字符“&”就能将它搞定(此处假定将B、C、D列合并到一列中)。

    1.在D列后面插入两个空列(E、F列),然后在D1单元格中输入公式:=B1&C1&D1。

    2.再次选中D1单元格,用“填充柄”将上述公式复制到D列下面的单元格中,B、C、D列的内容即被合并到E列对应的单元格中。

    3.选中E列,执行“复制”操作,然后选中F列,执行“编辑→选择性粘贴”命令,打开“选择性粘贴”对话框,选中其中的“数值”选项,按下“确定”按钮,E列的内容(不是公式)即被复制到F列中。

    4.将B、C、D、E列删除,完成合并工作。

    提示:完成第1、2步的操作,合并效果已经实现,但此时如果删除B、C、D列,公式会出现错误。故须进行第3步操作,将公式转换为不变的“值”。

    十三、快速打印学生成绩条

    常有朋友问“如何打印成绩条”这样的问题,有不少人采取录制宏或VBA的方法来实现,这对于初学者来说有一定难度。出于此种考虑,我在这里给出一种用函数实现的简便方法。

    此处假定学生成绩保存在Sheet1工作表的A1至G64单元格区域中,其中第1行为标题,第2行为学科名称。

    1.切换到Sheet2工作表中,选中A1单元格,输入公式:=IF(MOD(ROW(),3)=0,〃〃,IF(0MODROW(),3(=1,sheet1!A$2,INDEX(sheet1!$A:$G,INT(((ROW()+4)/3)+1),COLUMN())))。 2.再次选中A1单元格,用“填充柄”将上述公式复制到B1至G1单元格中;然后,再同时选中A1至G1单元格区域,用“填充柄”将上述公式复制到A2至G185单元格中。

    至此,成绩条基本成型,下面简单修饰一下。

    3.调整好行高和列宽后,同时选中A1至G2单元格区域(第1位学生的成绩条区域),按“格式”工具栏“边框”右侧的下拉按钮,在随后出现的边框列表中,选中“所有框线”选项,为选中的区域添加边框(如果不需要边框,可以不进行此步及下面的操作)。

    4.同时选中A1至G3单元格区域,点击“常用”工具栏上的“格式刷”按钮,然后按住鼠标左键,自A4拖拉至G186单元格区域,为所有的成绩条添加边框。

    按“打印”按钮,即可将成绩条打印出来。

    十四、Excel帮你选函数

    在用函数处理数据时,常常不知道使用什么函数比较合适。Excel的“搜索函数”功能可以帮你缩小范围,挑选出合适的函数。

    执行“插入→函数”命令,打开“插入函数”对话框,在“搜索函数”下面的方框中输入要求(如“计数”),然后单击“转到”按钮,系统即刻将与“计数”有关的函数挑选出来,并显示在“选择函数”下面的列表框中。再结合查看相关的帮助文件,即可快速确定所需要的函数。

    十五、同时查看不同工作表中多个单元格内的数据

    有时,我们编辑某个工作表(Sheet1)时,需要查看其它工作表中(Sheet2、Sheet3……)某个单元格的内容,可以利用Excel的“监视窗口”功能来实现。

    执行“视图→工具栏→监视窗口”命令,打开“监视窗口”,单击其中的“添加监视”按钮,展开“添加监视点”对话框,用鼠标选中需要查看的单元格后,再单击“添加”按钮。重复前述操作,添加其它“监视点”。

    以后,无论在哪个工作表中,只要打开“监视窗口”,即可查看所有被监视点单元格内的数据和相关信息。

    十六、为单元格快速画边框

    在Excel 2002以前的版本中,为单元格区域添加边框的操作比较麻烦,Excel 2002对此功能进行了全新的拓展。

    单击“格式”工具栏上“边框”右侧的下拉按钮,在随后弹出的下拉列表中,选“绘图边框”选项,或者执行“视图→工具栏→边框”命令,展开“边框”工具栏。

    单击工具栏最左侧的下拉按钮,选中一种边框样式,然后在需要添加边框的单元格区域中拖拉,即可为相应的单元格区域快速画上边框。

    提示:①如果画错了边框,没关系,选中工具栏上的“擦除边框”按钮,然后在错误的边框上拖拉一下,就可以清除掉错误的边框。②如果需要画出不同颜色的边框,可以先按工具栏右侧的“线条颜色”按钮,在随后弹出的调色板中选中需要的颜色后,再画边框即可。③这一功能还可以在单元格中画上对角的斜线。

    十七、控制特定单元格输入文本的长度

    你能想象当你在该输入四位数的单元格中却填入了一个两位数,或者在该输入文字的单元格中你却输入了数字的时候,Excel就能自动判断、即时分析并弹出警告,那该多好啊!要实现这一功能,对Excel来说,也并不难。

    例如我们将光标定位到一个登记“年份”的单元格中,为了输入的统一和计算的方便,我们希望“年份”都用一个四位数来表示。所以,我们可以单击“数据”菜单的“有效性”选项。在“设置”卡片“有效性条件”的“允许”下拉菜单中选择“文本长度”。然后在“数据”下拉菜单中选择“等于”,且“长度”为“4”。同时,我们再来到“出错警告”卡片中,将“输入无效数据时显示的出错警告”设为“停止”,并在“标题”和“错误信息”栏中分别填入“输入文本非法!”和“请输入四位数年份。”字样。

    很显然,当如果有人在该单元格中输入的不是一个四位数时,Excel就会弹出示的警告对话框,告诉你出错原因,并直到你输入了正确“样式”的数值后方可继续录入。神奇吧?其实,在Excel的“数据有效性”判断中,还有许多特殊类型的数据格式可选,比如“文本类型”啊,“序列大小”啊,“时间远近”啊,如你有兴趣,何不自作主张,自己设计一种检测标准,让你的Excel展示出与众不同的光彩呢。

    十八、成组填充多张表格的固定单元格

    我们知道每次打开Excel,软件总是默认打开多张工作表。由此就可看出Excel除了拥有强大的单张表格的处理能力,更适合在多张相互关联的表格中协调工作。要协调关联,当然首先就需要同步输入。因此,在很多情况下,都会需要同时在多张表格的相同单元格中输入同样的内容。

    那么如何对表格进行成组编辑呢?首先我们单击第一个工作表的标签名“Sheet1”,然后按住Shift键,单击最后一张表格的标签名“Sheet3”(如果我们想关联的表格不在一起,可以按住Ctrl键进行点选)。此时,我们看到Excel的标题栏上的名称出现了“工作组”字样,我们就可以进行对工作组的编辑工作了。在需要一次输入多张表格内容的单元格中随便写点什么,我们发现,“工作组”中所有表格的同一位置都显示出相应内容了。

    但是,仅仅同步输入是远远不够的。比如,我们需要将多张表格中相同位置的数据统一改变格式该怎么办呢?首先,我们得改变第一张表格的数据格式,再单击“编辑”菜单的“填充”选项,然后在其子菜单中选择“至同组工作表”。这时,Excel会弹出“填充成组工作表”的对话框,在这里我们选择“格式”一项,点“确定”后,同组中所有表格该位置的数据格式都改变了。

    十九、改变文本的大小写

    在Excel中,为表格处理和数据运算提供最强大支持的不是公式,也不是数据库,而是函数。不要以为Excel中的函数只是针对数字,其实只要是写进表格中的内容,Excel都有对它编辑的特殊函数。例如改变文本的大小写。

    在Excel 2002中,至少提供了三种有关文本大小写转换的函数。它们分别是:“=UPPER(源数据格)”,将文本全部转换为大写;“=LOWER(源数据格)”,将文本全部转换成小写;“=PROPER(源数据格)”,将文本转换成“适当”的大小写,如让每个单词的首字母为大写等。例如,我们在一张表格的A1单元格中输入小写的“excel”,然后在目标单元格中输入“=UPPER(A1)”,回车后得到的结果将会是“EXCEL”。同样,如果我们在A3单元格中输入“mr.weiwei”,然后我们在目标单元格中输入“=PROPER(A3)”,那么我们得到的结果就将是“Mr.Weiwei”了。

    二十、提取字符串中的特定字符

    除了直接输入外,从已存在的单元格内容中提取特定字符输入,绝对是一种省时又省事的方法,特别是对一些样式雷同的信息更是如此,比如员工名单、籍贯等信息。

    如果我们想快速从A4单元格中提取称谓的话,最好使用“=RIGHT(源数据格,提取的字符数)”函数,它表示“从A4单元格最右侧的字符开始提取2个字符”输入到此位置。当然,如果你想提取姓名的话,则要使用“=LEFT(源数据格,提取的字符数)”函数了。还有一种情况,我们不从左右两端开始,而是直接从数据中间提取几个字符。比如我们要想从A5单元格中提取“武汉”两个字时,就只须在目标单元格中输入“=MID(A5,4,2)”就可以了。意思是:在A5单元格中提取第4个字符后的两个字符,也就是第4和第5两个字。

    二十一、把基数词转换成序数词

    将英文的基数词转换成序数词是一个比较复杂的问题。因为它没有一个十分固定的模式:大多数的数字在变成序数词都是使用的“th”后缀,但大凡是以“1”、“2”、“3”结尾的数字却分别是以“st”、“nd”和“rd”结尾的。而且,“11”、“12”、“13”这3个数字又不一样,它们却仍然是以“th”结尾的。因此,实现起来似乎很复杂。其实,只要我们理清思路,找准函数,只须编写一个公式,就可轻松转换了。不信,请看:“=A2&IF(OR(value(RIGHT(A2,2))={11,12,13}),〃th〃,IF(OR(value(RIGHT(A2))={1,2,3,},CHOOSE(RIGHT(A2),〃st〃,〃nd〃,〃rd〃),〃th〃))”。该公式尽管一长串,不过含义却很明确:①如果数字是以“11”、“12”、“13”结尾的,则加上“th”后缀;②如果第1原则无效,则检查最后一个数字,以“1”结尾使用“st”、以“2”结尾使用“nd”、以“3”结尾使用“rd”;③如果第1、2原则都无效,那么就用“th”。因此,基数词和序数词的转换实现得如此轻松和快捷。

    二十二、用特殊符号补齐位数

    和财务打过交道的人都知道,在账面填充时有一种约定俗成的“安全填写法”,那就是将金额中的空位补齐,或者在款项数据的前面加上“$”之类的符号。其实,在Excel中也有类似的输入方法,那就是“REPT”函数。它的基本格式是“=REPT(“特殊符号”,填充位数)”。

    比如,我们要在中A2单元格里的数字结尾处用“#”号填充至16位,就只须将公式改为“=(A2&REPT(〃#〃,16-LEN(A2)))”即可;如果我们要将A3单元格中的数字从左侧用“#”号填充至16位,就要改为“=REPT(〃#〃,16-LEN(A3)))&A3”;另外,如果我们想用“#”号将A4中的数值从两侧填充,则需要改为“=REPT(〃#〃,8-LEN(A4)/2)&A4&REPT(〃#〃)8-LEN(A4)/2)”;如果你还嫌不够专业,要在A5单元格数字的顶头加上“$”符号的话,那就改为:“=(TEXT(A5,〃$#,##0.00〃(&REPT(〃#〃,16-LEN(TEXT(A5,〃$#,##0.00〃))))”,一定能满足你的要求。

    二十三、创建文本直方图

    除了重复输入之外,“REPT”函数另一项衍生应用就是可以直接在工作表中创建由纯文本组成的直方图。它的原理也很简单,就是利用特殊符号的智能重复,按照指定单元格中的计算结果表现出长短不一的比较效果。

    比如我们首先制作一张年度收支平衡表,然后将“E列”作为直方图中“预算内”月份的显示区,将“G列”则作为直方图中“超预算”的显示区。然后根据表中已有结果“D列”的数值,用“Wingdings”字体的“N”字符表现出来。具体步骤如下:

    在E3单元格中写入公式“=IF(D3<0,REPT(〃n〃,-ROUND(D3*100,0)),〃〃)”,然后选中它并拖动“填充柄”,使E列中所有行都能一一对应D列中的结果;接着在G3单元格中写入公式“=IF(D3>0,REPT(〃n〃,ROUND(D3*100,0)),〃〃)”,也拖动填充柄至G14。我们看到,一个没有动用Excel图表功能的纯文本直方图已展现眼前,方便直观,简单明了。

    二十四、计算单元格中的总字数

    有时候,我们可能对某个单元格中字符的数量感兴趣,需要计算单元格中的总字数。要解决这个问题,除了利用到“SUBSTITUTE”函数的虚拟计算外,还要动用“TRIM”函数来删除空格。比如现在A1单元格中输入有“how many words?”字样,那么我们就可以用如下的表达式来帮忙:

    “=IF(LEN(A1)=0,0,LEN(TRIM(A1))-LEN(SUBSTITUTE(TRIM(A1),〃,〃,〃〃))+1)”

    该式的含义是先用“SUBSTITUTE”函数创建一个新字符串,并且利用“TRIM”函数删除其中字符间的空格,然后计算此字符串和原字符串的数位差,从而得出“空格”的数量,最后将空格数+1,就得出单元格中字符的数量了。

    二十五、关于欧元的转换

    这是Excel 2002中的新工具。如果你在安装Excel 2002时选择的是默认方式,那么很可能不能在“工具”菜单中找到它。不过,我们可以先选择“工具”菜单中的“加载宏”,然后在弹出窗口中勾选“欧元工具”选项,“确定”后Excel 2002就会自行安装了。

    完成后我们再次打开“工具”菜单,单击“欧元转换”,一个独立的专门用于欧元和欧盟成员国货币转换的窗口就出现了。与Excel的其他函数窗口一样,我们可以通过鼠标设置货币转换的“源区域”和“目标区域”,然后再选择转换前后的不同币种即可。所示的就是“100欧元”分别转换成欧盟成员国其他货币的比价一览表。当然,为了使欧元的显示更显专业,我们还可以点击Excel工具栏上的“欧元”按钮,这样所有转换后的货币数值都是欧元的样式了。

    二十六、给表格做个超级搜索引擎

    我们知道,Excel表格和Word中的表格最大的不同就是Excel是将填入表格中的所有内容(包括静态文本)都纳入了数据库的范畴之内。我们可以利用“函数查询”,对目标数据进行精确定位,就像网页中的搜索引擎一样。

    比如在所示的表格中,从A1到F7的单元格中输入了多名同学的各科成绩。而在A8到A13的单元格中我们则建立了一个“函数查询”区域。我们的设想是,当我们在“输入学生姓名”右边的单元格,也就是C8格中输入任何一个同学的名字后,其下方的单元格中就会自动显示出该学生的各科成绩。具体实现的方法如下:

    将光标定位到C9单元格中,然后单击“插入”之“函数”选项。在如图18弹出的窗口中,选择 “VLOOKUP” 函数,点“确定”。在随即弹出的“函数参数”窗口中我们设置“Lookup_value”(指需要在数据表首列中搜索的值)为“C8”(即搜索我们在C8单元格中填入的人名);“Table_array”(指数据搜索的范围)为“A2∶B6”(即在所有学生的“语文”成绩中搜索);“Col_vindex_num”(指要搜索的数值在表格中的序列号)为“2”(即数值在第2列);“Range_lookup”(指是否需要精确匹配)为“FALSE”(表明不是。如果是,就为“TURE”)。设定完毕按“确定”。
    如果 你要冻结A列 那选择B列 然后在菜单的窗口里选择“冻结窗格”

    如果 你要冻结1行 那选择2行 然后在菜单的窗口里选择“冻结窗
    展开全文
  • 我们在使用excel表格的过程中,除了平常一些数据的录入和表格的制作之外,有时还会在表格中制作一些下拉框的功能,然后根据制定的条件进行下拉框的选择,那么,怎么通过execl表格来制作这种功能效果呢?以excel表格...

    我们在使用excel表格的过程中,除了平常一些数据的录入和表格的制作之外,有时还会在表格中制作一些下拉框的功能,然后根据制定的条件进行下拉框的选择,那么,怎么通过execl表格来制作这种功能效果呢?以excel表格2010版为例,小编跟大家分享一下制作下拉菜单的方法和步骤。

    excel表格下拉菜单怎么做

    打开excel表格,在这里主要是一个百度经验相关的数据,有经验数,投票数,评论数,粉丝数和红包数,在这里主要以红包数作为下拉菜单。(如下图)

    9f5190bf061404a98b9153524a0b2b89.png

    在需要进行下拉框菜单选择的表格中,进行全选。(如下图)

    c37689c7d62b4b4a68162b4ac58c22e5.png

    然后在excel表格主菜单中,选择并点击“数据”功能菜单。(如下图)

    e3aebb20248a9e05f17da8d48c70f0f9.png

    在数据菜单下面的工具中,找到“数据有效性”工具,点击下拉符号,在弹出来的功能菜单中选择“数据有效性”。

    在数据有效性设置页面,在允许条件中选择“序列”,然后点击来源右侧的图标。

    然后选择相应的数字范围,在这里百度王者红包最多是50个,所以红包的数字范围是0-50。

    选择完数据来源之后,直接点击确定按钮。

    点击确定之后,把鼠标放在在红包数列的空格中,会有下拉框图标,点击下拉图标根据发布的经验数选择相应的红包数字。

    通过以上的操作,对于excel下拉菜单怎么做应该没有什么问题了。觉得有用的就赶紧试试吧。

    图片来源:网络

    展开全文
  • 14个Excel神奇功能+8个Excel小技巧+Excel常见的一些快捷键,让你的Excel技能6得飞起,每天都能提前2小时下班。14个Excel神奇功能一、《Excel如何快速还原隐藏行》在Excel中,隐藏不常用的行列有助于提高效率,但如果...
  • 当我们在Excel表格中需要输入大量的重复数据时,往往利用数据的有效性来制作一个下拉菜单以提高重复数据的输入速度。但在实际的操作过程中,必须选中需要输入重复数据的单元格并单击该单元格右边的下拉箭头,才可以...
  • 此工具是VBA开发,有录入绑定数据功能,可根据不同需求变更设置,扫描绑定数据自动录入Excel,可用于不同环境,工厂记录关联数据等
  • Excel:让成绩录入更智能(转) 我是一位小学教师,在Excel中设计了一种智能成绩录入单(如图1)。  三大功能 功能一:在“成绩”列输入成绩后,在“等第”列就能智能地显示出相应的“等第”,如果“等第”为...
  • Excel:自动录入学生的基本情况信息表(转)  用Excel完成工作,把数据录入到工作表中是最基础的步骤。也许大家在想:这有什么好学的,只要会打字不就行了吗?  实际情况可不是想像中这么简单,不同的工作需要不同...
  • EXCEL VBA通过access提取数据进行多字段查询
  • 通常情况下,我们是通过通过数据验证(数据有效性)功能,输入固定的序列来源,就可以完成一个简单的下拉菜单功能(如下图),但是这样制作出来的下拉菜单内容是固定不变的,要想增加或删除菜单内容就得重复操作。...
  • 今天给大家整理了35个Excel的实用技巧,记得收藏备用哦。©整理,编辑,排版,审核:王庆技巧1:单元格内强制换行在单元格中某个字符后按alt+回车键,即可强制把光标换到下一行中;技巧2:锁定标题行选取第2行,视图...
  • 电脑Excel表格中数据透视图怎么制作腾讯视频/爱奇艺/优酷/外卖 充值4折起我们在使用excel表格办公的时候,有时候会需要使用到数据透视表。今天小编就告诉大家电脑Excel表格中数据透视图怎么制作。具体如下:1. 小编...
  • 如何用一个excel表格上的数据做曲线图。方法一个连续区域,通过“框”输入地选中单元格,如选中A列的A3:A8区域,在名称框中输入“A3:A8”后回车,即可选中。方法二:选中满足条件的单元格,如选中A列中大于5的数据...
  • 2. 如何制作下拉列表式的单元格?  通过 数据|有效性 ,选择序列,  例如 技术部, 销售部, 生产部 3. 通过有效性可以设定文本长度,通过其中的自定义  可以设置文本长度为15或18  =OR(LEN(C2)=15, LEN(C2)=...
  • 录入数据时让Excel自动插入当前时间(转)[@more@]  一位网友问我,用Excel制作了一份考勤表,员工上班时,门卫在相应的单元格中输入数值1,能否让系统自动在其右边的单元格中输入相应的时间呢?  对于这个问题,.....
  • 微信搜索【亦心Excel】关注这个不一样的自媒体人。 本文GitHubhttps://github.com/hugogoos/Excel已收录,包含Excel系统学习指南系列文章,以及各种Excel资料。 我们在处理数据的时候应该经常会遇到需要对数据进行...
  • Excel里,利用数据有效性与offset、match和countif等函数配合,可以制作出根据输入字符生成可选范围的自适应下拉菜单。 利用Excel“数据有效性”当中的“序列”功能,在单元格内创建了一个下拉菜单,在进行输入时...
  • 3.stjy.py 主体窗口 4.test.db数据文件(使用sqlite3) #db.py 主要代码,第一次执行时,把 “# create_table()”中的#去掉,执行完后,在加上 import sqlite3 def create_table(): conn = sqlite3....
  • Excel使用技巧

    千次阅读 2012-06-05 18:06:51
    虽然Excel使用很简单,不过真正能用好Excel的用户并不多,很多人一直停留在录入数据的水平,本文将向你介绍一些非常使用的技巧,掌握这些技巧将大大提高你的工作效率。 ⒈快速定义工作簿格式 ⒉快速复制公式 ...
  • 主要有以下几个文件,简单说明一下1.db.py 处理sql 逻辑2.login.py 作登录使用(现在还没有实现连接数据库,只是为了功能实现)3.stjy.py 主体窗口4.test.db数据文件(使用sqlite3)#db.py 主要代码,第一次执行时,...
  • MOS Excel 笔记

    2020-04-12 12:00:20
    MOS Excel 笔记 哔哩哔哩视频地址 分享学习笔记,以方便日后查阅。 录入数据 推荐横向录入。 推荐tab: tab tab tab tab enter tab… 特殊数据录入 日期录入 必须以 - 或 / 分隔 百分比录入 推荐先修改数据类型为...
  • 分析:在excel制作下拉菜单有好几种方法,我们这里是介绍用数据有效性设置下拉菜单, 设置步骤: 步骤1:选取销售员一列需要设置下拉菜单的单元格区域(这一步不能少),打开数据有效性窗口(excel2003版数据菜单 - ...
  • excel

    2019-09-29 02:06:29
     有时,我们编辑某个工作表(Sheet1)时,需要查看其它工作表中(Sheet2、Sheet3……)某个单元格的内容,可以利用Excel的“监视窗口”功能来实现。  执行“视图→工具栏→监视窗口”命令,打开“监视窗口”,单击...
  • 使用Excel,我们可以快速的录入信息,完成形式丰富的报表,以数据和图表来讲道理。 但是Excel可不仅仅只是数据和图表,它还可以展示三维地球,制作演示视频(Tour Video)。这里就向大家简单介绍下如何使用Excel玩转三...
  • 本教材主要内容如下:1、初识电子表格2、小小单元格3、我的工作簿4、工作表5、excel中公式的使用6、excel中函数的使用7、美化工作表8、数据的排序及筛选9、excel中统计图表的制作二、学情评价1、学生学习计算机的...
  • excel系列课程excel特效系列课程!第1节:Excel有公式的单元格标记颜色,很简单!...第4节:Excel图表制作技巧之-借位法!第5节:Excel批量生成指定表名的技巧!第6节:Excel多区域条件合计的方法!第7节:E...
  • Excel用法

    2012-09-12 14:36:56
    也许你已经在Excel中完成过上百张财务报表,也许你已利用Excel函数实现过上千次的复杂运算,也许你认为Excel也不过如此,甚至了无新意。但我们平日里无数次重复的得心应手的使用方法只不过是Excel全部技巧的百分之一...
  • VFP全面控制EXCEL

    千次阅读 2018-03-11 21:23:22
    VFP全面控制EXCEL*------------------------------VFP和Excel都可以用来进行处理数据库表格,如果巧妙地将二者的优点结合起来,将会大大方便我们...下面就在开发VFP应用项目时对Excel的控制作一下介绍:1.创建Excel
  • 062招 在Excel制作垂直标题 063招 隐藏单元格中的内容 2.5 单元格、行/列的编辑技巧 064招 如何设置单元格内容自动换行 065招 快速插入单元格 066招 快速插入连续的多行/多列 067招 对多行/列数据进行移动 068招 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,556
精华内容 622
热门标签
关键字:

excel录入窗口制作