Excel 如何为表中的每个用户选择随机行;如果可能的话,每天
我有一个数据集,它是从一个服务器中提取的,该服务器包含多个列,其中一个列具有UserID;此数据将转储到Excel工作表中 我的任务是为每个用户随机选择一行,并将其粘贴到另一个工作表中 我的样本数据如下: 我试图通过提取随机值来实现这一点 然而,它给了我错误。你能帮帮我吗?谢谢 我的代码(不完整): 这段代码是从互联网上获取的,经过了一些修改 我收到行的错误“下标超出范围”:Excel 如何为表中的每个用户选择随机行;如果可能的话,每天,excel,vba,Excel,Vba,我有一个数据集,它是从一个服务器中提取的,该服务器包含多个列,其中一个列具有UserID;此数据将转储到Excel工作表中 我的任务是为每个用户随机选择一行,并将其粘贴到另一个工作表中 我的样本数据如下: 我试图通过提取随机值来实现这一点 然而,它给了我错误。你能帮帮我吗?谢谢 我的代码(不完整): 这段代码是从互联网上获取的,经过了一些修改 我收到行的错误“下标超出范围”: dict(数据(r,7))=空 请让我知道,如果有任何其他方式来完成这项任务 谢谢请在您的问题中包括错误的名称/编号以
dict(数据(r,7))=空
请让我知道,如果有任何其他方式来完成这项任务
谢谢请在您的问题中包括错误的名称/编号以及错误发生在哪一行。日期是如何进入工作表的?data=ActiveSheet.UsedRange.Columns(1).Value
为此,您必须将data
定义为Variant,Dim data定义为Variant
但您正在执行Dim data()
@FoxfireAndBurnsAndBurns great minds及所有这些:)提示:添加数据作为手表,然后在为其赋值后在手表窗口中查看。另外,强烈建议不要使用保留字作为变量名(即数据
)
Sub randomsmpl()
Dim data(), dict As Object, r As Long
Set dict = CreateObject("Scripting.Dictionary")
data = ActiveSheet.UsedRange.Columns(1).Value
For r = 1 To UBound(data)
dict(data(r, 7)) = Empty
Next
data = WorksheetFunction.Transpose(dict.keys())
End Sub