精华内容
下载资源
问答
  • VBA好比Excel的“遥控器”,Excel中每个菜单操作命令都对应一句VBA语句,当运行一段VBA语句时,Excel将按照相应顺序执行每句VBA语句,就像VBA在对Excel进行“遥控”一样,自动执行相应的操作。VBA的“遥控”不仅能使...

    VBA(Visual Basic For Application)是一种通用的自动化语言,它可以使Excel中常用的操作步骤自动化,还可以创建自定义的解决方案。

    VBA好比Excel的“遥控器”,Excel中每个菜单操作命令都对应一句VBA语句,当运行一段VBA语句时,Excel将按照相应顺序执行每句VBA语句,就像VBA在对Excel进行“遥控”一样,自动执行相应的操作。VBA的“遥控”不仅能使操作变得简便,还能使你获得一些使用Excel标准命令所无法实现的功能。

    在Excel中使用VBA有以下几个优点。

    ★ 使固定、重复的任务程序自动化,提高工作效率。

    ★ 可进行复杂的数据处理和分析。

    ★ 可自定义Excel函数、工具栏、菜单和界面。

    ★ 可连接到多种数据库,并进行相应数据库操作。

    宏就是一段VBA语句的集合,VBA语句以宏的方式存放在Excel中,供我们调用运行。需要注意的是,宏绝不等于VBA,它只是VBA里最简单的运用,尽管许多Excel过程都可以用录制宏来完成,但是通过宏还是无法完成许多的工作,例如自定义函数、循环判断等操作。

    宏可通过编写VBA语句、录制宏两种方式获得。我们通常采用的方式就是先录制宏,然后在完成录制宏的基础上进行语句优化调整,得到我们所要的宏。

    我们现在来录制一个功能为对单元格字体加粗、设置斜体的宏。

    STEP 01 新建一个Excel文件,单击【开发工具】选项卡,在【代码】组中,单击【录制】按钮。

    STEP 02 在弹出的【录制新宏】对话框中(如图所示),根据需要填写宏名,设置快捷键、说明等信息,本例均采用默认设置,单击【确定】按钮。

    289e85cda4d2eea5fe4e9f8eb824f7a5.png

    STEP 03 在当前工作表中,将选中的A1单元格字体格式设置为加粗、斜体。

    STEP 04 在【开发工具】选项卡下【代码】组中,单击【停止录制】按钮。

    设置【开发工具】的路径为:【文件】→【选项】→【自定义功能区】,在右边的【主选项卡】下勾选【开发工具】前面的复选框即可,如图所示。

    10d5e8d1e9bf17668ab9e643834f099f.png

    单击【开发工具】选项卡,在【代码】组中,单击【宏】按钮得到【宏】对话框,如图所示,选择刚录制好的“宏1”,单击【编辑】按钮,即可得到刚才录制“宏1”的VBA语句,如图所示。

    022496adc3468e181aaad0294767a316.png

    e68153a83e0a38708adeb00a6a34ee84.png

    这段VBA语句实现两个功能:将字体设置为加粗、斜体。我们观察这段VBA语句可以发现:

    ★ 以Sub开始,以End Sub结束,Sub过程中间夹着实现功能的VBA语句。

    ★ 每条VBA语句代表一个功能。

    ★ 对象和属性中间用小圆点分隔开,小圆点相当于中文语句中的“的”,表示隶属关系,即某个属性属于某个具体的对象。

    ★ VBA语句执行时就从第一句Sub开始逐句执行,直到End Sub结束。

    ★ 单引号后面的内容表示注释,注释不仅可以让自己快速回忆,也可以使别人很快理解你的VBA语句。注释默认显示为绿色,执行宏代码时,系统会忽略这些注释行。

    以上为VBA的基本语法,当然语法不止这些,比如还有变量的声明与定义、循环语句等。

    Excel中不光有对象、属性,还有方法、事件等概念。

    (1)对象

    对象是VBA处理操作的内容,是Excel中真实存在的东西,它包括工作簿、工作表、单元格、图表等。

    (2)属性

    每一个对象都有属性,一个属性就对应于对象的一种设置,例如名称、显示状态、颜色、大小、值等,引用属性时,对象和属性用小圆点来分隔,如图所示。

    a1ec0f5a29f2f817b0bd8fa4679522cf.png

    对象好比是一个人,那么属性就好比身高、体重、性别、年龄等特征。

    (3)方法

    每一个对象都有方法,方法就是在对象上执行的某个动作,例如选择、移动、复制、粘贴、清除等,引用方法时,对象和方法同样用小圆点来分隔,如图所示。和属性相比,属性表示的是对象的某种状态或样子,是静态的,就像语文里的名词,而方法则是对对象的一个动作,就像动词。

    e4ca898b4dd594485b54c5936d1f9c61.png

    (4)事件

    事件是指可以发生在一个对象上且能够被该对象所识别的动作,例如,打开工作簿,激活工作表,单击按钮或窗体等这些动作都会产生一系列的事件。当某个对象发生某一事件后,就会驱动系统去运行预先编好的、与这一事件相对应的一段VBA语句。对象与事件两者之间用下画线分隔。图所示的就是一个工作表对象激活事件,当事件所在的工作表被激活时,系统会自动执行VBA语句:Range("A2") = 100。

    423e8e953b06a0dfaf3df18c5be0c52f.png
    展开全文
  • VBA开发的贪吃蛇小游戏,使用VBA开发,调用Win API函数实现循环
  • 尼克·利西尼(Nick Liccini)的《僵尸启示录》游戏的自述文件 //// Description \\掩盖! 僵尸崛起并占领了世界! 您是少数可以拯救我们的人之一。 抓住爆破器并开始移动; 世界需要一个英雄。 ////目标\\抓住冲击...
  • Excel_VBA开发2048游戏教程——Einsphoton

    千次阅读 2017-09-20 11:19:39
    VBA游戏开发的流程帮助甚微,甚至影响游戏开发效率,本应用实例仅为消遣,切勿过分关注!   前言  抱歉,这可能是我最后的几篇文章之一了。  由于最近工作中遇到很多问题,作者现在处于自我检讨中...

    VBA对游戏开发的流程帮助甚微,甚至影响游戏开发效率,本应用实例仅为消遣,切勿过分关注!

     

    前言

             抱歉,这可能是我最后的几篇文章之一了。

             由于最近工作中遇到很多问题,作者现在处于自我检讨中,恐怕以后将要告别少年时代的装逼梦了。

             作者之后,需要洗心革面,重新做人,踏踏实实,本本分分,低调为人,从最底层做起。

             接下来,还会再分享一些有关Axure的酷炫特效技巧,然后封笔。

             感谢大家这段时间的支持,以及各路的批评。

    前期准备

    l  搭建如下图界面环境,仅需要用到Excel自带功能待见,例如单元格颜色,绘制表格等,数两个数字2的方块先不用管。

    l  按照下图指示,分别对几个对象进行命名。

    l  创建一个按钮

     Excel_VBA开发2048游戏教程——Einsphoton

    程序的流程图

             游戏过程非常简单。

             当用户点击游戏开始按钮,系统先将所有数据初始化,并且随机生成两个方块,当玩家进行上下左右移动时,方块也会随之移动,并且在移动的过程中判断是否合并是否产生新的方块,以及是否游戏结束。

     Excel_VBA开发2048游戏教程——Einsphoton

             游戏的程序逻辑共由一下几部分组成:

    逻辑方法

    作用

    StartTigger

    游戏的启动器(在游戏中,以“GameStart”按钮的形式体现),主要负责通知何时开启游戏流程。

    GameStart

    主要负责游戏的初始化

    TileController

    负责游戏方块对象的移动,以及相应的逻辑检测

    TileCreator

    负责游戏方块的生产

    GameOverChecker

    负责检测游戏是否已经达成游戏结束的条件

     

    开始编写代码

             ALT + F11打开Excel自带的代码编辑器。

     

    变量定义

    Option Explicit    ‘安全编码习惯

    Dim IsGameOver As Boolean

    Dim IsCanMove As Boolean

    Dim AnotherChance As Integer

    Dim CurrentScore, HighScore As Long

     

    CreatTile方法

             次方法主要用来生产方块,在每次移动操作以及游戏的初始化都会用到这个方法。

     

    Private Sub CreatTile()

        Dim r, c As Range

        Dim i, n As Integer

        Set r = Range("GameArea").SpecialCells(xlCellTypeBlanks)    '取出游戏区域中所有的空白方格

        n = Int(Rnd * r.Count + 1)                              '随机一个数

        For Each c In Range("GameArea").SpecialCells(xlCellTypeBlanks)

            i = i + 1

            If i = n Then Exit For                           '在空白方格中随机找一个

        Next

        c.Value = 2                                      '使它变成方格2

    End Sub

     

    GameStart方法

    GameStart方法主要用来游戏初始化

     

    Private Sub GameStart()

        Range("GameArea").ClearContents                              '清除游戏区域的所有内容

        Shapes("CurrentScore").TextEffect.Text = Format(0, "000000")        '清除当前分数

    Range("GamePad").Cells(2, 2).Activate

        Call CreatTile                                               '调用创建方块方法2

        Call CreatTile

    End Sub

     

    TileController方法集

             在这里,我们要编写控制方格移动并且合并的方法。由于游戏中我们可以上下左右移动,所以我们需要分别编写上下左右移动的方法。如下:

     

    Private Sub DownMove()

        Dim i, j As Integer

        With Range("GameArea")

            For i = 3 To 1 Step -1         '从倒数第三行开始,其上的每一行的所有小方格

                For j = 1 To 4

                    If .Cells(i + 1, j) = "" And .Cells(i, j) <> "" Then

                        .Cells(i + 1, j) = .Cells(i, j)  '遇到可以移动的情况

                        .Cells(i, j).ClearContents

                        IsCanMove = True

                    ElseIf .Cells(i + 1, j) = .Cells(i, j) And .Cells(i, j) <> "" Then

                        .Cells(i + 1, j) = .Cells(i + 1, j) * 2   '遇到可以合并的情况

                        CurrentScore = CurrentScore + .Cells(i, j) * 2

                        Shapes("CurrentScore").TextEffect.Text = CurrentScore   '加分

                        .Cells(i, j).ClearContents

                        IsCanMove = True

                    End If

                Next j

            Next i

        End With

    End Sub

     

    其他方向的同理

    Private Sub UpMove()

        Dim i, j As Integer

        With Range("GameArea")

            For i = 2 To 4

                For j = 1 To 4

                    If .Cells(i - 1, j) = "" And .Cells(i, j) <> "" Then

                        .Cells(i - 1, j) = .Cells(i, j)

                        .Cells(i, j).ClearContents

                        IsCanMove = True

                    ElseIf .Cells(i - 1, j) = .Cells(i, j) And .Cells(i, j) <> "" Then

                        .Cells(i - 1, j) = .Cells(i - 1, j) * 2

                        CurrentScore = CurrentScore + .Cells(i, j) * 2

                        Shapes("CurrentScore").TextEffect.Text = CurrentScore

                        .Cells(i, j).ClearContents

                        IsCanMove = True

                    End If

                Next j

            Next i

        End With

    End Sub

     

    Private Sub LeftMove()

        Dim i, j As Integer

        With Range("GameArea")

            For i = 2 To 4

                For j = 1 To 4

                    If .Cells(j, i - 1) = "" And .Cells(j, i) <> "" Then

                        .Cells(j, i - 1) = .Cells(j, i)

                        .Cells(j, i).ClearContents

                        IsCanMove = True

                    ElseIf .Cells(j, i - 1) = .Cells(j, i) And .Cells(j, i) <> "" Then

                        .Cells(j, i - 1) = .Cells(j, i - 1) * 2

                        CurrentScore = CurrentScore + .Cells(j, i) * 2

                        Shapes("CurrentScore").TextEffect.Text = CurrentScore

                        .Cells(j, i).ClearContents

                        IsCanMove = True

                    End If

                Next j

            Next i

        End With

    End Sub

     

    Private Sub RightMove()

        Dim i, j As Integer

        With Range("GameArea")

            For i = 3 To 1 Step -1

                For j = 1 To 4

                    If .Cells(j, i + 1) = "" And .Cells(j, i) <> "" Then

                        .Cells(j, i + 1) = .Cells(j, i)

                        .Cells(j, i).ClearContents

                        IsCanMove = True

                    ElseIf .Cells(j, i + 1) = .Cells(j, i) And .Cells(j, i) <> "" Then

                        .Cells(j, i + 1) = .Cells(j, i + 1) * 2

                        CurrentScore = CurrentScore + .Cells(j, i) * 2

                        Shapes("CurrentScore").TextEffect.Text = CurrentScore

                        .Cells(j, i).ClearContents

                        IsCanMove = True

                    End If

                Next j

            Next i

        End With

    End Sub

     

    游戏控制器的编写

             到这里,游戏大部分的机制都已经写好,但我们还需要给我们的游戏设计一个用户接口。我们可以利用Excel自带的事件监听器Worksheet_SelectionChange,来设计游戏的操控方式。思路是,我们设置一个默认的单元格,并且总是保证其焦点。每当用户操作方向键,或者点击鼠标,我们都可以抓住一个瞬间的单元格焦点位置的变化,之后又会回到默认的单元格焦点。具体方法如下:

     

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)

        Application.EnableEvents = False

        IsCanMove = False

        With Target

            If .Row = Range("GamePad").Cells(1, 2).Row Then

                'MsgBox ("")

                Call UpMove    '调用三次方块移动方法,为什么?大家可以思考一下!

                Call UpMove

                Call UpMove

            ElseIf .Column = Range("GamePad").Cells(2, 1).Column Then

                'MsgBox ("")

                Call LeftMove

                Call LeftMove

                Call LeftMove

            ElseIf .Row = Range("GamePad").Cells(3, 2).Row Then

                'MsgBox ("")

                Call DownMove

                Call DownMove

                Call DownMove

            ElseIf .Column = Range("GamePad").Cells(2, 3).Column Then

                'MsgBox ("")

                Call RightMove

                Call RightMove

                Call RightMove

            End If

        End With

        Range("GamePad").Cells(2, 2).Activate   '默认单元格获得焦点

        Call CheckGameOver

        If IsCanMove Then Call CreatTile        '如果发生移动了,创造一个新方块

        Application.EnableEvents = True

    End Sub

     

    GameOverChecker方法编写

             导致游戏结束的原因有两种:胜利(出现2048  ②失败(无法移动)

             在这里,我们也需要分别检测这两种情况。

     

    Private Sub CheckGameOver()

        Dim i, j As Integer

        IsGameOver = False

        If Not Range("GameArea").Find(2048) Is Nothing Then    '如果出现2048,则执行游戏胜利流程

        IsGameOver = True

        MsgBox ("You Did Splendid Job")

            If CurrentScore > HighScore Then              '交换分数

                HighScore = CurrentScore

                Shapes("HighScore").TextEffect.Text = HighScore

            End If

        End If

        If Range("GameArea").SpecialCells(xlCellTypeConstants).Count = 16 Then   '如果没有任何空位了

            IsGameOver = True

            For i = 1 To 4                             '并且也无法合并了

                For j = 1 To 4

                    If Range("GameArea").Cells(i, j) = Range("GameArea").Cells(i, j + 1) Or Range("GameArea").Cells(i, j) = Range("GameArea").Cells(i + 1, j) Then IsGameOver = False

                Next j

            Next i

            If IsGameOver = True Then

                MsgBox ("Game Over")

                If CurrentScore > HighScore Then

                    HighScore = CurrentScore

                    Shapes("HighScore").TextEffect.Text = HighScore

                End If

                Call GameStart                  '重新开始一局

            End If

        End If

    End Sub

     

     

    最后

             你以为就这样结束了么?太天真了!至此游戏虽然可以运行,但貌似缺少点什么?

             你的美术表现呢?

             起码得有点颜色吧!

             Excel里面,可以有一种超级轻松的方式实现这种美术表现。

             条件格式……………………………………

    展开全文
  • VBA是一种编程语言,它依托于Office软件,可以实现各种Office软件操作的自动化。也就是说,只要我们用Office软件,如EXCEL,WORD也就是有了应用VBA的理由。为什么用VBA呢?其实最初的很多朋友都有一个共同的理由...

    750526866efda382700c9d3b2d2a1409.png

    VBA是一种编程语言,它依托于Office软件,可以实现各种Office软件操作的自动化。也就是说,只要我们用Office软件,如EXCEL,WORD也就是有了应用VBA的理由。为什么用VBA呢?其实最初的很多朋友都有一个共同的理由“因为我懒啊”,说句实在话,这确实是最初学习VBA的理由。但当你学了一段时间后,特别是可以熟练的应用数据库,与人机的交互操作后,你的境界会提高了很多。这时的VBA不再是你偷懒的理由了。

    一 初用VBA,真的是因为我懒

    最初用VBA的人员很多是因为数据的处理十分繁琐,复制、粘贴、LOOKUP,等等,很繁琐、很烦。VBA可以实现Excel中没有提供的功能,提高运行速度,而且通过编写自定义函数可以实现自己的定制,可以实现办公的自动化功能。

    世界上不存在完美的事物,同样也不存在完美的软件。虽然微软通过升级在不断地完善Office系列软件的功能,使其标准功能可以满足日常绝大部分的应用,但在这个娑婆世界里,我们的欲望是无止境的。于是微软便聪明的整合了VBA到它的产品中,给用户留下了可以自行去定义属于自己需求的软件的可能性(WPS还需要继续努力啊)。

    下面就是一个实例:某药店的大库现场盘点,人员很多,每个人原则上负责一个区域,盘点后每人都把自己盘点的数据到了你的手上,但给你的信息是:肯定全部都点到了,但数据有重复的,怎么办?这就要求你在大量的数据中把那些重复的数据删除,怎么办呢?

    我们假设数据如下:

    2741114d2850caf67150bb3ba8b6ec12.png

    如果能在这么多的数据中找到重复的数据,那绝对是眼力的体操,我们怎么解决?

    打开《VBA代码解决方案》第一册:

    02c3d7d94680a9927cb2939ba60bdad9.png

    拷贝出内部的代码到WORD文档:

    Sub MyDeleteRow()

    Dim R As Integer

    Dim i As Integer

    With Sheets("sheet9")

    R = .[A65536].End(xlUp).Row

    For i = R To 1 Step -1

    If WorksheetFunction.CountIf(.Columns(1), .Cells(i, 1)) > 1 Then

    .Rows(i).Delete

    End If

    Next

    End With

    End Sub

    下面我们要对上面的代码进行分析修正了:

    上面的代码中

    ① With Sheets("sheet9") 更正为With Sheets("sheet1") ,因为我的数据是在"sheet1"的工作表中

    ② If WorksheetFunction.CountIf(.Columns(1), .Cells(i, 1)) > 1 Then

    .Rows(i).Delete

    End If

    判断的是只有第一列重复,就删除,我们根据实际情况,在盘点时,药品+批次应该是唯一的,所以我们的对策是在工作表的E列做个公式:B列&C列,同时上面的代码成为;

    If WorksheetFunction.CountIf(.Columns(5), .Cells(i, 5)) > 1 Then

    .Rows(i).Delete

    End If

    最后看我们的实际工作表:

    5655026a6032de752440b03e55ce5835.png

    代码:

    Sub MyDeleteRow()

    Dim R As Integer

    Dim i As Integer

    With Sheets("sheet1")

    R = .[A65536].End(xlUp).Row

    For i = R To 1 Step -1

    If WorksheetFunction.CountIf(.Columns(5), .Cells(i, 5)) > 1 Then

    .Rows(i).Delete

    End If

    Next

    End With

    End Sub

    截图:

    809b3743824924cac57d71585a66cd8c.png

    运行时点击上面的红色圆框住的运行钮。

    运行后的结果:

    b25b5d144c627b37c052453bbe368a06.png

    上面是不是很简单呢?或许你说还有其他的办法,但对于大量的数据来讲,VBA作为一个非常实用的方案,也是确实值得采用的。

    二 学习VBA到了一定的水平之后,实现自动化办公,会成为你的学习的动力。

    Office本身一些功能的细节和控制确实不能完全满足我们的要求,如数据透视表(Pivot Table),那个数据汇总,怎么看怎么别扭,别急,这个时候你要考虑VBA了。电脑不是人脑,至少目前还取代不了,但我们可以通过控制实现我们的需求:比如说文件名和文件结构的操作;文件的删除;自动检查数据的有效性;数据的查找;查到数据后的处理;鼠标右键的控制;文件的导入导出;数据录入的即时校验;建立独立的窗体录入;数据库文件的操作;文件中图形的处理等等。

    当你再深入的学习时,追求的是自动化和视觉并用了,比如我要做一个欢迎的界面,欢迎朋友们学习VBA:

    我们打开《VBA代码解决方案》第二册:

    7e87492272953f8e9042c8cc0b32f463.png

    拷贝出代码到WORD:

    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

    Sub MyTypeDemo()

    Dim sTest As String

    Dim i As Integer

    sTest = "欢迎你来到这个平台学习VBA!"

    For i = 1 To Len(sTest)

    Range("A1").Value = Left(sTest, i)

    Sleep 200

    Next

    End Sub

    我们为了实现上述代码的在ACTIVE SHEET中自动运行,我们把上述代码放在Worksheet的Activate方法里并且把上面的程序略作修改:

    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

    Private Sub Worksheet_Activate()

    Dim sTest As String

    Dim i As Integer

    sTest = "欢迎你学习VBA,利用VBA,<VBA代码解决方案>会带给你学习的快乐!"

    For i = 1 To Len(sTest)

    Range("A1").Value = Left(sTest, i)

    Sleep 200

    Next

    End Sub

    截图如下:

    45579045d07298ed35f56db3b5ffd5f5.png

    好了,我们把工作薄的焦点放到sheet1工作薄,然后再返回到sheet3工作薄,看看运行的效果:

    c215315e8a8338b4ab346e87a5388fa1.png
    https://www.zhihu.com/video/1111226691833384960

    这样的视觉效果是不是很值得深入的去学习呢?

    当你开始学习VBA,在你的工作中,不久的将来,VBA语言一定会成为你工作中不可或缺的一部分。

    展开全文
  • 少年时的梦 小时候家里没有钱,看到同学拿着手持式游戏机打俄罗斯方块游戏,羡慕得不行。...恰好那时领导交待的许多任务和excel有关,天天和VBA打交道,也算比较熟悉。记得那时还在图书馆看到一本...

    少年时的梦

    小时候家里没有钱,看到同学拿着手持式游戏机打俄罗斯方块游戏,羡慕得不行。当时觉得俄罗斯方块真是世界上最好玩的游戏,要是能把同学的游戏机借来玩一整天该多好。

    程序员的山赛货

    上了大学,有了属于自已的电脑,各种电脑游戏一大堆,可是有一天突发奇想,能不能用excel做一个俄罗斯方块游戏呢?恰好那时领导交待的许多任务和excel有关,天天和VBA打交道,也算比较熟悉。记得那时还在图书馆看到一本书,大慨是教怎么用excel做一个管理信息系统。还说其实是很多人不会用,execl完全可以开发任何管理系统软件。现在想起来才觉得写那本书的老外,真是一个务实的,毁人不倦的Exceler。
    撸起袖子,干了几天,竟然还真鼓捣出一个俄罗斯方块来了,当时还玩得挺开心。过了几天没兴趣,再也没有管过了。

    多年后的重逢

    在整理移动硬盘时,发现了这个老古董,当时好像是用office97做的。抱着试一试的态度,双击打开,居然还能用。不得不佩服微软公司的兼容性做得还真不错。

    这个从左向右的俄罗斯方块长这样:
    在这里插入图片描述
    这么多年过去了,VBA的语法都快忘了,还是通过百度的帮助才打开了开发者工具
    在这里插入图片描述
    青春的气息扑面而来呀,想起比尔发明的VB,又花了大力气在office上弄出了VBA.就这一个功能,让金山的WPS追了好多年。
    现在还有什么人在用VB吗? Java大行其道的今天,程序员每天都在学习新的东西,年轻人热烈地讨论着人工智能,大数据,深度学习的时候,我在一个初夏的午后,陷入了无边的回忆!

    展开全文
  • 历时一个月的紧张开发VBA代码助手专业版终于问世了,对原加载宏版VBA代码助手进行了全面升级,焕然一新的代码助手重装上阵,希望一如既往的带给大家最好的代码收藏管理和快速插入体验 ! 以前的老朋友应该会很快...
  • 俄罗斯方块+vba

    2019-01-04 10:44:42
    这个是一个用vba开发的关于俄罗斯方块的小游戏,主要用于作业,业余爱好等
  • 曾经想用VBA做一个斗地主的游戏,只做了一点功能,后来发现可以通过手机玩斗地主,就没有再做下去。不过在excel中加载与显示图片的功能也许以后会派上用场,所以做一个小小的记录。 实现原理 在images目录下存放有...
  • 关于简单的打地鼠游戏开发总结

    千次阅读 2020-02-19 13:25:53
    1. ...首先我们需要建立好背景图,调整摄像机为正交模式,进入二维状态,调整背景图分辨率为适当大小。 ... 然后制作一个预制体,是地鼠被打的图片,在地鼠被鼠标点击后存在0.5s左右的时间显示地鼠被打的图片,代码整体为...
  • 简易打地鼠游戏开发

    千次阅读 2016-08-30 18:29:49
    最近看了“微微一笑很倾城”,我对开发游戏越来越有兴趣了,今下午就自己弄了一个简单的打地鼠游戏。哈哈,界面太美,不敢直视。。。 说明:运行程序,在屏幕上将随机显示地鼠,触摸地鼠后,该地鼠将不显示。同时再...
  • Unity3D游戏开发之当游戏开发遇上Excel

    千次阅读 热门讨论 2015-03-03 10:05:43
    今天我们的话题是Excel,作为常用的办公软件的Excel相信大家都不陌生啦。可是如果我们认为Excel只是办公...事实上Excel和游戏开发有着密切的联系,不知道大家还记不记得那款利用Excel开发出来的三国杀,这可能是Exce
  • 可以玩和玩的东西,可以学习的东西,可以共享的东西,可以增强和扩展的有趣的东西,因为我们可以,因为VBA完全有能力做到这一点,并且因为VBA开发人员可以在GitHub上进行开源, 也! 对于知道C#但不执行任何VBA的...
  • VBA高手进阶课程

    2021-10-16 16:36:11
    爱好excel 的公式和VBA编程,Access数据库,VB和VB.NET,自己开发有作品《VBA代码宝》、visual studio开发的《大表格工具箱》、发票凑数器、进销存模板表格、出入库、领用单、图书管理系统的模板表格等诸多VBA功能及...
  • Java课设小游戏,肯定能运行,希望有帮助里面,包含源码各种图片截图!! 都是包运行,希望多多支持,谢谢
  • XP操作系统下使用Excel VBA开发的蜘蛛纸牌外挂。
  • 自动生成VBA窗体菜单

    2010-08-16 15:23:46
    自动生成VBA窗体菜单 '*************************** '* 菜单类 * '*************************** Option Explicit Private WithEvents MenuBar_MenuItem As MSForms.Label '菜单项 Private WithEvents WorkForm As...
  • Excel如何安装VBA

    万次阅读 2020-03-17 11:30:19
    VBA(Visual Basic for Applications) : 是微软为办公自动化而开发的语言,主要应用领域集中于Office办公软件,用VBA语言完成游戏的模型,从而更形象地验证设计是否符合预期。 新建一个Excel文件,或者打开一个需要...
  • 《2048》是一款比较流行的数字游戏,最早于2014年3月20日发行。原版2048首先在GitHub上发布,原作者是Gabriele Cirulli,后被移植到各个平台。这款游戏是基于《1024》和《小3传奇》的玩法开发而成的新型数字游戏
  • VBA小白脱白基础课程

    2021-10-01 01:22:17
    爱好excel 的公式和VBA编程,Access数据库,VB和VB.NET,自己开发有作品《VBA代码宝》、visual studio开发的《大表格工具箱》、发票凑数器、进销存模板表格、出入库、领用单、图书管理系统的模板表格等诸多VBA功能及...
  • 弹球小游戏,VB编写的小程序,很适合儿童智力开发的小游戏
  • VB/VBA之死,何时休?

    2021-08-20 14:31:10
    所以,就连C一类的工具都一度被人标榜为过时的象征,更何况VB/VBA了。 对于高级开发工具,推陈出新是一种必然,不同的场景需要不同的工具。随着商业边界的扩张,头部工具集团内部,又演化出一个又一个的框架。这些...
  • VBA新手教程:抽卡模拟实战(3)

    千次阅读 2020-07-11 14:16:43
    3、 可以试着开发一下解决其他问题的模拟工具,比如买彩票!假设一个人每天买一注,平均需要连续购买多少天才能中一等奖!平均花费多少钱!(算完你就再也不碰了戒赌) 下期不定期更新预告 1、 再讲一个While循环,...
  • 前言 本不想再刻意强调VB什么,怕说多了,成了误导。用与不用,其实都无需解释。但,既然在《互联的围城,已春暖花开,我却心向罗盘荒野》中给了大家学习内化的承诺,又在《明...计算机开发语言,从低级到高级,既...
  • 大家好,今天要和大家来做一个小游戏的示例。 我们先来看一下运行效果 没错,今天我们要做一个猜拳小游戏。 那下去我们来看一下怎么来制作这个小游戏 01、创建窗体 参照下面的表格与图表,在窗体上...
  • 飞行射击类游戏源码

    2018-11-30 12:28:47
    飞行射击类游戏源码 eclipse开发 手把手教你做游戏之飞行射击类游戏飞机行走与弹道的实现
  • VBA:完美解决数独问题----全网最强

    千次阅读 2020-11-27 11:42:22
    〇、程序界面设计 为了用户能够很好的体验这个程序,同时也为了后续的开发方便,我们需要对程序界面做一个很好的设计。 程序主界面: 我是在WPS的电子表格里设计的,可以看到最左边和最上边的数字编号,这是表格的...
  • vue实现打地鼠小游戏

    2020-12-28 15:58:07
    本文实例为大家分享了vue实现打地鼠小游戏的具体代码,供大家参考,具体内容如下 效果图如下: 代码如下: 打地鼠游戏 <div xss=removed xss=removed click=clickItem>{{n}}号地鼠 <div class
  • word宏、宏编程以及VBA

    万次阅读 多人点赞 2018-12-03 19:55:37
    微软的office软件允许用户自己编写,叫VBA的脚本来增加其灵活性,进一步扩充它的能力。 如完成一个一打开word文件同时要打开某个文件的功能,必须要自己编写一段称之为宏的脚本。 具体做法是在菜单栏点击开发工具-...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,224
精华内容 489
关键字:

vba开发游戏