ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 新人小白正在学习vba,求指教。以日期分类,同一天有一行数据就在数据末尾插入35空行

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-1-9 15:26 | 显示全部楼层 |阅读模式
新人小白正在学习vba,求指教,以日期列分类,同一天有一行数据就在数据末尾插入35空行,同一天有两行就在数据末尾插入34空行,有三行数据就在数据末尾插入33空行,以此类推。保证下一个37行开始是新一天的数据。Sheet2为例子

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-1-9 15:32 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
学习数据.rar (44.9 KB, 下载次数: 15)

TA的精华主题

TA的得分主题

发表于 2024-1-9 15:55 | 显示全部楼层
365函数,凑个热闹
  1. =VSTACK(A1:H1,LET(_row,36,_seq,Sheet1!A2:A343,DROP(REDUCE(0,UNIQUE(_seq),LAMBDA(x,y,VSTACK(x,LET(_data,FILTER(Sheet1!A2:H343,_seq=y),DROP(REDUCE(0,SEQUENCE(ROUNDUP(ROWS(_data)/_row,))*_row,LAMBDA(a,b,VSTACK(a,EXPAND(DROP(TAKE(_data,b),b-_row),_row,,"")))),1))))),1)))
复制代码




快去改写365函数.zip

104.73 KB, 下载次数: 3

TA的精华主题

TA的得分主题

发表于 2024-1-9 18:08 | 显示全部楼层
运行的有点慢,不过貌似可以实现。

数据1.rar

53.29 KB, 下载次数: 3

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-1-12 08:11 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
咔咔乱坠 发表于 2024-1-9 15:55
365函数,凑个热闹

谢谢 感谢大神支持

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-1-12 08:12 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-1-12 09:30 | 显示全部楼层
咔咔乱坠 发表于 2024-1-9 15:55
365函数,凑个热闹

大神,函数已经收到了,但是不会用,修改和编辑都显示错误。。。。。

TA的精华主题

TA的得分主题

发表于 2024-1-12 10:29 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
Sub ss()
    js = 0
    rq = Sheet1.Cells(2, 1).Value
    x1 = 2
    Do While Not (IsEmpty(Sheet1.Cells(x1, 1).Value))
      If Sheet1.Cells(x1, 1).Value = rq Then
        js = js + 1               ' 对相同的日期进行检测并计数
      Else
        For i = 1 To 36 - js      ' 根据日期个数,插入行数
          Cells(x1, 1).Select
          Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
        Next i
        x1 = x1 + 36 - js                  ' 跳过空行,以便保证对下一个日期的检测
        rq = Sheet1.Cells(x1, 1).Value     ' 保存下一个日期,以便判断
        js = 1                             ' 初始化计数变量
      End If
      x1 = x1 + 1
    Loop
End Sub

调试通过的

TA的精华主题

TA的得分主题

发表于 2024-1-12 11:22 | 显示全部楼层
mao9998 发表于 2024-1-12 09:30
大神,函数已经收到了,但是不会用,修改和编辑都显示错误。。。。。

excel365版本的函数,版本太低没法用哦

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-1-13 10:12 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
wengjl 发表于 2024-1-12 10:29
Sub ss()
    js = 0
    rq = Sheet1.Cells(2, 1).Value

谢谢大神  已可以用。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-6-29 11:39 , Processed in 0.036563 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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