office 365新增函数《WRAPROWS 函数》、《WRAPCOLS 函数》、《TOROW 函数》、《TOCOL 函数》可以将单元格区域按固定的行数、列数转换为新的单元格区域

对于没有office 365又想使用这个函数,就只能自己写VBA代码自定义函数了

Function wraparr(data_arr, Optional mode As String = "row", Optional wrap_count As Long = 1)'函数定义wraparr(区域,模式行/列,固定行/列数)对区域按模式、固定行/列数,转换返回一个二维数组'2种模式,"row"即固定行数、"col"即固定列数;若无足够的元素填充,则为空值;数组从1开始计数'可将单行、单列、多行多列转换为单行、单列、多行多列;固定行数时按行写入,固定列数时按列写入Dim data_count&, n&, i&, j&, x&, y&, arr, resultdata_count = (UBound(data_arr) - LBound(data_arr) + 1) * (UBound(data_arr, 2) - LBound(data_arr, 2) + 1)  '数组最大个数ReDim arr(1 To data_count)For i = LBound(data_arr) To UBound(data_arr)For j = LBound(data_arr, 2) To UBound(data_arr, 2)x = x + 1arr(x) = data_arr(i, j)NextNext
'--------------------for...each写法
'    data_arr = WorksheetFunction.Transpose(data_arr)
'    For Each a In data_arr
'        x = x + 1
'        arr(x) = a
'    Next'固定行数返回数组的列数,固定列数反之;向上取整n = WorksheetFunction.RoundUp(data_count / wrap_count, 0)If LCase(mode) = "row" Then'固定行数,按行写入ReDim result(1 To wrap_count, 1 To n)For i = 1 To wrap_countFor j = 1 To ny = y + 1If y <= data_count Then result(i, j) = arr(y) Else Exit ForNextNextElseIf LCase(mode) = "col" Then'固定列数,按列写入ReDim result(1 To n, 1 To wrap_count)For j = 1 To wrap_countFor i = 1 To ny = y + 1If y <= data_count Then result(i, j) = arr(y) Else Exit ForNextNextEnd Ifwraparr = result
End Function

举例

Private Sub wraparr测试()Dim arr, resultarr = [a1].CurrentRegion.Value'区域转换为多行多列result = wraparr(arr, "row", 6)[a7].Resize(UBound(result), UBound(result, 2)) = result'区域转换为多行多列,有多余result = wraparr(arr, "col", 5)[a15].Resize(UBound(result), UBound(result, 2)) = result
End Sub

