Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: 兰色幻想

VBA80集第11集练习题答案上交贴

  [复制链接]
发表于 2012-3-15 17:24 | 显示全部楼层
想核对下正确答案,谢谢
回复

使用道具 举报

发表于 2012-3-18 01:02 | 显示全部楼层
游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

发表于 2012-3-18 16:49 | 显示全部楼层
本帖最后由 iilearning 于 2012-3-18 17:09 编辑

Sub test()
Dim rg As Range, i As Integer
' If Application.section = Null Then  '在没有选择范围时如何强迫用户选择?
'     MsgBox "请选择范围"
' End If
    Set rg = Selection
    For i = 1 To rg.Count
        If IsNumeric(rg(i)) And rg(i) <> "" Then
            If rg(i) > 0 Then
                rg(i) = "正数"
            ElseIf rg(i) = 0 Then
                rg(i) = "零"
            ElseIf rg(i) < 0 Then
            rg(i) = "负数"
            End If
        End If
    Next
End Sub

'选择正数
Sub 选择正数()
Dim rg As Range
Dim xz As Range
Dim i, x As Integer
Set rg = Application.InputBox("选择范围", "正数筛选", , , , , , 8)
'      If rg = "" Then
'        MsgBox "你没有选定范围"
'        ElseIf rg = "False" Then
        
'      End If
    'Set rg = Selection
    For i = 1 To rg.Count
        If IsNumeric(rg(i)) And rg(i).Value > 0 Then
            Set xz = rg(i)
            GoTo 100
        End If
      Next
         MsgBox "选择范围内没有正数"
         Exit Sub
        
100:
    For x = i + 1 To rg.Count
        If IsNumeric(rg(x)) And rg(x).Value > 0 Then
            Set xz = Union(xz, rg(x))
        End If
    Next
    xz.Select
End Sub

'选择零所在的行
Sub 选择零所在的行()
Dim rg As Range
Dim xz As Range
Dim i, x As Integer
    Set rg = Selection
    For i = 1 To rg.Count
        If IsNumeric(rg(i)) And rg(i).Value = 0 And rg(i).Value <> "" Then
            Set xz = rg(i)
            GoTo 100
        End If
     Next
         MsgBox "选择范围内没有零"
         Exit Sub
        
100:
    For x = i + 1 To rg.Count
        If IsNumeric(rg(x)) And rg(x).Value = 0 And rg(x).Value <> "" Then
            Set xz = Union(xz, rg(x))
        End If
    Next
    xz.EntireRow.Select
End Sub

'选择负数所在的列
Sub 选择负数所在的列()
Dim rg As Range
Dim xz As Range
Dim i, x As Integer
    Set rg = Selection
    For i = 1 To rg.Count
        If IsNumeric(rg(i)) And rg(i).Value < 0 Then
            Set xz = rg(i)
            GoTo 100
        End If
    Next
         MsgBox "选择范围内没有负数"
         Exit Sub
        
100:
    For x = i + 1 To rg.Count
        If IsNumeric(rg(x)) And rg(x).Value < 0 Then
            Set xz = Union(xz, rg(x))
        End If
    Next
    xz.EntireColumn.Select
End Sub
回复

使用道具 举报

发表于 2012-3-18 21:38 | 显示全部楼层
刚学的,想看看


回复

使用道具 举报

发表于 2012-3-19 11:14 | 显示全部楼层
游客,如果您要查看本帖隐藏内容请回复

回复

使用道具 举报

发表于 2012-3-19 18:52 | 显示全部楼层
我看看来了,,,,,,
回复

使用道具 举报

发表于 2012-3-19 19:25 | 显示全部楼层
帮忙看一下第11课第二题怎么做的啊
回复

使用道具 举报

发表于 2012-3-19 19:53 | 显示全部楼层
Sub 第一题()
Dim rg As Range
  For Each rg In Selection
    If Val(rg) > 0 Then
        rg = "正数"
      End If
     Next
End Sub
Sub 第二题()
Dim rg As Range
Set rg = Cells(2, 1)
Dim i As Integer, j As Integer
For i = 1 To 3
    For j = 2 To 12
        If Cells(j, i).Value > 0 Then
        Set rg = Union(rg, Cells(j, i))
        End If
    Next j
Next i
rg.EntireRow.Select
End Sub
显示代码
回复

使用道具 举报

发表于 2012-3-19 22:07 | 显示全部楼层
游客,如果您要查看本帖隐藏内容请回复

第11集练习题.rar

7.67 KB, 下载次数: 2

回复

使用道具 举报

发表于 2012-3-21 23:21 | 显示全部楼层
我也想学习学习!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-4 01:26 , Processed in 0.271517 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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