VBA窗体控件练习2

作者: 猛犸象和剑齿虎 | 来源:发表于2018-10-20 12:39 被阅读28次
控件名称标注 效果图仔细看有错误

(花点心思的时候,excel也可以做的精致。)

首先声明,这个简易版的职工档案管理系统是根据《别怕,excel vba其实很简单》这本书中的例子做的。

前几天夜里在听网易公开课app里的TED演讲中,听到有关学习类型方面的描述。

传统认为,人的记忆类型是不同的,有的人是视觉记忆者,有的人是听觉,有的人是嗅觉,有的是肌肉记忆等等,由此衍生出要针对个人制定出不同的学习方式。而人们也普遍接受这一观点,根据自我经验而认为自我擅长视觉记忆,或者听觉记忆,或者在某些特定的场景有着别人不及的天赋。

在某些场景,人忽然有一种好似经历过的感觉,比如,心中在想什么人要来的时候,那个人就到了,说曹操曹操就到,就是这个意思,从而感觉自己有着预知的天赋。

而事实并非如此,大多数人其实都一样,从出生起天赋异禀,甚至是能力偏向都没有本质上的区别,差别在于后天的经历,以及周围环境,他人以及自我心理暗示而产生我善长什么,不擅长什么的认知。

TED中,举了大量实例与论证来证明这一观点,比如在证明视觉记忆上,一张国际象棋棋盘上放了许多棋子,象棋大师可以一眼就能记忆住所有棋子的位置,而普通人只能记忆其中的三到八个棋子,这并不是说象棋大师都是优秀的视觉天赋者,事实上是象棋大师自我训练过程中不断形成的,棋子在摆放是按照国际象棋的规则摆放的,所以象棋大师才有惊人的记忆能力,当棋子再次随机摆放的时候,象棋大师与普通人没有什么本质的区别。

这一点说明我们在学习新东西的时候,事实上不存在以往经验中的擅长与不擅长的自我认知与否定,知晓这一点有助于我们在面对自我认为很困难的事情和学习上突破自我的心理障碍。

当然天赋异禀的人有,毕竟是少数。

言归正传,书中的这个例子,我初次看的时候直接略过了,因为感觉繁琐,而且难,这两天看的时候依旧看的很困惑,于是我采用了笨办法。

由于书中的控件名称都做了改动,于是我做了张图,把控件名称一一标注,从而知道各代码部分用的什么控件,然后照着代码,自己运行一边(不懂的就略过),然后把运行错误的地方改一下,点击看过程是怎样执行的,这样再次看代码就有不一样的感觉了。

代码如下:

职工档案表

Option Explicit

Dim nrow As Long

Private Sub cmdadd_Click()

If MsgBox("确定在【职工档案】中添加该员工记录吗?", vbQuestion + vbYesNo, "询问") = vbYes Then

nrow = Worksheets("职工档案").Range("a1").Range("a1").CurrentRegion.Rows.Count + 1

Call edit

End If

End Sub

Private Sub cmddel_Click()

If MsgBox("确定将该员工信息移动到【删除】工作表中吗?", vbQuestion + vbYesNo, "询问") = vbYes Then

nrow = Worksheets("职工档案").Range("a1:a65536").Find(Range("c7").Value, lookat:=xlWhole).Row

Worksheets("职工档案").Rows(nrow).Copy Worksheets("删除").Range("a63356").End(xlUp).Offset(1, 0)

Worksheets("职工档案").Cells(nrow, "a").EntireRow.Delete

End If

End Sub

Private Sub cmdedit_Click()

If MsgBox("确定修改【职工档案】中该员工的信息吗?", vbQuestion + vbYesNo, "询问") = vbYes Then

nrow = Worksheets("职工档案").Range("a1:a65536").Find(Range("c7").Value, lookat:=xlWhole).Row

Call edit

End If

End Sub

Private Sub cmdend_Click()

nrow = Worksheets("职工档案").Range("a1").CurrentRegion.Rows.Count

Call findi

End Sub

Private Sub cmdfind_Click()

Dim col As Integer

If findname.Value = True Then

col = 7

Else

col = 1

End If

With Worksheets("职工档案")

Dim rng As Range

Set rng = .Columns(col).Find(findtext.Value, lookat:=xlWhole)

