Excel精英培训网

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

[习题] 【VBA初级201202班】练习题4(已开贴)

[复制链接]
发表于 2012-7-21 15:55 | 显示全部楼层 |阅读模式
本帖最后由 7711 于 2012-7-25 21:32 编辑

本题只限VBA初级201202班同学练习
上交请注明:练习名+学号+论坛ID(有附件的也要注明)

本帖开帖前仅作者可见,每位同学只能占一个楼层.如有更改请在原楼层直接更改
水贴必扣

1.请用3个不同的循环语句将A1到A10单元格中行数为偶数的(如A2,A4......)值为"EP"

自由发挥(每对一个2BB+2经验)

2.请用循环语句生成一个10内的加法表

自由发挥(4BB+4经验)

未命名.jpg





 楼主| 发表于 2012-7-21 16:11 | 显示全部楼层
本帖最后由 7711 于 2012-7-25 21:29 编辑


1\
HH:
x = x + 1
If x Mod 2 = 1 Then x = x + 1
Cells(x, "A") = "EP"
If x < 10 Then GoTo HH:
2\
    For i = 2 To 10 Step 2
        Cells(i, 1) = "EP"
    Next

回复

使用道具 举报

发表于 2012-7-21 16:25 | 显示全部楼层
本帖最后由 sally萨莉 于 2012-7-21 17:58 编辑

Sub 练习4()
    Dim xr As Integer
    Dim ymod
    For xr = 1 To 10
        ymod = Range("a" & xr).Row Mod 2
        If ymod = 0 Then
            Range("a" & xr) = "EP"
        End If
    Next xr
End Sub
Sub 练习41()
    Dim xr As Integer
    Dim rg As Range
    Dim ymod
    For Each rg In Range("a1:a10")
        ymod = rg.Row Mod 2
        If ymod = 0 Then
            rg = "EP"
        End If
    Next rg
End Sub
Sub 练习42()
    Dim xr As Integer
    Dim rg As Range
    Dim ymod
    xr = 1
    Do While xr < 11
        ymod = Range("a" & xr).Row Mod 2
        If ymod = 0 Then
            Range("A" & xr) = "EP"
        End If
        xr = xr + 1
    Loop
End Sub

评分

参与人数 1 +6 金币 +6 收起 理由
7711 + 6 + 6 非常好!

查看全部评分

回复

使用道具 举报

发表于 2012-7-21 17:05 | 显示全部楼层
本帖最后由 rmsc_kr 于 2012-7-21 17:16 编辑

练习4
学号:B21:rmsc_kr
论坛ID:rmsc_kr

代码:

Sub 题1一1()
Dim x As Integer
For x = 1 To 10
If x Mod 2 = 0 Then Range("A" & x) = "EP"
Next
End Sub

Sub 题1一2()
Dim ra As Range
For Each ra In Range("A1:A10")
If ra.Row Mod 2 = 0 Then ra = "EP"
Next
End Sub

Sub 题1一3()
Dim x As Integer
Do While x < 10
x = x + 1
If x Mod 2 = 0 Then Cells(x, 1) = "EP"
Loop
End Sub

Sub 题2()
Dim x, y As Integer
100:
y = 0
x = x + 1
Do
y = y + 1
Cells(y, x) = IIf(x > y, "", y & "+" & x & "=" & y + x)
Loop Until y > 9
If x < 10 Then GoTo 100
End Sub

听学委说用跳转的方法,题2重新做了一下

评分

参与人数 1 +10 金币 +10 收起 理由
7711 + 10 + 10 非常好!跳转只是让你知道还有这么一种方法.

查看全部评分

回复

使用道具 举报

发表于 2012-7-21 17:39 | 显示全部楼层
A15:hoogle   交作业

Sub 循环1()
Dim i%
For i = 1 To 10
    If i Mod 2 = 0 Then
    Cells(i, 1) = "EP"
    End If
Next
End Sub

Sub 循环2()
Dim i%
Do
i = i + 1
    If i Mod 2 = 0 Then
        Cells(i, 1) = "EP"
    End If
Loop Until i = 10
End Sub

Sub 循环3()
Dim i As Integer
Dim arr(10) As Integer
For i = 0 To 9
     arr(i) = i + 1
Next
For Each b In arr
b = b + 1
    If b Mod 2 = 0 Then
        Cells(b, 1) = "EP"
    End If
Next
End Sub

Sub 十以内的加法()
Dim i%, j%
For i = 1 To 10
    For j = 1 To i
    Cells(i, j) = j & "+" & i & "=" & i + j
    Next
Next
End Sub

评分

参与人数 1 +10 金币 +10 收起 理由
7711 + 10 + 10 基础非常好,不过用到数组有点多余

查看全部评分

回复

使用道具 举报

发表于 2012-7-21 17:58 | 显示全部楼层
第一题:
Sub 循环1()    'for next 循环
    Dim i%
    Range("a1:a10").ClearContents
    For i = 1 To 10
        If Cells(i, 1).Row Mod 2 = 0 Then
            Cells(i, 1) = "ep"
        End If
    Next
End Sub
Sub 循环2()
    Dim mycell As Range
    Dim myrange As Range
    Set myrange = Range("a1:a10")
    myrange.Clear
    For Each mycell In myrange
        If mycell.Row Mod 2 = 0 Then
            mycell.Value = "ep"
        End If
    Next
End Sub
Sub 循环3()
    Dim i%
    i = 1
    Range("a1:a10").Clear
    Do While i <= 10
       If Range("a" & i).Row Mod 2 = 0 Then Range("a" & i).Value = "ep"
      i = i + 1
    Loop
End Sub
第二题:
Sub jiafa()
    Dim i%, j%
    'On Error Resume Next
    Range("a1").CurrentRegion.Clear
    For i = 1 To 10
        For j = 1 To 10
            If i < j Then
                Cells(i, j) = ""
            Else
                Cells(i, j) = j & "+" & i & "=" & i + j
            End If
        Next
    Next
End Sub

【VBA初级201202班】练习题4 B02-望天打卦.rar

9.26 KB, 下载次数: 4

评分

参与人数 1 +10 金币 +10 收起 理由
7711 + 10 + 10 基础非常好!

查看全部评分

回复

使用道具 举报

发表于 2012-7-22 07:41 | 显示全部楼层
谢谢老师,谢谢老师

【VBA初级201202班】练习题4-B15-tsigms.rar

8.97 KB, 下载次数: 22

评分

参与人数 2 +13 金币 +10 收起 理由
hoogle + 3 很给力!
7711 + 10 + 10 好样的4种方法!

查看全部评分

回复

使用道具 举报

发表于 2012-7-22 12:08 | 显示全部楼层
做下试试。。

【VBA初级201202班】练习题4 A组长 冠军欧洲2010.rar

8.61 KB, 下载次数: 117

评分

参与人数 1 +10 金币 +10 收起 理由
7711 + 10 + 10 好样的,如果用If X &amp;lt;= Y Then会少些代码.

查看全部评分

回复

使用道具 举报

发表于 2012-7-23 10:11 | 显示全部楼层
练习4.zip (10.78 KB, 下载次数: 5)

点评

加法运算要多想下,mro.Select i = Selection.Row改为i = mro.Row会好些  发表于 2012-7-25 21:15

评分

参与人数 1 +8 金币 +8 收起 理由
7711 + 8 + 8 非常好!

查看全部评分

回复

使用道具 举报

发表于 2012-7-23 18:28 | 显示全部楼层

RE: 【VBA初级201202班】练习题4

只会做一个,还不知道对不对。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 18:30 , Processed in 0.298401 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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