当前位置: 首页 > news >正文

用VBA在Word中随机打乱单词表,进行分列

一、效果展示(以下是三次随机打乱的结果)

 

二、代码

Sub 随机分单词到后面的单元格()Dim C1 As CellDim str, str1, aDim shuffledArray() As VariantSet C1 = Selection.Range.Tables(1).Cell(1, 1)str = C1.Range.textstr = mid(str, 3, Len(str) - 4)str1 = Split(str, vbCr)' 获取数组大小arraySize = UBound(str1) - LBound(str1) + 1halfSize = arraySize \ 2' 生成一个打乱的数组ReDim shuffledArray(LBound(str1) To UBound(str1))For i = LBound(str1) To UBound(str1)shuffledArray(i) = str1(i)Next i' 打乱数组Call 随机打乱数组(shuffledArray)' 分配到两个新数组ReDim group1(LBound(shuffledArray) To halfSize - 1)ReDim group2(halfSize To UBound(shuffledArray))For i = LBound(shuffledArray) To UBound(shuffledArray)If i < halfSize Thengroup1(i) = shuffledArray(i)Elsegroup2(i) = shuffledArray(i)End IfNext i' 输出结果For Each a In group1str2 = str2 & a & vbCrNextFor Each a In group2str3 = str3 & a & vbCrNextSelection.Range.Tables(1).Cell(1, 2).Range.text = str2Selection.Range.Tables(1).Cell(1, 3).Range.text = str3End SubSub 随机打乱数组(ByRef arr() As Variant)Dim i As IntegerDim j As IntegerDim temp As VariantDim n As Integern = UBound(arr) - LBound(arr) + 1For i = LBound(arr) To UBound(arr)j = Int((UBound(arr) - LBound(arr) + 1) * Rnd + LBound(arr))temp = arr(i)arr(i) = arr(j)arr(j) = tempNext i
End Sub

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • (四十一)大数据实战——spark的yarn模式生产环境部署
  • 数据守护者的秘籍:SQL Server数据库备份验证全攻略
  • python实现小游戏——植物大战僵尸(魔改版本)
  • Apache Kylin入门指南
  • 链表篇: 04-寻找两个链表的第一个公共结点
  • [极客大挑战 2019]BuyFlag1
  • A+B V2 51Nod - 3415
  • 实验4-1-7 特殊a串数列求和
  • python 中的 join()
  • 【第二章】软件开发生命周期-瀑布模型:详细解析与案例分析
  • python使用venv生成虚拟环境
  • Flink DataStream API编程入门
  • 立项技术路线选择
  • CVE-2023-33440~文件上传[春秋云境靶场渗透]
  • ffmpeg 的内存分配架构
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 【React系列】如何构建React应用程序
  • 345-反转字符串中的元音字母
  • JavaScript标准库系列——Math对象和Date对象(二)
  • Laravel核心解读--Facades
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • Magento 1.x 中文订单打印乱码
  • Python学习之路16-使用API
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • Vue小说阅读器(仿追书神器)
  • 将 Measurements 和 Units 应用到物理学
  • ​Linux·i2c驱动架构​
  • ‌U盘闪一下就没了?‌如何有效恢复数据
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • (1)(1.11) SiK Radio v2(一)
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (六)DockerCompose安装与配置
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (一)十分简易快速 自己训练样本 opencv级联haar分类器 车牌识别
  • .gitignore文件忽略的内容不生效问题解决
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .net 受管制代码
  • .net项目IIS、VS 附加进程调试
  • .NET性能优化(文摘)
  • ::什么意思
  • @converter 只能用mysql吗_python-MySQLConverter对象没有mysql-connector属性’...
  • @SuppressWarnings(unchecked)代码的作用
  • [24年新算法]NRBO-XGBoost回归+交叉验证基于牛顿拉夫逊优化算法-XGBoost多变量回归预测
  • [BT]小迪安全2023学习笔记(第15天:PHP开发-登录验证)
  • [Bzoj4722]由乃(线段树好题)(倍增处理模数小快速幂)
  • [C#]winform使用引导APSF和梯度自适应卷积增强夜间雾图像的可见性算法实现夜间雾霾图像的可见度增强
  • [C++] vector对比list deque的引出
  • [CSS]中子元素在父元素中居中
  • [leetcode]swap-nodes-in-pairs
  • [Linux]使用CentOS镜像与rpm来安装虚拟机软件
  • [MFC] VS2013版本MFC工程移植到VC6.0上
  • [one_demo_4]不使用第3个变量交换两个变量的值