精华内容
下载资源
问答
  • 我的目标:让中国的大学生走出校门的那一刻就已经具备这些office技能,让职场人士能高效使用office为其服务。支持我,也为自己加我以前写过一...VBA代码如下:Sub 九九乘法表()Dim num1%Dim num2%For num1 = 1 To 9...

    我的目标:让中国的大学生走出校门的那一刻就已经具备这些office技能,让职场人士能高效使用office为其服务。支持我,也为自己加

    我以前写过一篇关于九九乘法表的文章,那时候是用函数公式做的,有兴趣的同学可以阅读下:《九九乘法表》今天我们用VBA来做个九九乘法表:e1f4b1fe689a20589c2d6731bbf1a72d.gif这感觉好酸爽吧!?VBA代码如下:
    Sub 九九乘法表()Dim num1%Dim num2%For num1 = 1 To 9  For num2 = 1 To 9    If num2 > num1 Then      Exit For    Else      Cells(num1, num2) = num2 & "x" & num1 & "= " & num1 * num2    End If  Next num2Next num1End Sub
    我们来剖析下具体的过程:1、九九乘法表一共有两个变量相乘,所以我们定义两个变量num1,num2;Sub 九九乘法表()Dim num1%Dim num2%……End Sub2、两个变量都从1循环到9,所以需要两个For Next 语句Sub 九九乘法表()Dim num1%Dim num2%For num1 = 1 To 9    For num2 = 1 To 9  ……    Next num2Next num1End Sub这里一定要注意顺序,里外层的关系,我们可以把变量输出到Msgbox来观察下两个变量的循环规律。首先循环最里面的num2,num2从1循环到9,然后再循环num1,num1循环一次,num2要循环9次。(这个非常重要,一定要搞懂!)7850338762b9777ce754e94ae96edb88.gif3、要把循环的这些内容放到单元格里,怎么操作呢?我们可以把两个变量当成是1行1列,1行2列,1行3列……所以:
    Sub 九九乘法表()Dim num1%Dim num2%For num1 = 1 To 9  For num2 = 1 To 9    Cells(num1, num2) = num2 & "x" & num1 & "= " & num1 * num2  Next num2Next num1End Sub

    运行后发现是这样的:

    a66b7dcfac213c1dbd108f43ac981453.png

    4、为了规范,单元格为白色的部分是不需要的,而单元格底色为白色的都是num2大于num1的部分,所以来个判断语句,假如num2 > num1,就退出For循环,这里的For是指num2的循环,否则就Cells(num1, num2) = num2 & "x" & num1 & "= " & num1 * num2。
    Sub 九九乘法表()Dim num1%Dim num2%For num1 = 1 To 9  For num2 = 1 To 9    If num2 > num1 Then      Exit For    Else      Cells(num1, num2) = num2 & "x" & num1 & "= " & num1 * num2    End If  Next num2Next num1End Sub

    6、上面有个判断语句,我们是不是可以用IIF代替呢?

    Sub 函数法()Dim num1%Dim num2%For num1 = 1 To 9  For num2 = 1 To 9    Cells(num1, num2) = VBA.IIf(num2 > num1, "", num2 & "x" & num1 & "= " & num1 * num2)  Next num2Next num1End Sub

    这样写是不是更加简洁呢?

    本节知识点:声明变量的数据类型为整型的简洁表达,For-Next嵌套循环以及运行的次序,判断语句IF ,退出For循环结构语句Exit For,VBA函数IIF。

    节的分享就到这里,百看不如一练,动手试试才有体会。

    想学习更多,请在电脑端打开网址:www.mihong.top  

    ae85d4c57c573e50f8003426c54503b3.gif

    鼓励一下,赞完再走

    展开全文
  • 本周工作中,用到了数据透视表的操作,这里汇总一下,学习途径来自网络,学习成果我也乐于分享一二~,代码整理为模块,供大家举一反三,可以套用。① 创建数据透视表,及基本设置先展示数据源和结果吧:对应的code...

    本周工作中,用到了数据透视表的操作,这里汇总一下,学习途径来自网络,学习成果我也乐于分享一二~,代码整理为模块,供大家举一反三,可以套用。

    ① 创建数据透视表,及基本设置

    先展示数据源和结果吧:

    28bf017863ca84d3fea9f93eea162d2f.png

    对应的code如下:

    Sub pivot()
    ' 创建数据透视表
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
            "Sheet1!R1C1:R8C4", Version:=6).CreatePivotTable _
            TableDestination:="sheet1!R2C6", TableName:="尝试", DefaultVersion:=6    '注意,数据区域及透视表位置,使用的格式都要是R1C1这种样式,否则报错
    
    ' 拖拽字段。可以分开写,如下:
    ' 添加列
    Sheets(1).Activate
    With ActiveSheet.PivotTables("尝试").PivotFields("科目")  '表示对于名称为"尝试"的数据透视表中名为"姓名"的字段进行操作
        .Orientation = xlColumnField                '表示字段在数据透视表中的位置为列字段(行字段是xlRowField)
        .Position = 1                               '表示该字段所在列字段的位置为第1个位置
    End With
    
    ' 添加行
    With ActiveSheet.PivotTables("尝试").PivotFields("姓名")
        .Orientation = xlRowField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("尝试").PivotFields("性别")
        .Orientation = xlRowField
        .Position = 2
    End With
    
    ActiveSheet.PivotTables("尝试").AddDataField ActiveSheet.PivotTables("尝试").PivotFields("分数"), "求和:分数", xlSum
    
    With ActiveSheet.PivotTables("尝试")
        .RowAxisLayout xlTabularRow '报表布局-以表格形式展示。参数:xlTabularRow表格,xlOutlineRow大纲,xlCompactRow压缩(默认)
        .RepeatAllLabels xlRepeatLabels 'xlRepeatLabels重复,xlDoNotRepeatLabels不重复(默认)
        .ColumnGrand = False '总计。.ColumnGrand列.RowGrand行'默认都启用True
        
    '也可以这样:一次性设置所有行变量
        pf = Array("姓名", "性别")
        For Each pfi In pf
        With .PivotFields(pfi)
            .Orientation = xlRowField ' 设置为行变量
            .Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False) ' 去掉默认的分类汇总
        End With
        Next
    End With

    ② 值筛选--筛选器中

    透视表中,筛选器字段又叫页字段,不清楚这个情况的我刚开始吃了些苦头,死活搜索不到自己想要的。要对数据透视表的页字段(筛选字段)进行筛选,先使用ClearAllFilters方法清除原字段的选项:PivotFields("×××").CurrentPage = "(all)",然后可以直接使用CurrentPage属性设置要显示的筛选值即可。

    ' 例子:对透视表,将日期筛选为昨天,日期选项为单选。
    Sub 设置日期()
    With Sheets("数据统计").PivotTables("数据透视表3").PivotFields("日期")
        .EnableMultiplePageItems = False  '仅单选
        n = .PivotItems.Count
        For i = 1 To n '遍历所有值
            If .PivotItems(i).Name = "(blank)" Then  '处理可能遇到的讨厌的空白
                .PivotItems("(blank)").Visible = False
            Else
                If CDate(.PivotItems(i).Name) = Date - 1 Then  
                '如果日期为昨天。小心!name属性得到都是文本,即使源数据是日期,所以这里要转化下
                    .PivotItems(i).Visible = True
                Else
                    .PivotItems(i).Visible = False 
                                            '当然最好每一项都进行设置,不过这里multiple是false
                End If
            End If
        Next
    End With
    End Sub

    ③ 值筛选--行标签中追加

    Sub 行标签追加()
        Dim n, i
        Application.ScreenUpdating = False
        ActiveWorkbook.RefreshAll
        With Sheets("数据汇总").PivotTables("数据透视表1").PivotFields("日期") '字段
            .EnableMultiplePageItems = True ' 允许多选,追加显示项
            n = .PivotItems.Count '有多少个不重复的项
            For i = 1 To n
                If .PivotItems(i).Name = Date  Then '判断条件,如果是昨天
                      .PivotItems(i).Visible = True
                End If
            Next
        End With
        Application.ScreenUpdating = True
    End Sub

    我本菜鸟,但乐意学习。坚持用技术的复杂性代替手工操作的复杂性,继续加油!

    展开全文
  • 在excel中使用vba制作九九乘法表,如何进行具体操作的呢?今天,学习啦小编就教大家在Excel中使用vba函数制作九九乘法表的操作技巧。Excel中使用vba函数制作九九乘法表的操作步骤如下:首先我们打开一个excel工作样表...

    在excel中使用vba制作九九乘法表,如何进行具体操作的呢?今天,学习啦小编就教大家在Excel中使用vba函数制作九九乘法表的操作技巧。

    Excel中使用vba函数制作九九乘法表的操作步骤如下:

    首先我们打开一个excel工作样表作为例子。

    在开发工具标签面板下打开vba编辑窗口,或者使用alt+f11快捷键打开vba编辑窗口。

    点击插入一个新的模块,并定义模块sub Jiujiu()。

    接下来在jiujiu模块中输入以下

    Sub nine9()

    Dim i As Byte, j As Byte, s As Byte

    For i = 1 To 9

    For j = i To 9

    s = j * i

    Cells(j, i) = i & "*" & j & "=" & s

    Next j

    Next i

    End Sub

    代码。

    详细解释一下,dim是定义i、j、s三个变量的数据类型为字节。

    然后for是循环语句,定义i的取值是从1到9。

    同样在顺序执行下,j定义的取值是从i到9

    用数学的方法表示则是当i=1时,j=1。

    cells函数是excel函数,作用是返回指定的行列,括号内的取值为I,J。对应Excel表格中的行列。后面的=号为输出在excel表格中的数据。

    我们可以看修改一下变量与定量相加的结果。我们将i值加上10,其他保持不变,得出的结果是一个错误的公式。

    next是顺序执行,以本例中next j举例,则是对j值i to 9进行重复取值,并输出到excel表格中,如果将next i 与next j呼唤,我们可以得到一个错误引用的结果。

    大家可以多试验一下,这个例子中每个函数与参数的配合,以及运行的规律来加深印象,我们可以看到本例代码所得到的结果是正确的。

    展开全文
  • 实现九九乘法表的代码相对简单,但涉及结构嵌套很典型,希望通过整个实例可以帮助理解程序结构嵌套。首先要说明一点没有介绍过的知识,即单元格的cells(行号,列号)属性表示方法,参数分别行号和列号。且列号以数字...

    大家周末好,本节将以制作九九乘法表为例,来巩固循环结构和判断结构的嵌套应用。下面先演示下最后的效果。

    实现九九乘法表的代码相对简单,但涉及结构嵌套很典型,希望通过整个实例可以帮助理解程序结构嵌套。

    首先要说明一点没有介绍过的知识,即单元格的cells(行号,列号)属性表示方法,参数分别行号和列号。且列号以数字表示而非字母。比如表示第B列第5行的单元格,为cells(5,2),数字方便使用变量作为参数。而之前提过的单元格range属性,则是常规的range('b5')来表示。

    那么下面我们就分步骤来看下如何实现九九乘法表?

    1、双循环嵌套

    首先分析九九乘法表,实质是一组1至9的数字与另一组1至9的数字,分别两两相乘,并得到相乘的结果。

    由于两组数的值均是从1到9,可以联想到,利用for...next循环让两个变量分别从1至9,通过双循环嵌套来实现数字两两相乘。

    如下图所示,立即窗口打印的字符是 i, 'X', j, '='; i * j。即参数i 、字符X 、参数j 、字符=、 i和j相乘的结果。

    2、判断结构嵌套

    上一步利用双循环嵌套,实现了1-9内的数值两两相乘,最后的表达式也有了雏形,但是在得到的表达式中有重复相乘的情况。比如i=1、j=9时,结果是1X9=9。而i=9、j=1时结果9X1=9,两者保留其一即可。需要设定判断条件去掉重复表达式。

    分析九九乘法表可以发现一个规律,即被乘数都是大于或等于乘数的时候才显示的。据此就可以设定当i>=j为条件,在第二个for循环中嵌套if...then语句,(通常书写时要缩进)符合i>=j时才在立即窗口中显示。

    3、单元格中显示结果

    经过上面两步后,已经获得需要的表达式,现在需要在单元格中显示,就利用单元格cells属性,使用i和j两个变量值分别作为行号和列号的参数,即Cells(i, j) = i & 'X' & j & '=' & i * j 。

    这里变量不需要英文引号,而固定的字符都需要用英文引号括起来,字符与变量之间都需要用连接符&连接,注意变量与&之间需要有空格。比如当i=1,j=2时,结果就是cells(1,2)单元格中显示1X2=2。

    下面让我们看下完整的代码,可以自行推演一下代码的运行(示例中加入了表单控件,指定宏,点击即可生成九九乘法表。)

    注意代码中注意结构开始和结束对应,判断结构if与end if对应,循环结构for与next对应完整,同时next循环的两个变量嵌套不要颠倒位置,比如for j循环以next  j结尾。

    Cells(i, j) = i & 'X' & j & '=' & i * j 其中变量不需要英文引号,而固定的字符都需要用英文引号括起来,字符与变量之间都需要用连接符&连接,变量与连接符&之间需要有空格。

    示例涉及了循环和判断结构的相互嵌套,希望有助于学习程序控制结构,对于指定的数值的乘法表可以当作课后作业,有问题可以给我留言,祝大家学习愉快。

    Live and Learn

    展开全文
  • 小时候,相信大家都背过九九乘法口诀。据说这个在春秋战国已经存在,源远流长。顺序语句,条件语句和循环语句在任何编程语言中都离不开。所以很多入门示例都是要求做一个这样的口诀表。因为需要用循环语句。在Access...
  • 1.案例说明在早期的Basic版本中,程序运行结果主要依靠Print语句输出到终端。在VB中,Print作为窗体的-一个方法,用来在...本例使用Print 方法在立即窗口中输入九九乘法表。2.关键技术.在VBA中,Print 方法只能应用...
  • 宏是一个VBA程序,通过宏可以完成枯燥的、频繁的重复性工作。本章的实例分别介绍在Excel 2003、Excel 2007中录制宏、使用Visual Basic代码创建宏的方法,最后还以实例演示运行宏和编辑宏的方法。目录第1章听宏的应用...
  • Hi,大家好,上一期介绍了VBA在Excel上的基本的文件操作,例如新建,另存为,重命名等操作。有了之前的Excel文件操作的基础了,就可以进一步的学习激动人心的Excel的单元格的操作。同样,VBA也对单元格进行了抽象,...
  • VBA代码如下:Sub 九九乘法表()Dim num1%Dim num2%For num1 = 1 To 9 For num2 = 1 To 9 If num2 > num1 Then Exit For Else Cells(num1, num2) = num2 & "x" & num1 & "= " & nu...
  • 事实上九九乘法表的制作不是重点,重点是通过制作这个乘法表,能明白了EXCEL中绝对引用是咋回事,这才是重点。废话不多说,回到正题在我们日常工作中如果你经常使用函数公式来处理数据据,那么绝对引用是必不可少的...
  • 相信大家在用Excel进行数据处理的时候,都会碰到过多工作表数据合并到一张表格的操作。...一般大家都会想到用复杂的函数公式或者是vba代码的方式来进行数据汇总,今天我们就来学习在不使用函数公式及vba代码的情况下...
  • 下面我们就以VBA和phthon两个编程语言看看是如何来写代码的:VBA在Excel中写九九乘法表这样写:首先打开或新建一个空白excel表,按alt+f11快捷键,进入vba编辑器,新建一个模块,按照下面的语句输入代码。...
  • Hi,大家好,本专栏将会从零开始和大家用图文的方式,让你从零基础学会VBA!有兴趣的小伙伴可以持续关注我,或者在专栏自我查看学习,愿与君携手共进!经过前面的几个章节的学习,相信你已经见识了很多种循环了的...
  • 我的目标:让中国的大学生走出校门的那一刻就已经具备这些Office技能,让职场人士能高效使用Office为其服务。支持鹏哥,也为自己加油!...VBA代码如下:Sub 九九乘法表()Dim num1%Dim num2%For num1 = 1 To 9 ...
  • VBA:九九乘法

    2017-11-08 22:11:00
    效果: 代码: DimiAsInteger,jAsInteger Fori=1To9 Forj=1Toi Sheets("sheet1").Cells(1).Offset(i-1,j-1)=i&"*"&j&"="&i*j...
  • VBA编程快速生成九九乘法

    千次阅读 2018-05-10 17:39:46
    打开VBA代码窗口 插入模块 插入子程序 敲以下代码 Public Sub cv() Dim i%, j% For i = 1 To 9 For j = 1 To 9 If i >= j Then Cells(i, j) = Str(i) & "x" & Str(j) &amp...
  • 之前的一篇我们讲到如何用VBA制作出一个乘法口诀表,然后有小伙伴提建议,如何把它读出来呢?先把代码发出来。第1、2、6行代码给定格式最开始的Sub和最后的End Sub就没什么好说的咯,第二行的Dim rg As Range,声明...
  • 暑假,孩子的作业中有一项就是背诵九九乘法表,用...Python实现通过下段代码演示九九乘法表,源代码见code14xlwingsexample_99.py。import xlwings as xwimport oscurpath=os.path.dirname(__file__)filename=os.pat...
  • 暑假,孩子的作业中有一项就是背诵九九乘法表,用...Python实现通过下段代码演示九九乘法表,源代码见code14xlwingsexample_99.py。import xlwings as xwimport oscurpath=os.path.dirname(__file__)filename=os.pat...
  • VBA实战入门教程第5篇,我们将从九九乘法表开始和结束今天的教程。之中,我们会认识VBE,也就是VBA代码的编辑器。VBE的基本概念、打开方式,以及它的布局和主要功能,它们很简单,但我们需要掌握。你可以认为这篇...
  • 那在此之前,我们测试一下,从当前excel文件读取数据的简单VBA代码。现在有一个九九乘法表的数据,如下图。 如果我们有两个乘数,需要从九九乘法表里面查找到正确的结果,我们来试试看。 Dim num1 As Integer, ...
  • Hi,大家好,上一期介绍了VBA在Excel上的单元格的常见操作,主要涉及到单元格的访问,单元格内容字体格式设置等等,并最终通过生成一个九九乘法表的例子讲解了相关的代码。目前在我们的例子中,生成的单元格内容都是...
  • 1.VBA输入输出

    千次阅读 2013-11-02 13:13:04
    执行时,编写在前面的代码先执行,编写在后面的代码后执行。这是最普遍的结构形式,也是后面两种结构的基础。 顺序结构不需要使用结构控制语句,本节介绍常用的输入输出语句的技巧。 例017 九九乘法表(Print方法...
  • VBSCRIPT中文手册

    热门讨论 2010-11-12 10:13:06
    乘法运算符 (*) 两数相乘。 取反运算符 (-) 表示数值表达式的相反数。 Not 运算符 执行表达式的逻辑“非”运算。 Now 函数 返回当前计算机的系统日期和时间。 Nothing 使对象变量与所有实际的对象没有任何关联。...
  • vb Script参考文档

    2009-07-28 22:13:02
    乘法运算符 (*) 两数相乘。 取反运算符 (-) 表示数值表达式的相反数。 Not 运算符 执行表达式的逻辑“非”运算。 Now 函数 返回当前计算机的系统日期和时间。 Nothing 使对象变量与所有实际的对象没有任何关联。...
  • VBSCRIP5 -ASP用法详解

    2010-09-23 17:15:46
    乘法运算符 (*) 两数相乘。 取反运算符 (-) 表示数值表达式的相反数。 Not 运算符 执行表达式的逻辑“非”运算。 Now 函数 返回当前计算机的系统日期和时间。 Nothing 使对象变量与所有实际的对象没有任何关联。...

空空如也

空空如也

1 2
收藏数 28
精华内容 11
关键字:

vba乘法代码