首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

不使用VBA在Excel中滚动TTRPG骰子?需要像FOR()循环这样的东西

在Excel中滚动TTRPG(Tabletop Role-Playing Game)骰子,可以通过以下步骤实现,而无需使用VBA:

  1. 创建一个名为"骰子"的工作表,并在A列中输入骰子的面数(如6、10、20等)。
  2. 在B列中使用RAND()函数生成随机数,范围为0到1。
  3. 在C列中使用ROUND()函数将B列中的随机数四舍五入为整数。
  4. 在D列中使用IF()函数判断C列中的值是否为0,如果是,则将其替换为1,以避免出现0面的骰子。
  5. 在E列中使用IF()函数判断C列中的值是否大于A列中的面数,如果是,则将其替换为A列中的面数,以确保生成的随机数不超过骰子的面数。
  6. 在F列中使用INDEX()函数根据E列中的值,从A列中获取对应的面数。
  7. 在G列中使用RANDBETWEEN()函数生成一个1到骰子面数之间的随机整数,作为骰子的结果。
  8. 在H列中使用IF()函数判断F列中的值是否为骰子的面数,如果是,则将G列中的值作为最终结果;否则,将F列中的值作为最终结果。

这样,每次计算时,只需要在A列中输入骰子的面数,然后在G列中刷新函数,即可模拟滚动TTRPG骰子的效果。

这种方法的优势是简单易用,无需编写复杂的VBA代码。它适用于在Excel中进行简单的TTRPG骰子滚动,并可以方便地进行结果的记录和统计。

