设为首页收藏本站

 找回密码
 立即注册
搜索
查看: 41|回复: 0

分享一个快速转置的方法

[复制链接]
累计签到:1 天
连续签到:1 天
灌水成绩
3
23
42
主题
帖子
积分

等级头衔 ID : 819
用户组 : 新手上路

积分成就 测量币 : 42
违规 : 0
在线时间 : 0 小时
注册时间 : 2026-4-6
最后登录 : 2026-4-26

勋章

活跃会员最佳新人

联系方式

发表于 前天 21:19 | 显示全部楼层 |阅读模式 IP:香港

  • Private Declare PtrSafe Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (ByVal Destination As Any, ByVal Source As Any, ByVal Length As LongPtr)

  • Sub Main()
  •     Dim r As Range: Set r = [a1].CurrentRegion
  •     Dim n&, m&, arr, es As LongPtr
  •     n = r.Rows.Count
  •     m = (n + 1) \ 2
  •     arr = Application.Transpose(r)
  •     ReDim res(1 To 6, 1 To m)
  •     es = VarPtr(res(2, 1)) - VarPtr(res(1, 1))
  •     CopyMemory VarPtr(res(1, 1)), VarPtr(arr(1, 1)), r.Count * es
  •     [f1].Resize(m, 6) = Application.Transpose(res)
  • End Sub

测量协会论坛免责声明
重要声明:以上内容仅代表该作者观点,不代表本站测量协会论坛立场。
如有涉及侵权请尽快告知,我们将会在第一时间处理。作者原创内容未经允许不得转载!
站长联系邮箱:1339305021@qq.com
站长联系微信:dddnnbbb
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|测量协会 ( 桂ICP备2026007449号-1 )|网站地图

GMT+8, 2026-4-27 01:34 , Processed in 0.093723 second(s), 33 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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