精华内容
下载资源
问答
  • VBA语言学习--For循环,If条件判断
    2022-03-22 20:27:14
    Public Function PrintLog(path As String)
    
        Open path For Append As #1
        
        'ActiveSheet.UsedRange.Rows.Count表示sheet中的行数
        sheet.rows = ActiveSheet.UsedRange.Rows.Count
        'ActiveSheet.UsedRange.Columns.Count表示sheet中的列数
        sheet.cloumns = ActiveSheet.UsedRange.Columns.Count
        
        For i = 2 To SheetInfo.Rows
            For j = 3 To SheetInfo.Cloumns
            If ("" <> Cells(i, j).Value) Then
                Print #1,  Cells(i, j)  + ",";
            End If
            Next j
        Next i
        Close #1
    End Function
    

    <> : 等同于!=

    For循环格式:
    For i = 1 To NumMax
    Next i

    If条件判断:
    If () Then

    Else

    End if

    更多相关内容
  • 什么是VBA VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。 怎么使用Excel的VBA来处理处理重复性问题 Excel本身就自带...

    什么是VBA

    VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。


    怎么使用Excel的VBA来处理处理重复性问题

    Excel本身就自带非常强大的一系列函数,可以处理各种各样的问题.
    但是在某些情况下,VBA却更符合处理问题的思想,编写也并不困难


    使用VBA

    在打开Excel后,使用Alt+F11打开面板


    原始数据

    在这里插入图片描述

    这是模拟爬取公司信息其中某一列的节选部分.
    可以看到,第一行数据本身显示的应该是"融资上市情况",但是混入了"公司人数"的数据信息
    接下来使用VBA语句来过滤掉其中的数据


    循环语句

    首先打开面板,选中worksheet

    在这里插入图片描述

    右边可以看情况使用,一般使用默认 SelectionChange自动 即可

    在这里插入图片描述

    编写循环语句,将第一列的数据全部复制到第三列(是赋值,并不是使用公式)

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    /定义一个整型变量/
    Dim i As Integer


    /整型变量需要小于32767,如果数字过大,使用Long类型;示例中只有16行,所以定义从1到20行,多余为空没有问题/
    For i = 1 To 20


    /sheet1表的 i 行的第三列的值=sheet1表的 i 行的第一列的值(右边赋给左边)/
    Sheet1.Cells(i, 3) = Sheet1.Cells(i, 1)


    /进行下一个循环/
    Next
    End Sub

    Dim i As Integer
    	For i = 1 To 20
    	Sheet1.Cells(i, 3) = Sheet1.Cells(i, 1)
    Next
    

    自动加载,当鼠标点击表任意位置时,就会开始执行语句

    判断语句

    判断是否3>0,输出一句话
    If 3 > 0 Then
    	MsgBox "3大于0呀"
    End If
    

    在这里插入图片描述

    循环+判断 结合使用

    将第一列值为融资情况的列赋值到第三列

    Dim i As Integer
    For i = 1 To 20
    	/*如果 i 行第一列的值不包含数字 0 ;
    	或者说
    	如果 i 行第一列的值包含数字 0 的数目为0个*/
        If InStr(Sheet1.Cells(i, 1), "0") = 0 Then
        /*i行第3列的的值为第一列判断为true的值*/
        Sheet1.Cells(i, 3) = Sheet1.Cells(i, 1)
        End If
    Next
    

    在这里插入图片描述



    还有各种各样的语句结合使用,可以实现更多的功能
    展开全文
  • 循环,书签(Bookmarks)中的循环等等,函数的应用、选择性分支语句、判断语句、 错误处理、类模块的使用、用户窗体的使用、数组的应用、Automation等等,不一一 列举,读者可根据自身情况,逐一进行渐进式学习。 ...
  • Excel VBA技巧实例手册

    2016-07-28 22:29:39
    第1篇 ExcelVBA基础 第1章 了解Excel宏 1.1 创建宏 技巧001显示“开发工具”选项卡 技巧002录制第一个宏 技巧003在VBE中创建宏 1.2 管理宏 技巧004运行宏 技巧005编辑宏 技巧006保存宏 技巧007设置宏的安全性 第2...
  • 今日给大家讲VBA循环,这个是非常基础的知识,在VBA的相关内容中我也一直在用,也在不断的讲解。今日专门作为一个专题给大家详细地说明,中间也有一些有意思的小例子,供大家玩耍。一FOR NEXT语...

    首先欢迎各位朋友来到这个平台,分享自己的成果,福不唐捐,总会有所收获。无论是EXCEL的操作,还是VBA的操作,都会对大家有所帮助。知识的讲解过程中,希望大家得到哪怕是一点点的收获,我的时间就是有意义的。

    今日给大家讲VBA的循环,这个是非常基础的知识,在VBA的相关内容中我也一直在用,也在不断的讲解。今日专门作为一个专题给大家详细地说明,中间也有一些有意思的小例子,供大家玩耍。

    一FOR NEXT语句这种循环是以指定的次数来重复执行一组语句

    这个结构一般是这样的:

    for counter= start to end [ step步长值]

    [statements]

    [exit for]

    [statements]

    Next counter

    具体解释一下,初始值指的是循环开始的值,结束值指的是循环结束的值,实质上就是counter值的一个判断,如果counter值在起始值和结束值之间,那么进入循环语句,然后counter值每运行到next语句后,会自动加一个步长值,直至counter值超出了初始值到结束值这个范围,循环才会结束。这里要说明一下,“step步长值”往往是省略掉的,省略掉的话,步长取默认值为1。下面将以一段小实例来具体说明这个结构的用法。

    实例:在sheet1工作表中一次输出1到100这些数,显示在第一列中。

    程序:

    Sub kk()

    Sheets(“sheet1”).select

    Dim i As Integer

    For i = 1 To 100

    Cells(i, 1) = i

    Next

    End Sub

    二for each …NEXT语句这种循环主要功能是对一个数组或一个对象进行操作,让所用元素执行一次循环语句

    For each element in group

    [statements]

    [exit for]

    [statements]

    Nexr element

    具体解释一下,在for next循环中主要是数值变量,而for each …NEXT这种结构是对象变量。什么意思呢?each……in指的是在这个对象集合里面,一次将每一个对象都遍历一边。同样的道理,执行到next后对象自动指到下一个。具体我们来看一下下面的一个实例吧。

    实例:给一个数据区域a1:d5内的所有单元格随机赋值。

    分析:显然数据区域就是一个对象集合,单元格就是这个集合里面的对象。

    程序:

    Sub JJ()

    Sheets("SHeet1").Select

    Dim i As Integer

    For Each c In Range("a1:d5")

    c.Value = Rnd

    Next

    End Sub

    三DO loop语句在条件为true时,重复执行命令区域

    DO WHILE CONDITION

    [statements]

    [exit do]

    [statements]

    LOOP

    或者:

    DO

    [statements]

    [exit do]

    [statements]

    LOOP WHILE CONDITION

    备注:上面的while可以用until代替。

    VBA中如果事先不知道将重复多少次循环,只是知道判断的条件,那么使用Do...Loop语句。Do...Loop语句重复执行某段代码直到条件是true或条件变成true。重复执行代码直到条件是true使用While关键字来检查Do... Loop语句的条件。

    举例:我们用Do While语句来解决求1—100的自然数的和的问题:

    Sub my_sum()

    Dim Lsum As Long, i As Long

    i = 1

    Do While i

    Lsum = Lsum + i

    i= i + 1

    Loop

    MsgBox "1到100的自然数和为:" & Lsum

    End Sub

    好了,到这里把三个循环体都做了讲解,上面也讲到了三个实例,截图如下,我都做了测试,可以使用。

    今日内容回向:

    1 VBA中三种循环体是什么?

    2三种循环的区别和联系是什么?

    3如果不知将循环多少次?用哪个循环体?

    4试着把第一个例子改成第三个的模式。

    分享成果,随喜正能量

    展开全文
  • Sub doloop计算金额() Dim k% k = 1 ...判断当前行列单元格是否为空;如果为空退出do。。。loop循环; If Worksheets(8).Cells(k, "a") = "" Then Exit Do Else //计算c列单元格的金额 Worksh...

    Sub doloop计算金额()
    Dim k%
    k = 1
    Do
        k = k + 1

    //excel表第8个sheet  ;判断当前行列单元格是否为空;如果为空退出do。。。loop循环;
        If Worksheets(8).Cells(k, "a") = "" Then
            Exit Do
        Else

    //计算c列单元格的金额
            Worksheets(8).Cells(k, "c") = Worksheets(8).Cells(k, "a") * Worksheets(8).Cells(k, "b")
        End If
    Loop

    End Sub
     

    展开全文
  • 问题引入 ...后续在《VBA实例4 Excel隐患排查治理台账》详细讲解。 根据组合所在行列调整水平位置和垂直位置。 同样的思路也可用于反应釜位号、仪表位号等批量创建。 主要用到Layer.CreateArtisticTex
  • 为什么VBA这么灵活,一个问题,百度下有好多种答案! 虽然有些错的,大多数不同的方法还都能行,佩服! 这个出错语句判断这个真好 Sub t1() a = InputBox("请输入要查找的sheet名") On Error GoTo 100 ...
  • VBA中冗长的多条件判断如何破

    千次阅读 2019-01-31 04:48:34
    判断语句是VBA中经常用到的代码,语法格式也很简单,但是有些场景中判断条件有很多,如下面代码所示。并且字段不断增多,程序中需要进行判断的地方有多处,每次增加判断条件都要改多处,既麻烦又容易出错。 If ...
  • 可以把下面的代码直接复制到VBA编辑器里测试Sub 生成随机手机号()r = Selection.Row ‘获取当前选择的单元格的行号,如果选择的是一个区域则返回左上角第一个单元格的行号col = Selection.Column '获取当前选择的...
  • EXCEL VBA应用开发与实例精讲完整版

    热门讨论 2012-04-16 14:17:15
    1.3 简单VBA实例 1.4 VBA的学习方法 1.5 调试方 1.6 小结 第2章 VBA的语法基础 2.1 常量和变量 2.2 VBA中的数据类型 2.3 数组 2.4 运算符 2.5 分支语句 2.6 判断语句 2.7 循环语句 2.8 用于退出或暂停...
  • EXCEL VBA应用开发与实例精讲

    热门讨论 2009-05-06 15:34:29
    EXCEL VBA应用开发与实例精讲 作 者: 夏强 编著. 出 版 社: 科学出版社 出版时间: 2006-3-1 内容简介 VBA(Visual Basic for Applications)是Office 系列软件的内置编程语言,在Excel中使用VBA编程将会开发出...
  • VBA-循环语句之For Each..Next

    千次阅读 2018-11-08 17:29:30
    声明:笔记来源于我要自学网-《Excel VBA基础教程...实例应用:判断是否等于“A1”是就填充底色为红色 Sub foreachnext循环1() Dim rng As Range, n! For Each rng In Sheet1.Range("a2:a10") '取a2:a...
  • 之前的一篇文章,讲了如何使用Dir函数遍历获取文件夹下所有文件,当然演示使用的实例比较简单,方便演示结果。实际工作中各部门报送的考勤除了明细统计表还有通报文件。具体文件信息如下图: 本文章就演示如何只...
  • EXCEL VBA应用开发与实例精讲4/4

    热门讨论 2009-05-06 15:38:12
    EXCEL VBA应用开发与实例精讲 作 者: 夏强 编著. 出 版 社: 科学出版社 出版时间: 2006-3-1 内容简介 VBA(Visual Basic for Applications)是Office 系列软件的内置编程语言,在Excel中使用VBA编程将会开发出...
  • VBA 字典使用小结:关键字循环

    千次阅读 2019-12-22 16:59:03
    VBA中创建字典有两种方法: 2.1 引用声明(前期绑定) 在VBE菜单中,选择“工具-引用”,在弹出的对话框中选择中边的“浏览”,此时会打开Windows系统的驱动目录(C:\Windows\System32),然后找到scrrun.dll,...
  • vba之网抓详细事例

    2018-05-27 22:38:01
    VBA抓取网页数据详细教程,举例抓取网页中的表格数据 Sub test() Dim ie, dmt, tbs, i&, tb Set ie = CreateObject("InternetExplorer.Application") '创建一个IE对象 With ie .Visible = True '显示它 ....
  • Excel Vba范例

    2022-02-16 14:02:03
    实例1选择A列最后一个非空单元格 Sub 选择A列最后一个非空单元格() Range("a1048576").End(xlUp).Select End Sub 讲解 (1)Range():返回一个Range对象,它代表一个单元格或单元格区域。区域的大小由其参数决定...
  • Excel VBA Range单元格操作实例

    千次阅读 2020-02-16 21:51:53
    如下示例代码通过VBA将示例工作簿中工作表“Office 2016"以外的工作表名称设置为工作表“Office 2016"中C3单元格的数据验证序列。 数据验证序列是由逗号分隔的字符串,两个逗号之间的空字符串将被忽略。 Sub ...
  • VBA-循环语句之Do...Loop

    千次阅读 2018-11-08 16:35:22
    声明:笔记来源于我要自学网-《Excel VBA基础教程》-授课讲师:曾贤志 Do ... Loop 循环语句,直到满足某个条件 Sub DoLoop基本示例() Dim a% Do a = a + 1 If a &gt; 10 Then MsgBox a &amp; "...
  • VBA与数据库

    2015-11-19 18:07:38
    实例5-7 将工作表数据保存到已有的Access数据库(循环方式)(DAO) 136 •实例5-8 将工作表数据保存到已有的Access数据库(数组方式)(ADO) 138 •实例5-9 将工作表数据保存到已有的Access数据库(数组方式)...
  • EXCEL VBA应用开发与实例精讲1/4

    热门讨论 2009-05-03 23:30:38
    EXCEL VBA应用开发与实例精讲 作 者: 夏强 编著. 出 版 社: 科学出版社 出版时间: 2006-3-1 内容简介 VBA(Visual Basic for Applications)是Office 系列软件的内置编程语言,在Excel中使用VBA编程将会开发出...
  • EXCEL VBA应用开发与实例精讲 作 者: 夏强 编著. 出 版 社: 科学出版社 出版时间: 2006-3-1 内容简介 VBA(Visual Basic for Applications)是Office 系列软件的内置编程语言,在Excel中使用VBA编程将会开发出...
  • 首先,想看详细教程请转向:Excel VBA编程教程 接下来我想介绍一下VBA快速入门最基本的语法。 处理的主函数: Sub fun() ... End Sub 这个语法在c++中可以类比为main,大部分语句都填充在这里。 定义变量: ...
  • Excel VBA编程教程(基础一)

    万次阅读 多人点赞 2020-07-10 19:27:39
    VBA介绍 Visual Basic for Applications(VBA)是 VisualBasic 的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展 Windows 的应用程序功能,特别是Microsoft ...
  • 今天介绍利用Excel VBA的Dir方法来遍历某文件夹下的所有excel文件。还是直接来看例子,假设在D盘有一个叫工作日志的文件夹,里面放着每日的工作记录,都是excel 2007表格,现在由于工作需要要从这里表格中提取数据,...
  • 上一讲【Excel VBA】利用数组、集合、循环等检查各单位报送情况——每月自动汇总考勤数据实例已经完成了检查各单位报送情况的功能,对已报送单位进行打标,未打标的表示是未报送,催促其报送考勤数据。经过不懈的...
  • 对表记录的循环循环的同时将数据显示在树上 Private Sub Form_Load() Dim strSQL As String Dim rst As Object Dim treeNode As Object Dim parentKey As String Me.TreeView0.Nodes.Clear '清空所有节点 Set ...
  • Excel VBA与数据库整合应用范例精讲

    热门讨论 2011-10-29 18:48:38
    内容简介 《Excel VBA 数据库整合应用范例精讲》用180个实例介绍了利用Excel VBA来操作数据库(包括Access、SQL Server和FoxPro)的实用方法和技巧。  全书共11章。第1~6章是利用Excel VBA操作Access数据库的实例...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 613
精华内容 245
关键字:

vba判断循环实例

友情链接: httpdown.rar