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

VBA -如何从一列中随机选择10%的行,确保它们是不同的,并在B列中放一个Y?

VBA是Visual Basic for Applications的缩写,是一种用于Microsoft Office套件中的宏语言。它可以用于自动化处理Office文档、创建自定义函数、编写宏等。

要从一列中随机选择10%的行,并确保它们是不同的,并在B列中放一个Y,可以使用以下VBA代码实现:

代码语言:txt
复制
Sub RandomSelection()
    Dim totalRows As Long
    Dim selectedRows As Long
    Dim rng As Range
    Dim cell As Range
    Dim randomRow As Long
    Dim selectedCount As Long
    
    ' 设置要处理的数据范围
    Set rng = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
    
    ' 计算总行数和需要选择的行数
    totalRows = rng.Rows.Count
    selectedRows = Application.RoundUp(totalRows * 0.1, 0) ' 选择10%的行数
    
    ' 初始化随机数生成器
    Randomize
    
    ' 遍历选择行
    For selectedCount = 1 To selectedRows
        ' 随机选择一行
        randomRow = Int((totalRows - selectedCount + 1) * Rnd + 1)
        
        ' 将选中的行标记为Y
        Set cell = rng.Cells(randomRow, 1).Offset(0, 1)
        cell.Value = "Y"
        
        ' 将选中的行移到已选择的行的末尾
        rng.Cells(randomRow, 1).Cut rng.Cells(totalRows - selectedCount + 1, 1)
    Next selectedCount
End Sub

这段代码首先定义了一些变量,包括总行数、需要选择的行数、数据范围等。然后使用Randomize函数初始化随机数生成器。接着使用循环从数据范围中随机选择行,并在选中的行的相邻列(B列)中放入"Y"。最后,将选中的行移到数据范围的末尾,以确保所选行是不同的。

这是一个简单的VBA示例,可以根据实际需求进行修改和扩展。关于VBA的更多信息和学习资源,可以参考腾讯云的VBA开发文档:VBA开发文档

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

相关·内容

Python让Excel飞起来:使用Python xlwings实现Excel自动化

Excel单个单元格,其中x表示y表示。...然而,它需要一点VBA来允许Excel调用Python函数。 Python脚本 让我们首先编写一个简单Python函数,该函数生成10随机数,然后将它们放在Excel工作表单元格A1。...然而,VBA功能有限,使用xlwings,我们可以在Python创建自己用户定义函数。我们所需要只是一个Python脚本,并在Excel中进行一些设置来实现。...上文中已讨论了如何修复此错误,确保Excel宏设置正确。 2.键入用户定义函数时,单元格中会显示“Object Require”(对象要求)。...确保VBA编辑器菜单“工具->引用”中选取了“xlwings”,并将更改保存到相应Excel文件。有时,当打开多个Excel工作表时,我们可能会无意中将此更改应用于另一个文件。

8.2K41

简单Excel VBA编程问题解答——完美Excel第183周小结

Next循环中放入多少条Exit For语句? 没有限制。 12.Function过程与Sub过程有何不同? Function过程会向程序返回一个值,而Sub过程则不会。...13.过程代码行数有什么限制? 没有限制,但是良好编程习惯规定过程不应太长,最多30至40代码合理。 14.如何将数组作为参数传递给过程? 数组名后加上空括号。...17.VBA可以识别通用格式日期,例如2020/11/11。在VBA代码如何表明该值日期? 通过将其括在#字符。 18.哪个VBA函数用于为日期添加间隔? DateAdd函数。...28.Range.Activate和Range.Select方法有何不同? 对于单个单元格区域,它们相同。...》后续内容: 第9课:处理文本 第10课:使用Ranges和Selections 第11课:处理(Columns),(Rows)和单元格(Cells) 下周继续努力,争取推出更多有用内容。

6.6K20

Excel实战技巧87:使用复选框控制是否显示相关图片

