Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2509|回复: 4

[VBA学习资料] 每周二培训笔记分享【第12讲】练习与巩固--2012年03月20日

[复制链接]
发表于 2012-3-27 22:39 | 显示全部楼层 |阅读模式
本帖最后由 zhouyunj 于 2012-3-27 23:00 编辑

感谢兰版的精彩教学,受益匪浅,万分感激!
以下所有笔记均为兰版每周二晚培训课程的本人做的笔记--完整版

【第12讲】练习与巩固--2012年03月20日
主要内容:
1、选取符合条件的行
2、Left方法,union方法,Len方法
-------------------------------------------------
上节回顾--- 练习:不允许查看“主界面”外的任何sheet页
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Sheets("主界面").Select
End Sub

Sub test()
    Dim rg As Range
    Set rg = Range("a1:a10")
    If rg Is Nothing Then  'is nothing 判断对象变量为空,
    '...
    End If
   
    If Not rg Is Nothing Then  'NOT xx is nothing 判断对象变量为空,
    '...
    End If
   
   
    Dim str As String
    If str = "" Then ' str = "" 判断字符串是否为空 ,<>""非空
    '...
    End If
   
    MsgBox rg.Address
End Sub

'D列金额大于20的行全部选取
'产品,数量,单价,金额
Sub dd()
    Dim rg As Range, x As Integer
    For x = 2 To 11
        If Cells(x, 4) > 20 Then
            If rg Is Nothing Then
                Set rg = Rows(x)
            Else
                Set rg = Union(rg, Rows(x)) '追加符合条件的行
            End If
        End If
    Next x
    rg.Select
End Sub
Sub d22()  '人工肉眼方法手工选择多行
    Range("3:3, 5:5, 10:10, 11:11").Select
End Sub
'D列金额大于20的行全部选取
'产品,数量,单价,金额
'方法2
Sub dd2()
Dim sr As String, x As Integer
For x = 2 To 11
    If Cells(x, 4) > 20 Then
        If sr = "" Then
            sr = x & ":" & x
        Else
            sr = sr & "," & x & ":" & x
        End If
    End If
Next x
Range(sr).Select   '即:Range("3:3, 5:5, 10:10, 11:11").Select
'截取字符串 从第2个截取到第200个
'sr = Mid(sr, 2, 200)
End Sub

Sub dd3()
Dim sr As String, x As Integer, k As Integer
For x = 2 To 11
    k = x '临时变量k记住起始行的x值
    If Cells(x, 4) > 20 Then    '判断第起始x行4列的值是否满足要求
        Do While Cells(x, 4) > 20   '循环判断连续的下一行是否也满足要求
            x = x + 1
        Loop
            sr = sr & k & ":" & x - 1 & ","
    End If
Next x
    sr = Left(sr, Len(sr) - 1)  'left 从左开始截取字符串(len取出总字符长度 并-1)去掉最后一个“,”
    Range(sr).Select
End Sub

Sub Union的使用()
    Union(Range("a1"), Range("b1:c2"), Range("d2:d5")).Value = 100
End Sub

评分

参与人数 1 +3 收起 理由
kxc6901 + 3 很给力!

查看全部评分

发表于 2012-3-29 11:27 | 显示全部楼层
谢谢分享。                           
回复

使用道具 举报

发表于 2012-4-1 16:00 | 显示全部楼层
回复

使用道具 举报

发表于 2012-4-8 13:50 | 显示全部楼层
等级不够高所以无法下载
回复

使用道具 举报

发表于 2012-4-10 14:18 | 显示全部楼层
顶下楼主
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-2 15:30 , Processed in 0.250295 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表