腾讯云相关产品中,与Excel和数据处理相关的产品有腾讯云数据万象(https://cloud.tencent.com/product/ci)和腾讯云云数据库(https://cloud.tencent.com/product/cdb),可以帮助用户进行数据处理和存储。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

数组Array

不过以后程序写多了,你会发现从0开始在一些循环、取余数等等操作中还是非常方便的。...要使用数组中的某个元素也非常的简单,直接引用它的下标就可以,比如我们给下标10的元素赋值1000: Arr(10) = 1000 很简单方便,不过这是任何一个语言的数组都有的功能,在Excel VBA...里,使用数组最方便的是它和单元格对象很好的联系在了一起,2个东西相互赋值非常的方便。...(个人看法):但是这里希望初学者能够认识到一点点,这种操作这么方便,主要原因是微软在Excel VBA里帮忙做好了,真正的编程绝对不是这样的,这个虽然很方便,而且在VBA里有很多这种封装好了的东西,给使用者带来了极大的便利...,并讲到了数组与Range的交互,一个在Excel VBA里帮我们封装的非常好的东西,我们在Excel里使用VBA,很多时候都是操作Range,而数组起到了一个很好的中间转换作用。

2.1K20

Excel催化剂开源第14波-VSTO开发之单元格区域转DataTable

在Excel开发过程中,大部分时候是和Range单元格区域打交道,在VBA开发中,大家都知道的一点是,不能动不动就去遍历所有单元格,那性能是非常糟糕的,很多时候,是需要把整个单元格区域装入数组中再作处理的...在VSTO开发中,难不成还要用VBA这套老掉牙的东西来做吗?VBA的二维数组在.Net的世界中,真的一无是处,太多比它好用的东西存在,其中笔者最喜欢用的是DataTable这样的结构化的数据结构。...,不用像二维数组那样很不直观地只能用下标去访问。...单元格区域加载至DataTable内,然后才是真正的VSTO开发,在.Net的世界中,有了Excel的源数据,再经过许多轻松方便的轮子功能,快速地实现数据的转换,在Excel催化剂中大量使用(因笔者是数据库技术的资深玩家...最后,数据在程序内,最终需要返回给用户界面,即Excel单元格区域,又是怎样实现最为合理呢,请继续关注下篇讲解。

1.6K20
  • 「数据ETL」从数据民工到数据白领蜕变之旅(七)-将Excel(PowerQuery+VBA)的能力嫁接到SSIS中

    前面推文虽有介绍使用dotNET和python这样的脚本语言去处理,但仍然有一片广阔的领域待开发,使用Excel自身的能力,即VBA和轻量化ETL工具PowerQuery的结合。...dotNET与VBA在Excel对象模型上的差别 在dotNET脚本中,引用Excel对象模型,理论上可以替代VBA的脚本,但本轮测试发现,在dotNET上的Excel对象模型,貌似未能有最全的开放给VBA...具体实现 整个流程如下所示,在测试过程中同样发现,当一个Excel的进程多次被使用时,会存在报错现象,所以索性牺牲一点点性能,每次循环都将Excel的进程给清除,并在一开始时也清除所有Excel进程,保证模板文件和其他数据源没有被打开...同样地使用COM接口,在我们数据处理环节还是可接受的,并没有像业务系统那般存在大量并发性,需忍受COM接口通信的缓慢,在数据处理环节,能够按时准确性完成任务即可。...多台电脑使用,仍然合规,不增加成本。

    4.6K20

    「Sqlserver」数据分析师有理由爱Sqlserver-像使用Excel一般地使用Sqlserver

    在Sqlserver上,也不例外,看完此篇,笔者相信你也会认可此篇所提到的观点:像使用Excel一般使用Sqlserver。 使用Excel是一种怎样的体验?...在OFFICE产品中,要数Excel的使用群体、使用频率最为广泛,这里说的Excel,其实也可类比在其他Word、PowerPoint等组件上。...任何一个新用户接触Excel,都不会产生太大的恐惧感。 随着学习的一步步加深,对现有的功能的重复性繁琐操作开始提出一些要求,能否帮我自动化一些来处理,这样就带出了宏和VBA的层面。...界面化操作也不代表需要掌握所有功能,也不代表每个功能有界面操作就很容易理解,就像学习Excel一样,有些功能如数据分析工具,规划求解等,虽然也是界面,但也需要深刻理解其实现原理才能真正用得好。...像录制宏一般地自动生成SQL语句 Excel里有录制宏功能,帮助我们快速学习VBA,在Sqlserver上,同样有类似于录制宏的界面操作实际对应的SQL脚本是什么的功能。

    1.3K20

    VBA与数据库——ADO

    ADO (ActiveX Data Objects,ActiveX数据对象)和字典Dictionary一样,就是Windows系统做好了的一个东西,是一种叫做COM对象的东西。...Recordset ADO读取数据库的数据,不管是使用Connection的Excute、Recordset的Open、Command的Excute,都是读取到Recordset这个类中,之后才能在VBA...Excel VBA为了方便操作,在Range对象上实现了CopyFromRecordset 方法,方便使用者直接从Recordset对象中读取数据到单元格,这是Excel VBA使用ADO来操作数据库的一个方便之处...,直接从Recordset对象中复制数据,不需要去写循环语句等操作处理。...这种使用方式的一种场景是: 需要根据某个字段的值去数据库中查找数据,如果条件数据是在数据库中的,使用Left Join操作就可以,但是如果数据是在VBA的数组中,这时候就需要用到Command,每次循环都只需要改变条件字段的值就可以

    2K20

    Range对象

    VBA特有的一些对象,就是微软已经做好了让使用者直接使用的东西。...对象浏览器使用简单介绍: 在编辑器里按F2,出来1个新界面,在查找框里输入Range,但是这个并不能比较精准的定位到,你还得在下面一点类(在VBA里类就可以理解是对象)的框框里去找,它是按照字母排序了的...如果用VBA语句的话,就是: Range("A1").Activate Range("A1").Value = "123" 这个时候,你要这么去想了,你现在已经是会VBA代码的人了,你还需要像一般人那样去操作...还需要像普通人拿过东西那样分三步:走过去、拿起来、走回来?...不需要啦,这时候的你已经有了魔法了,你要拿一个东西的时候,你直接弄个魔法,叫它跑过来就行了,你现在只要一步了,直接操作Range对象就行啦,激活这种操作在VBA里一般都不需要用,你只要能精准找到对象就可以

    1.5K20

    For语句

    Sub 1、定义变量 在“变量与数据类型”里,我们讲过变量,For语句里的counter,我们定义了一个i变量,因为在程序里,它是需要变化的。...定义了2个Range,目的是为了方便操作,因为这2个单元格在每一次的循环内部,被多次使用了,如果用Range("A" & VBA.CStr(i))这种模式,书写起来麻烦,注意Range这种对象是用Set...定义了变量后,在使用的地方就可以直接用我们书写的变量名,命名有一定的规则,不能数字开头等。这里建议命名也要具有一定的特点,比如rngA,这样你一看就大概能知道是Range类型了。...2、循环 我们程序里用的start是1,即变量i开始的数字,end为100,这是因为我们已经在Excel里看到了起始行号(显然真正写程序不可能这样,这里只是演示)。...VBA.这个是可以不写的,我习惯写上,如果记得第一个程序里说过的那个“.”,应该知道这样编辑器能够给我们提示,方便输入。

    1.3K20

    个人永久性免费-Excel催化剂功能第47波-VBA开发者喜爱的加密函数类

    一般像我这种水平的人,只需要不断地百度或google,就可以拿到现成的东西直接复用,VBA毕竟是业务开发者使用的编程语言,同时又是一个官方停止更新语言,仍然使用VBA做一些复杂的需求,有点吃力不讨好。...在VBA代码中调用加解密函数方法 说到重点,VBA开发者可能更多场景还要回到自己在VBA代码中想要调用其他语言开发好的函数,例如此篇的自定义函数。...总结 在我过往发表的众多自定义函数里,大部分直接照搬了.Net Framework类库里的函数,让其能够在Excel环境以自定义函数的形式来使用,当中也收到许多反馈说能用自定义函数的人都自己写VBA代码...写此篇文章没有贬低VBA的作用,只是当有更好的东西时,花一点点学习成本去了解它,然后唯我所用,何尝不是一件美好的事情。...,重新定义Excel函数的学习和使用方法 第5波-使用DAX查询从PowerbiDeskTop中获取数据源 第6波-导出PowerbiDesktop模型数据字典 第7波-智能选区功能 第8波-快速可视化数据

    3.2K10

    Excel 信息筛选小技巧

    前 言 在工业控制系统实施的各个环节中,我们总会遇到各种各样的“信息数据表”,如BOM单、IO表、通道分配表、监控数据表等。当数据量比较大的时候,筛选功能就很必要了。...通常的办法就是直接使用Excel的“筛选”功能,但是在需要反复变更筛选条件的时候,操作略显繁琐。 下面介绍利用Excel “表” 和 “切片器” 功能,实现更加便捷的“筛选”小技巧。...如果该信息表后续有“在中间插入一行”的需求可能,建议序号列使用“ROW()-1”函数进行填充,这样在插入一行之后,序号自动全表更新。...,具体使用方法简单摸索一下就会了; Step 3: 固定“切片器”位置 可以看到,当我们以“压力”作为筛选条件的时候,筛选出来的信息还是很多,需要滚动页面进行查看,但是在滚动页面的时候,“切片器”并不会跟随移动...按 “Alt+Q“ 关闭VBA编程界面; 4. 返回Excel界面,滚动页面,并点击任意位置,此时我们看到“切片器”会立即移动到界面指定位置。 5.

    1.7K20

    【内卷到底】Excel催化剂免费提供VBA解密功能,除打开密码外,其余所有密码均可秒级破解

    VBA密码破解,在一般地插件里,都是收费方式提供,Excel催化剂,全功能免费,最新推出VBA解密功能,还要公开核心源代码,这免费程度够诚意了么?...的未来 VBA不死,这个已经不是传说,的确这么多年,生态不断,但有它来做产品级的方案,破解这东西也是难以避免的,就算不被破解,用它来做复杂的应用,也是很吃力,VBE编辑器落后,VBA语言无生态,一些现代语言很简单实现的...当然,如果纯粹操作Excel等OFFICE对象来说,简单的套几个循环、选择结构,把录制宏的代码串起来一下,还是可行的。...在笔者未来有余力,可以给大家更多普及在.NET环境下的插件开发技术,特别是使用ExcelDNA框架的开发。...当然最后的.NET语言当然是选择C#,没有C#,代码现成摆在面前,想抄也抄不动,例如本篇的VBA代码破解,也是从老外写的C#开源代码中抄到手的。

    2.8K80

    VBA循环结构没过瘾,那就再来一篇

    image.png 这是免费教程《Excel VBA:办公自动化》的第10节,介绍while循环结构。 1.认识VBA:什么是VBA?...2.这些掌握了,你才敢说自己懂VBA 3.VBA变量5年踩坑吐血精华总结 4.VBA中重要的强制申明,谁看谁明白 5.VBA掌握循环结构,包你效率提高500倍 6.精通VBA分支结构,少写程序100行...VBA录制宏了解下 image.png 在上次for循环分享完后,有同学给我发私信说“猴子,上次那个for循环用着确实挺香,但是我每次都得修改那个循环的次数,这样挺麻烦的,有没有那种更智能的语法呢?...(实际工作中数据会非常多,这里仅以10条数据作为演示) image.png 思路分析:由于数据行数非常多,我们无法预知有多少数据,因此我们需要采用「WHILE循环结构」。...image.png 3.总结 1)通过以上案例可以发现,当我们无法预知数据的总行数,且又需要使用循环挨个进行判断时,这种业务场景就可以使用「WHILE循环结构」。

    1.6K00

    变量与数据类型

    1、数据类型 在上一讲中,我们在A1单元格输入了“hello Excel VBA”,这个在英文双引号里面的就是一种数据类型String。...如果想快速查看帮助文件,可以用鼠标定位到关键字的单词内部,按F1,有本地帮助文件的会打开本地文件,没有则会打开一个网址,要多看看官方的介绍。...2、变量 在写程序的过程中,我们经常操作某些数据类型,为了方便操作,VBA语言可以让我们定义变量,如定义一个Integer并赋值。...Dim i As Integer i = 10 如果你设置VBA编辑器“要求声明变量”不勾选,你可以随意写一些代号作为变量来使用,VBA也能正常运行,但强烈建议用什么数据类型都要定义变量,这种良好的习惯将会直接影响你以后写出的程序质量...有了变量这个东西,再配合后面再讲的循环,你只要知道了变化的规律,一个循环语句就可以搞定。 3、小结 变量和数据类型是很基础的东西,这也是写VBA程序的基础元素

    61330

    《Python for Excel》读书笔记连载2:为什么为Excel选择Python?(续)

    Python不接受像第二个示例那样格式化的代码:它强制你将可视缩进与代码的逻辑对齐,从而防止可读性问题。Python依赖缩进来定义代码块,就像您在if语句或for循环中使用代码块一样。...使用pip,你几乎可以为任何东西安装软件包,但是对于Excel用户来说,最有趣的软件包当然是用于科学计算的软件包。 科学计算 Python成功的一个重要原因是它被创建为一种通用编程语言。...然而,这并不意味着VBA不再受支持:Microsoft在每一个新版本的Excel中都会提供更新,以便能够自动化该版本中引入的新Excel功能。...如果你希望在VBA中优雅地处理错误,它是这样的: Sub PrintReciprocal(number As Variant) '如果number是0或字符串,则会产生错误 On Error...小结 在本章中,我们初步了解了Python和Excel,这两种非常流行的技术已经存在了几十年,与我们今天使用的许多其他技术相比,这两种技术已经存在了很长时间。

    2.6K10

    代码管理

    学习使用VBA来处理Excel的问题,自然是为了简化工作。但是随着自己VBA使用的增多,代码分散在各个Excel文件中,非常的散乱。管理好自己的代码是提高代码复用率的关键,也能提高开发的效率。...数据与代码分离 Excel本身就是数据和代码混在一起的,这确实提供了极大的便利,但是随着VBA使用的深入,会逐渐发现这种便利最终也会带来许多的麻烦: 同一种功能的程序在多个Excel VBA中存在...库 使用加载宏来作为库进行代码管理: 一些功能性的东西,比如一些常用的类、函数等,在编写VBA代码过程中会经常使用到,但是本身不是一个完整的可以完成某个具体任务的,我会放在一个加载宏中,固定保存在电脑的某个位置...然后在具体实现某个任务的时候,如果需要用到,使用工具-引用的方式去调用,具体可以看利用VBAProject来共用VBA代码里介绍的方法。...这样不但能提高效率,而且在使用过程中发现了问题的话,只要修改了加载宏中的代码,所有引用了这个加载宏的具体任务代码都能够完善。

    96410

    Excel自定义任意图表的通用模式

    现在,在Excel中也可以轻易的实现这种自定义,不过需要的是VBA+SVG(一点VBA都不懂的读者先不要吓跑,都是套路操作,仅仅需要少量代码)。...还有一种是数据多少不固定,不选中数据时可以使用For to语句从头到尾遍历,选中指定数据制图时可以使用For each语句。...你需要的最少知识是:VBA中For循环的使用方法及SVG基础图形的编码规则。这些知识可以在网上很容易搜索到。...VBA+SVG在Excel制图的优势比DAX+SVG在Power BI中非常明显:首先,VBA中的For 语句可以很方便的循环,DAX需要新建虚拟索引;其次,Excel单元格具有灵活性,在Power BI...需要说明的是,无论在Power BI还是Excel中,并不是所有SVG标签都可以得到支持,希望微软后续在这方面做些努力。

    2.8K10

    再来谈谈VBA的学习问题

    有朋友在问,从零开始学习VBA应如何着手?...很多通过几十天就能精通VBA的说法其实都有一个前提,就是你本身有一定的编程基础,比如你原来学过其他的编程语言,而只是切换到VBA,那实际上你只需要学点儿VBA的语法就能用起来了,因为你已经具备编程的思维和能力...实际生活中却可能是这样子的(在BAT的技术大牛除外): 那么,对于Excel的普通用户,除了学好基本功能、函数等,想进一步提升相应的能力,怎么办呢?...2010或2013可到微软官方下载插件): Power Query采用图形化的界面,大量功能的使用跟在Excel中的鼠标操作差不多,用于处理多种复杂数据源等情况时,却比VBA要简单得多。...下面再对比一下Excel公式、VBA以及PowerQuery的学习曲线,显然,Power Query可以在非常短的时间内达到非常高的效用: 学习建议 把Excel基本功能和函数学好,毕竟那是最基础也用的最多的东西

    2.1K20

    Python 自动化指南(繁琐工作自动化)第二版:六、字符串操作

    否则,我们会通知用户需要输入一个数字,并再次要求他们输入年龄。在第二个while循环中,我们要求输入密码,将用户的输入存储在password中,如果输入是字母数字,就退出循环。...因为您希望将每段文本与其关键短语相关联,所以可以将它们作为字符串存储在字典中。字典将是组织你的关键短语和文本的数据结构。让您的程序看起来像下面这样: #!...但是一个名为keyphrase的变量比类似于sys.argv[1]的神秘东西更具可读性。 让您的程序看起来像下面这样: #!...但是使用split()方法返回一个字符串列表会更容易,原始字符串中的每一行都有一个字符串,然后在列表中的每个字符串前面加上星号。 让您的程序看起来像下面这样: #!...我们需要删除每个单词开头和结尾的任何非字母,这样像'old.'这样的字符串就可以翻译成'oldyay.'而不是'old.yay'。

    3.2K30

    聊聊我的VBA学习

    看完这本书后,我终于对VBA是有了一定的理解,能够独立的写一些代码了。 就这样,我在工作中不断的应用VBA,也觉得自己的水平在不断的提高。 我又有了觉得自己无所不能的感觉了 !!!...可是使用VBA写程序,除了在Excel用的好之外,似乎其他地方就没什么用了。...还好,对VBA的应用和学习还没有停止。 2016年6月,我觉得自己VBA水平还可以了,又想利用下班时候赚点外快,在淘宝找帮人代做Excel的店,并加入了其中一家。...2、走出VBA 在淘宝用Excel VBA卖苦力的这个期间,还尝试去学习了一下C语言,终究还是没能摆脱VB的那种可视化编程,C语言坚持了一段时间后也放弃了。...首先可以去看看,Excel函数、基本操作,这个可以锻炼逻辑思维,函数都是实现好的一些算法。 像公式里的Lookup的二分查找法,其实就是二分查找算法,数组公式与vba里的数组理解上也可以完全一致。

    2.2K90

    Excel VBA编程教程(基础一)

    step three Excel 工作簿中的 VBA 代码通常保存在工作表对象或模块中。本例中,我们用模块保存 VBA 代码。...在示例中,Sub 过程名() 开头,End Sub 为结尾部分是一个过程的主题,其余代码需要放置在两者之间。...同理,第二行、第三行和其余的每一行都是语句。VBA 中的过程,就是由这样一条条语句构成的。...2.循环结构 第二个基本结构是循环结构。当使用循环结构时,循环部分代码,按照指定的循环次数,循环重复执行。 在我们的示例中,For 至 Next i 之间的代码就是一个循环代码。...在实际使用过程中可能需要修改,符合最新的需求。过一段时间再打开查看时,可能已经忘记了当时的思路,不能很快想起来有些代码实际的用途,更不用说让别人查看了。这时,就需要注释出场了。

    12.5K22
    领券