ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 562|回复: 1

[已解决] 周查询SHEET1数据,反黄色數據到sheet2

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-12-25 17:04 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 cmo9020 于 2022-12-25 21:44 编辑

123.rar (726.63 KB, 下载次数: 3)

导师们好~~~~周末假日快乐 请教导师们问题
周查询SHEET1数据,反黄色數據到sheet2
怎么修改这?谢谢各位导师

Sub 按鈕4388_Click()
Dim brr(1 To 100, 1 To 13), crr(1 To 100, 1 To 13)
With Sheet1
    r1 = .Cells(.Rows.Count, 1).End(3).Row
    arr1 = .Range("C4:AB" & r1)
End With
td = [D1]
For i = 1 To UBound(arr1)
If arr1(i, 4) = td Then
k = k + 1
brr(k, 1) = arr1(i, 1)
For j = 2 To 13
brr(k, j) = arr1(i, j + 1)
Next
End If
Next
If k <> 0 Then
Range("A3:M25").ClearContents
[A3].Resize(k, 13) = brr
Else
MsgBox "NO Data"
End If

End Sub


TA的精华主题

TA的得分主题

发表于 2022-12-25 20:16 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 shiruiqiang 于 2022-12-25 20:19 编辑

数组arr1=sheets(1).range("c4:ab"&r1),"WK"在“d”列,那应该循环是从arr1(i,2)=td才是吧, for i 要从1开始
image.png
image.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-12-25 21:42 | 显示全部楼层
本帖最后由 cmo9020 于 2022-12-25 23:46 编辑
shiruiqiang 发表于 2022-12-25 20:16
数组arr1=sheets(1).range("c4:ab"&r1),"WK"在“d”列,那应该循环是从arr1(i,2)=td才是吧, for i 要从1开 ...

谢谢导师解答...目前机器人给我的答案是这样,问题己解决
谢谢导师~

1.JPG

Sub Button4388_Click()
    Dim arr1 As Variant
    Dim brr(1 To 100, 1 To 12) As Variant ' Modified array to store 12 columns
    Dim r1 As Long, td As Date, k As Long
   
    With Sheet1
        r1 = .Cells(.Rows.Count, 3).End(3).Row ' Get the last row of column C
        arr1 = .Range("A3:AC" & r1) ' Read all columns from A3 to AC of Sheet1
        
        td = [D1] ' Get the value in D1
        
        ' Clear the contents of A3:M25 in Sheet2
        Sheet2.Range("A3:M25").ClearContents
    End With
   
    For i = 1 To UBound(arr1)
        If arr1(i, 3) = td Then ' If the date in column C matches the value in D1
            k = k + 1
            brr(k, 1) = arr1(i, 3) ' C column
            brr(k, 2) = arr1(i, 4) ' D column
            brr(k, 3) = arr1(i, 6) ' F column
            brr(k, 4) = arr1(i, 7) ' G column
            brr(k, 5) = arr1(i, 8) ' H column
            brr(k, 6) = arr1(i, 9) ' I column
            brr(k, 7) = arr1(i, 10) ' J column
            brr(k, 8) = arr1(i, 11) ' K column
            brr(k, 9) = arr1(i, 16) ' P column
            brr(k, 10) = arr1(i, 24) ' X column
            brr(k, 11) = arr1(i, 26) ' Z column
            brr(k, 12) = arr1(i, 27) ' AA column
        End If
    Next
   
    If k <> 0 Then
        ' Copy the data from brr to A3:L in Sheet2
        Sheet2.Range("A3").Resize(k, 12) = brr
    Else
        MsgBox "NO Data"
    End If
End Sub


21212121.JPG
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-20 02:38 , Processed in 0.025916 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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