If Not rng Is Nothing Then

nrow = rng.Row

Call findi

Else

MsgBox "没有记录"

End If

findtext.Value = ""

End With

End Sub

Private Sub cmdfirst_Click()

nrow = 2

Call findi

End Sub

Private Sub cmdformer_Click()

nrow = Worksheets("职工档案").Range("a2:a65536").Find(Range("c7").Value, lookat:=xlWhole).Row - 1

Call findi

End Sub

Private Sub cmdnext_Click()

nrow = Worksheets("职工档案").Range("a1:a65536").Find(Range("c7").Value, lookat:=xlWhole).Row + 1

Call findi

End Sub

Sub findi()

With Worksheets("职工档案")

Range("c7:e7").Value = .Range(.Cells(nrow, 1), .Cells(nrow, 3)).Value

Range("c10:e10").Value = .Range(.Cells(nrow, 4), .Cells(nrow, 6)).Value

Range("c13").Value = .Cells(nrow, 7).Value

Range("e13").Value = .Cells(nrow, 8).Value

Range("c16:e16").Value = .Range(.Cells(nrow, 9), .Cells(nrow, 11)).Value

Range("c19").Value = .Cells(nrow, 12).Value

End With

End Sub

Sub edit()

With Worksheets("职工档案")

.Cells(nrow, "a").Resize(1, 3) = Range("c7:e7").Value

.Cells(nrow, "d").Resize(1, 3) = Range("c10:e10").Value

.Cells(nrow, 7).Value = Range("c13").Value

.Cells(nrow, 8).Value = Range("e13").Value

.Cells(nrow, 9).Resize(1, 3).Value = Range("c16:e16").Value

.Cells(nrow, 12).Value = Range("c19").Value '

End With

End Sub

相关文章

  • VBA窗体控件练习2

    (花点心思的时候,excel也可以做的精致。) 首先声明,这个简易版的职工档案管理系统是根据《别怕,excel v...

  • VBA窗体练习

    首先推荐一本VBA入门书籍:《别怕,EXCEL VBA其实很简单》,这个例子是书上关于窗体的。 从今年5月份接触V...

  • VBA——SQL语句窗体控件运用

    这个例子是受到EXCELHOME一位大佬启发制作的。不知道各位道友发现没有,在EXCEL中用其自带的数据连接功能写...

  • 2018-04-12 窗体设计:自动调整控件大小

    1、 原始窗体: 2、 现要实现:当拖拽窗体进行伸缩变化时,窗体中包含的所有控件诸如“确定”button随着窗体大...

  • 子窗体、主窗体传参

    在主窗体里面操纵子窗体的控件 子窗体 主窗体 主窗体点击事件操作 直接在主窗体里面操纵子窗体的控件,进行一系列操作...

  • 2018-12-04

    TextBox和Button控件 共有属性: Name 窗体或控件名称一个项目中各个窗体、一个窗体上各 个控件的名...

  • 不同窗体间控件的调用

    不同窗体间控件的调用 在被调用窗体的构造方法中接受调用窗体的引用,把调用窗体的控件设置为可见

  • C#控件如何随窗体自动缩放

    控件随着窗体缩放设置情况一: 按照上图设置以后,你会发现控件会随着窗体放大缩小而变化。 控件随着窗体缩放设置情况二...

  • 控件(笔记)

    控件共有属性name 窗体或控件名称一个项目中各个窗体,一个窗体上各个控件的名称不能相同Text 显示的文本F...

  • 11月6日C#学习总结

    今天学习了模式窗体和非模式窗体、定时器控件、进度条控件。 模式窗体:模态对话框,窗体打开时,只能对其进行相应的操作...

网友评论

  • 兰郡子:很棒哦!我可能是听觉记忆类型。视觉记忆就很差。:joy::joy::joy:
    兰郡子:@猛犸象和剑齿虎 :joy::joy::joy:
    猛犸象和剑齿虎:@兰郡子 其实不存在视觉记忆和听觉记忆的差别,而是心里暗示和有意无意的练习。习惯与方法才是记忆力的法门😬
    猛犸象和剑齿虎:@兰郡子 😬

本文标题:VBA窗体控件练习2

本文链接:https://www.haomeiwen.com/subject/oywpzftx.html