找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5264|回复: 0
打印 上一主题 下一主题
收起左侧

VBA把一个表中符合条件的内容复制到其他表中

[复制链接]
跳转到指定楼层
楼主
ID:59284 发表于 2014-3-1 01:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Public Sub Sorting()
Dim i As Long, j As Long, oi_cg As Long, oi_dy As Long, oi_ns As Long, oi_sdj As Long, oi_teh As Long, oi_sk As Long
oi_cg = 2: oi_dy = 2: oi_ns = 2: oi_sdj = 2: oi_teh = 2: oi_sk = 2  '给每个班加个计数器
Worksheets("辰光").Cells.Delete
Worksheets("东苑").Cells.Delete
Worksheets("南山").Cells.Delete
Worksheets("山丹街").Cells.Delete
Worksheets("天鹅湖").Cells.Delete
Worksheets("上坎").Cells.Delete     '做之前把这几个表格清空
With Worksheets("123")
    For i = 3 To .UsedRange.Rows.Count
        If Left(.Range("F" & i).Value, 2) = "00" Then
            Worksheets("辰光").Range("A" & oi_cg & ":Q" & oi_cg).Value = .Range("A" & i & ":Q" & i).Value
            oi_cg = oi_cg + 1
            GoTo toNextrow
        End If
        '如果编号前两位10,11街区,在东苑的表中写入A1:Q1,range的书写格式,区域的意思,A列两边双引号,&是连接符,oi行,A1的意思
        If Left(.Range("F" & i).Value, 2) = "11" Or Left(.Range("F" & i).Value, 2) = "10" Then
            Worksheets("东苑").Range("A" & oi_dy & ":Q" & oi_dy).Value = .Range("A" & i & ":Q" & i).Value
            oi_dy = oi_dy + 1
            GoTo toNextrow
        End If
        If Left(.Range("F" & i).Value, 2) = "19" Or Left(.Range("F" & i).Value, 2) = "09" Then
            Worksheets("南山").Range("A" & oi_ns & ":Q" & oi_ns).Value = .Range("A" & i & ":Q" & i).Value
            oi_ns = oi_ns + 1
            GoTo toNextrow
        End If
        If Left(.Range("F" & i).Value, 2) = "15" Or Left(.Range("F" & i).Value, 2) = "17" Or Left(.Range("F" & i).Value, 2) = "25" Or Left(.Range("F" & i).Value, 2) = "26" Or Left(.Range("F" & i).Value, 2) = "32" Or Left(.Range("F" & i).Value, 2) = "33" Or Left(.Range("F" & i).Value, 2) = "34" Or Left(.Range("F" & i).Value, 2) = "35" Or Left(.Range("F" & i).Value, 2) = "36" Or Left(.Range("F" & i).Value, 2) = "45" Then
            Worksheets("山丹街").Range("A" & oi_sdj & ":Q" & oi_sdj).Value = .Range("A" & i & ":Q" & i).Value
            oi_sdj = oi_sdj + 1
            GoTo toNextrow
        End If
        If Left(.Range("F" & i).Value, 2) = "03" Or Left(.Range("F" & i).Value, 2) = "13" Or Left(.Range("F" & i).Value, 2) = "14" Or Left(.Range("F" & i).Value, 2) = "22" Or Left(.Range("F" & i).Value, 2) = "31" Or Left(.Range("F" & i).Value, 2) = "37" Or Left(.Range("F" & i).Value, 2) = "38" Or Left(.Range("F" & i).Value, 2) = "39" Then
            Worksheets("天鹅湖").Range("A" & oi_teh & ":Q" & oi_teh).Value = .Range("A" & i & ":Q" & i).Value
            oi_teh = oi_teh + 1
            GoTo toNextrow
        End If
        If Left(.Range("F" & i).Value, 2) = "40" Or Left(.Range("F" & i).Value, 2) = "41" Or Left(.Range("F" & i).Value, 2) = "42" Or Left(.Range("F" & i).Value, 2) = "43" Or Left(.Range("F" & i).Value, 2) = "44" Or Left(.Range("F" & i).Value, 2) = "46" Then
            Worksheets("上坎").Range("A" & oi_sk & ":Q" & oi_sk).Value = .Range("A" & i & ":Q" & i).Value
            oi_sk = oi_sk + 1
        End If
toNextrow:
    Next i
End With
End Sub
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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