Excel精英培训网

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

[已解决]如何用代码提取想要的数据?

[复制链接]
发表于 2016-4-24 20:54 | 显示全部楼层 |阅读模式
本帖最后由 安妮妮 于 2016-4-24 21:42 编辑

附件 提数附件.rar (136.15 KB, 下载次数: 19)
发表于 2016-4-24 21:24 | 显示全部楼层    本楼为最佳答案   
Sub Click()
    Dim A, B, i, j, k, x, s
    A = Sheets(1).Range("a1").CurrentRegion
    ReDim B(1 To UBound(A), 1 To UBound(A, 2))
    x = [k1]

    For i = 1 To UBound(A)
        If A(i, UBound(A, 2)) = x Then
            '>>>>>>>>>>>>>>
            For k = i To i + 1
                If k <= UBound(A) Then
                    s = s + 1
                    For j = 1 To UBound(A, 2)
                        B(s, j) = A(k, j)
                    Next j
                End If
            Next k
            '<<<<<<<<<<<<<<
        End If
    Next i

    Sheets(3).Select
    Cells.Clear
    Range("a1").Resize(s, UBound(A, 2)) = B
    Range("a1").Select
End Sub

提数附件2.rar (143.79 KB, 下载次数: 27)

评分

参与人数 1 +1 收起 理由
安妮妮 + 1 很给力

查看全部评分

回复

使用道具 举报

发表于 2016-4-24 21:38 | 显示全部楼层
提数附件424.rar (131.17 KB, 下载次数: 17)

评分

参与人数 1 +1 收起 理由
安妮妮 + 1 赞一个

查看全部评分

回复

使用道具 举报

发表于 2016-4-24 21:40 | 显示全部楼层
本帖最后由 thelastdance 于 2016-4-24 21:42 编辑
  1. Sub dance()
  2.     Dim arr, ar(1 To 10000, 1 To 9)
  3.     arr = Range("a1:I" & Cells(Rows.Count, "I").End(3).Row)
  4.     y = 0
  5.     For x = 1 To UBound(arr)
  6.     If arr(x, 9) = Cells(1, "k") Then
  7.        y = y + 3
  8.        For k = 1 To 9
  9.        ar(y, k) = arr(x, k)
  10.        ar(y + 1, k) = arr(x + 1, k)
  11.        Next
  12.     End If
  13.     Next
  14.     Sheets(2).Range("a1").Resize(10000, UBound(ar, 2)) = ar
  15. End Sub
复制代码

评分

参与人数 2 +15 收起 理由
橘子红 + 14 赞一个
安妮妮 + 1 赞一个

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 03:30 , Processed in 0.537475 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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