Excel·VBA单元格区域行列数转换函数相关推荐

  1. Excel·VBA单元格区域获取/删除连续行列函数

    office 365新增函数<TAKE 函数>和<DROP 函数>可以获取/删除单元格区域开头或结尾连续行.列,并返回一个单元格区域 对于没有office 365又想使用这个函 ...

  2. Excel·VBA单元格区域获取指定行列函数

    office 365新增函数<CHOOSEROWS 函数>和<CHOOSECOLS 函数>可以获取单元格区域指定行.列,并返回一个单元格区域 对于没有office 365又想使 ...

  3. Excel·VBA单元格区域按颜色求和等计算

    目录 1,单元格区域按颜色求和.计数.求平均值.最值 举例 2,单元格区域按颜色和值是否相等 举例 1,单元格区域按颜色求和.计数.求平均值.最值 Function color_calc(rng As ...

  4. excel判断单元格包含指定内容的函数用=IF(COUNTIF(A1,*内容*),0,1)

    前面我们聊过怎样将Excel包含某字符的单元格填充颜色,这边我们用另外一种方法来实现:excel判断单元格包含指定内容的函数 选中需要显示结果的单元格,假设我们要判断第一行第一列的单元格A1是否含有& ...

  5. Excel除了复制粘贴,更快速的将单元格区域的公式转换成数值?

    将excel公式的结果转化为数值最常用的方法就是: [选择性粘贴]-[粘贴数值]-[值].但是如果做销售数据的时候,需要多次进行这样的操作,就很麻烦. . 第二种方法就是选取包含公式的单元格区域,按住 ...

  6. excel指定单元格区域添加相同的字符串

    思路 吐槽一下:网上百度的结果不知道是过时了还是office版本不对,老是出错! 思路:使用excel的公式,但前提一定要保证公式中数据类型的一致性,否则会出现类似以下几种情况: #value!,#n ...

  7. Excel·VBA单元格合并、撤销合并

    目录 1,合并选中单元格区域,并保留所有内容 举例 2,合并选中单元格区域,仅合并连续相同的值 3,撤销选中区域内的合并单元格,并对单元格赋值原值 举例 4,选中列向下合并连续空单元格 举例 1,合并 ...

  8. excel为单元格区域套用表格样式以及取消表格样式

    直接套用表格样式是最简单快捷的表格美化手段,而且制作出来的表格外观看起来也很专业. (常见问题) Excel表格样式的套用与创建 如何把内容粘贴到excel单元格时自动套用excel的单元格格式 ex ...

  9. Excel一个单元格中输入度分秒转换成小数(如256.3246(读256度32分46秒))

    1.度.分.秒在一个单元格中转换成小数度.设A1为输入的度.分.秒单元格,B1为小数度单元格,若A1=256.3246(读着256度32分46秒),则:     B1=INT(A1)+INT(100* ...

  10. Excel·VBA单元格摘要备注内容提取

    <excel吧提问-单元格摘要备注内容提取>,对单元格备注内容,分别提取姓名和金额 注意:sub中的正则匹配局限性较大,小心使用,且仅支持操作英文括号()内的内容 Private Func ...

最新文章

  1. (转) 使用Speech SDK 5.1文字转音频
  2. 【简报】超棒的拖放式文件上传javascript类库:FileDrop
  3. 未处理的异常: 0xC0000235: 由句柄所调用的 NtClose 已使用 NtSetInformationObject 以防止关闭。...
  4. Ext.Net中CheckboxSelectionModel的动态隐藏(显示),一定条件下的隐藏(不让选择),获得多选栏位的信息,及后台控件的动态创建...
  5. UTF-8 可变编码格式
  6. 蓄电池单格电压多少伏_蓄电池充电规范手册
  7. 除去数组中的空字符元素array_filter()
  8. 如何用百度MIP快速搭建体验友好的移动页面
  9. groovy 兼容 java_java – eclipse插件和maven依赖项中存在的’groovy-all’jar之间的兼容性问题...
  10. GitHub#python#:用自组织映射解决旅行商问题
  11. 程序员必备技能之 Git 的体系结构与历史
  12. python的进程和线程
  13. 单片机c语言串口中断函数,12手把手教你学单片机的C语言程序设计_中断服务函数.pdf...
  14. 网赚项目之站群第一课如何利用站群快速赚钱
  15. 碳足迹 carbon footprint
  16. 注册微信小程序的操作步骤
  17. Android permission denied原因归纳和解决办法
  18. 线性代数行列式计算之元素拆分与凑项法
  19. html53列多行表格样式,教程(53):表格之美--了解布局菜单!
  20. android应用 数量,谷歌Android应用数量超40万 免费应用占总数2/3

热门文章

  1. BZOJ - 4516: [Sdoi2016]生成魔咒
  2. 100000以内的水仙花数C语言,找出1000000内的水仙花数
  3. EF System.NotSupportedException
  4. day17-25序列化、python操作CSV/EXCEL/PDF/WORD/PPT文件、爬虫、正则表达式
  5. python352的值为_Python3高级基础(2)
  6. 电脑系统能ping通但不能上网怎么办
  7. 泰克示波器3系MDO再次升级,使EMI测试不再求人
  8. ADSL拨号代理服务器实现HTTP代理的搭建过程
  9. InternetDownloadManager(6.30.8)下载利器IDM破解版
  10. android手机无分区无法刷机,adb sideload 刷机教程:当你手机无法开机,内存里没有ROM时......