在下列文章,我们讲解了如何通过下拉列表显示相关图片技术: Excel实战技巧15:在工作表查找图片 Excel实战技巧21:在工作表查找图片 Excel实战技巧22:在工作表查找图片(使用VBA...首先,在工作表“照片”中放置图片名称和相应图片。注意,在最后一应包括一个内容为空单元格,如下图1所示。 ?...图1 选择“照片”工作表单元格区域A2:B10,单击功能区“公式”选项卡“定义名称”组“根据所选内容创建”命令,在弹出“根据所选内容创建名称”对话框中选取“最左”前复选框,如下图2所示。...图2 选择“照片”工作表单元格区域A2:A10,将其内容复制到“显示”工作表单元格区域B1:B8。...图7 在“显示”工作表其他中进行同样操作。在插入复选框并粘贴相应图片并进行相应设置后,隐藏C和D,最终效果如下图8所示。 ? 图8 很有趣一项应用技术!

3.2K20

VBA变量5年踩坑吐血精华总结

image.png 1.变量基本知识 案例:在「单元格B3」输入不同行号,然后点击「显示答案」按钮,程序就会自动计算右边相应题目的答案,如何实现?...image.png [备注] 1.题目中F数据采用了RANDBETWEEN(10,100),H采用了RANDBETWEEN(20,50); 2.函数RANDBETWEEN(bottom,top)...,用于返回一个介于bottom(最小值)和top(最大值)之间随机数,且每次Excel编辑后该公式都会自动刷新返回随机数; 我们一起思考一下,这样一个需求用第02篇(todo文章传输门)分享能够实现吗...是的,那么我们用VBA如何实现呢? image.png 我们观察发现:行号变化,而且「正向递增加1」规律。 在VBA,我们将这种根据需要能够随时变化称为变量。...我们用x代替,那么程序就变为: image.png 我们又知道,变量x变化依据「单元格B2」内容变化而变化,也就是: image.png [备注] 在VBA,「=」专业术语「赋值」 即

1.6K00

NumPy 1.26 中文官方指南(二)

如果你从一个具有 12 个元素数组开始,你需要确保新数组也有总共 12 个元素。...当第一个索引改变时,矩阵按存储在内存中一地变化。这就是为什么 Fortran 被认为一种基于语言。而在 C ,最后一个索引最快变化。矩阵按存储,使之成为基于语言。...如果您从一个具有 12 个元素数组开始,您需要确保新数组也总共具有 12 个元素。...随着第一个索引变化移动到下一,矩阵按存储。这就是为什么 Fortran 被认为一种主语言。另一方面,在 C ,最后索引变化最快。矩阵按存储,使其成为一种主语言。...如果你想获取唯一,请确保传递axis参数。要找到唯一,请指定axis=0,要找到唯一,请指定axis=1。

14810

啰哩啰嗦地讲透VBA引用单元格区域18个有用方法--Range属性

本文讲解如何使用VBA处理单元格,解释使用Range对象所需了解所有基本细节。Range对象是VBA中用于引用和处理单元格对象,ExcelVBA中最常用对象之一。...VBA允许用户以多种不同方式引用单元格区域。 什么Range对象 Range对象代表工作表单元格区域,这意味着可以使用Range对象来引用: 单个单元格 一或一单元格。...选择单元格,无论它们是否连续 三维单元格区域 从上面可以看出,Range对象大小可能会有很大差异,你可以只引用单个单元格,也可以引用Excel工作表所有单元格。...该选择区域一个Range对象。 由于Selection对象表示文档当前选定区域,因此上面的引用返回单元格C3。它不会返回单元格A1。...[A1] 快捷方式2:引用整行或整列 应用方括号快捷方式:[行号:行号] :[字母:字母] 例如,如果引用工作表第1或第1,其语法为: :[1:1] :[A:A] 假设在Book1

6K20

常见复制粘贴,VBA怎么做

复制粘贴可能Excel中最常见操作,不然Microsoft怎么会把它们放置在最显眼显顺手位置。当然,使用Excel VBA时,复制操作单元格区域一项基本技能。...此外,它们被设计为从特定源工作表复制到该示例工作簿一个目标工作表。 通过调整对象引用构建方式,可以轻松修改这些行为。...此表显示了100名不同销售经理按单位数和总美元价值对特定项目(A、B、C、D和E)销售额。第一(主表上方)显示每个项目的单价,最后一显示每位经理销售总值。...下面的简单过程在示例1基础上添加了Destination参数,将工作表“Sample Data”单元格区域B5:M107复制到工作表“Example 2 - Destination”B...如果忽略该参数,Excel不会转置复制区域

11.5K20

VBA编程练习04. 在多个单元格区域查找多个数

学习Excel技术,关注微信公众号: excelperfect 本次练习题 如下图1所示工作表,在单元格区域A2:F2中放要查找数值;在H至BF、9至行30被查找区域,这个区域分17...图1 现在,要在这17个小区域中查找单元格区域A2:F2值并将找到数值个数输入到其下方第32单元格如何使用VBA代码实现? VBA代码 先给出代码,再细细解释。...因为每3一个小区域,所以很容易找到规律。以第1个小区域左上角为基点,每次循环向右偏移3倍数列,移到每个小区域左上角,然后将区域扩展到223,即得到每个小区域。...Cells(2,j)分别查找A2至F2数值,将找到数值个数累加到变量iCount。最后得到每个小区域中包含数值个数,然后将得到个数值输入到第32相应单元格。...代码外层循环遍历每个小区域,内层循环遍历A2:F2值。 小结 1.不要被工作表表面所迷惑,要从中找到规律。 2.有时候,灵活使用工作表函数不失为一个好技巧。 下面代码图片版: ?

1.5K10

如何用2周时间促成一次1700+人参与大数据行业调研

值得注意,分析问卷类型数据时,会遇到多选题情况,这时原始数据排列不利于分析。比如同一个问题下面,每一个选项回答都会成为一数据(如果选择了该选项则有值,如果没有选择则为空值)。...要进行数据分析,最好选择把原来选项标题作为一,选项内容作为相对应另外一,每行表示一个一次选择。 比如,原来有填写人X选了A选项和B选项,填写人Y选了B选项和C选项。...之前,ABC三个选项分别是三,A里包括填写人X,B里包括填写人X和Y,C里包括填写人Y: A, B, C X, X, null null, Y, Y 我们要做就是将它们变成两: X, A X..., B X, null Y, null, Y, B Y, C TableauData Source页面,选中要转化,用pivot功能可以实现这一步。...附录 excel文本分列vba代码 首先确保表格内所有数据格式都是aaa.xxx,其中aaa.要去掉内容,点前面的文字长度不限,因为是以点位置把每分开 在之间循环,这里n值等于表格包括

70160

fast.ai 机器学习笔记(一)

OOB 分数一个很好选择,可以告诉您哪一个最佳。 子采样[1:14:52] 之前,我们取了 30,000 ,并创建了使用该 30,000 不同子集所有模型。...对于抽样,每棵新树都基于一组随机,对于抽样,每个单独二元分割,我们从不同列子集中选择。 0.5 意味着随机选择其中一半。...要使用shuf从文件随机选择,请使用-n选项。这将限制输出为指定数量。...共线性不会使你随机森林更少预测,但如果 A B 稍微相关,而 B 独立变量一个强驱动因素,那么重要性将在 A 和 B 之间分配。...3. max_features [12:22] 在每次分裂时,它会随机抽样(与set_rf_samples选择每棵树子集相对)。听起来一个区别,但实际上这是一种完全不同思考方式。

30710

Excel省市交叉销售地图

唯一有些区别的XY坐标不再固定31省市,而是按照不同省份筛选出来省内各地市坐标;此外,将本省内之外所有交叉销量统称为省外。...步骤二:准备相应素材 2.1准备原始数据表:将原始数据用数据透视表处理成如下格式 ---- ---- ---- 注: 1)字段经销商所在城市,字段客户所在城市; 2)均有总计,目的后期计算省外交叉销售数值...; 3)为后期作图美观,城市一致时将其值设置为0; 2.2利用原始图复制粘贴,分别制作各省市射线图和气泡图,并在填充了省市底图后,记录下该省内各城市XY坐标: ---- 注: 1)省份,城市...,X,Y必须字段; 2)省市之间留需要留一空,用于VBA编程时CurrentRegion属性使用; 3)X,Y坐标来自于填充了各省市背景地图散点图,具体操作方法请参考全国省级别销售流向分析制图方法...步骤三:定义名称动态引用图表 ---- Step1:将省份切片器选择省份名称,赋值给在”各省交叉销售地图“工作表B2单元格。 Step2:交叉销售=INDEX(省市交叉销售!

5.6K10

啰哩啰嗦地讲透VBA引用单元格区域18个有用方法--Cell属性和Offset属性

VBA对象可以是工作表(在Worksheet.Cells属性情形)或可以是单元格区域(Range.Cells属性情形)。 行号和编号,通常使用数字。...替代语法: 表达式.Cells(单元格索引) 在这种特殊情况下,只有一个参数:相关单元格索引。 那么,VBA如何确定一个单元格索引呢?...编号分配将持续到… 单元格XFD2(第二最后一个单元)被分配数字编号32768。 该过程继续到第三。 然后第四。 依此类推,直到… 到达第1048576。...例如,假设要处理从单元格A1到单元格B10单元格区域,想要选择单元格A5。...因此,VBA将返回一个单元格,该单元格位于当前活动单元格下方1,右侧1。例如,如果当前活动单元格为A1,则上面的语句返回单元格B2。

3.3K40

常用功能加载宏——单元格数据连接

还有时候需要复制一小块单元格区域,可是复制过去可能就是一个表格,或者被Tab符号分隔开内容,并不是真正需要: ?...默认从Excel复制数据,(如果复制到Word这类支持表格软件,会复制表格过去,这个时候还可以进一步转换为文本),之间使用Tab连接,上一与下一使用换行符连接。...如果之间连接符Tab和之间连接符换行符可以自定义就好了,那么,我们来实现这么一个复制功能: ?...> 1 Then '选择单元格范围行数 iRows = rng.Rows.Count '选择单元格范围数...Next '将单元格Text连接起来,并存放到arrStr arrStr(iRow) = VBA.Join

1.9K20

Python 金融编程第二版(二)

选择第一第三个元素;在括号内,索引由逗号分隔。 ④ 选择第二。 ⑤ 计算所有值总和。 ⑥ 沿第一个轴计算总和,即按列计算。 ⑦ 沿第二轴计算总和,即按计算。...另一个特殊操作将多维ndarray对象展平为一维对象。可以选择(C顺序)还是按(F顺序)进行展平。...② 检查x值是否为正且y值是否为负。 ③ 检查x值是否为正或y值是否为负。 使用结果布尔Series对象,复杂数据(选择很简单。...② 所有x值为正且y值为负。 ③ 所有 x 值为正或 y 值为负所有(这里通过各自属性访问)。 比较运算符也可以一次应用于完整 DataFrame 对象。...一个主要问题如何处理索引值。

11110

Excel VBA编程教程(基础一)

插入/删除模块 在一个 VBA 工程想要插入新模块时,可在 VBA 工程右键,选择插入类型即可。...过程 过程 VBA ,程序实际运行最小结构。单独或多行代码无法运行,必须把它们放置在一个过程里,才能运行。...在示例,Cells() 就是一个 Excel VBA 对象,表示一个单元格,提供行号和号指定单元格。 程序运行结构 接下来程序结构中最核心部分,也是最有意思部分,程序运行结构。...VBA ,有多种循环结构,本例 For 循环结构。For 循环结构,第一指定循环次数,最后一表示开始下一个循环。...注释对代码一种解释,不影响代码运行。VBA 注释语句,以英文单引号 (')开头,后接需要解释说明内容。 选择结构 if Then 结构 选择结构,If Then 结构最基础一个

11.5K22

Python、VBA轻松自动化

当你收集了 n 个人 EXCEL 记录表,需要将它们汇成一个总表时你会怎么做呢? 如果不通过技术手段,要一个个打开再复制粘贴也太麻烦了吧! 此时就需要一个通过几秒钟点击就能完成合并工具。 ?...如下目录中放着 3 个待合并 EXCEL 表,每个表数据不同; ? 新建一个 EXCEL 文件后打开它,用于存放合并后数据; ? 通过快捷键 Alt + F11 打开 VBA 界面; ?...即将同目录下其他 3 个 EXCEL 文件数据合并至此; ? 办公自动化有着各种各样手段,下面让我们来看看万能 Python 又是如何实现这个功能。...那么如果要分配工作,比如把一个大表按行数分成多份小表该如何实现呢?我们还是先来看看 VBA 版本。...如下图所示,将一个 15 个任务拆分到了 3 个新 ? ?

2.3K20

20个能够有效提高 Pandas数据分析效率常用函数,附带解释和例子

Sample Sample方法允许我们从DataFrame随机选择数据。当我们想从一个分布中选择一个随机样本时,这个函数很有用。...Loc 和 iloc Loc 和 iloc 函数用于选择或者。 loc:通过标签选择 iloc:通过位置选择 loc用于按标签选择数据。标签列名。...我们有三个不同城市,在不同日子进行测量。我们决定将这些日子表示为。还将有一显示测量值。...我们也可以使用melt函数var_name和value_name参数来指定新列名。 11. Explode 假设数据集在一个观测(包含一个要素多个条目,但您希望在单独中分析它们。...Merge Merge()根据共同值组合dataframe。考虑以下两个数据: ? 我们可以基于共同值合并它们。设置合并条件参数“on”参数。 ?

5.6K30

Excel编程周末速成班第24课:调试和发布应用程序

本课程将讲解什么bugs、如何处理它们,并介绍一些与发布应用程序有关因素。 调试应用程序 在发布Excel应用程序之前,对其进行充分调试很重要。...即便如此,某些bugs可能会超出测试范围而只能由用户发现并报告;因此,对于你而言重要要知道如何使用VBA调试工具来进行调试去找到并修复bugs。 什么Bugs?...尽管这种类型变量似乎可以简化某些编程任务,但它们容易出现问题。几乎所有需要全局变量或公共变量情况都可以使用过程参数和函数返回值进行处理。 必要时,请确保对数字变量使用浮点数据类型。...提示:如果看不到“监视窗口”,从VBA编辑器菜单中选择“视图——监视窗口”。 表24-2出了各种调试情况下一些监视示例。 ? 使用快速监视 你可以使用“快速监视”来快速查看变量或表达式值。...VBA监视可让你在程序执行期间跟踪程序变量值。 自我测评 1.运行时错误与程序错误有何不同? 2.如何在代码设置断点? 3.逐语句执行命令和逐过程执行命令有什么区别?

5.8K10

Power Query 系列 (01) - Power Query 介绍

本文先从一个例子,说明 Power Query 典型步骤和 Power Query 主要构成。...如果多个 Excel 工作表呢?我特意在网上搜索了一下,知乎有两篇文章,一篇基于 VBA ,另一篇基于数据透视表多重合并计算区域如何快速合并多个 Excel 工作簿成为一个工作簿?...excel多表操作:如何快速完成多工作表汇总求和 VBA 对于普通 Excel 用户来说,掌握的人并不多。有了 Power Query 之后呢,合并工作表就变得轻而易举了。...,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N0b25lMDgyMw==,size_16,color_FFFFFF,t_70] 另外,多个 Sheet 表头都作加载到...核心查询对象,通过查询对象连接不同数据源获取数据,并对数据进行处理和转换,得到处理后结果。

5.5K60
领券