写一段VBA代码,生成随机表,34列,一半为“左”,一半为“右”
时间: 2023-09-24 22:06:49 浏览: 93
VBA生成互不相同的随机数
4星 · 用户满意度95%
### 回答1:
Sub GenerateRandomTable()
'定义变量
Dim i As Integer
Dim Table As Object
'创建一个新表
Set Table = CreateObject("Scripting.Dictionary")
'循环遍历34列
For i = 1 To 34
'对于偶数列,生成“左”
If i Mod 2 = 0 Then
Table(i) = "左"
Else
'对于奇数列,生成“右”
Table(i) = "右"
End If
Next
'显示结果
MsgBox Table.items
End Sub
### 回答2:
以下是一段用VBA代码生成随机表的示例代码:
Sub 生成随机表()
Dim ws As Worksheet
Dim rowCount As Integer
Dim colCount As Integer
Dim i As Integer
Dim j As Integer
' 指定生成随机表的工作表
Set ws = ThisWorkbook.ActiveSheet
' 指定行数和列数
rowCount = 10
colCount = 34
' 循环遍历每一行和列
For i = 1 To rowCount
For j = 1 To colCount
' 生成随机数,取值为1或2
Dim randomValue As Integer
randomValue = Int((2 - 1 + 1) * Rnd + 1)
' 根据随机数的值,设置单元格的值为“左”或“右”
If randomValue = 1 Then
ws.Cells(i, j).Value = "左"
Else
ws.Cells(i, j).Value = "右"
End If
Next j
Next i
End Sub
这段代码使用了两个嵌套的循环来遍历每一行和列。在每个单元格中,生成一个随机数,然后根据这个随机数的值将单元格的值设置为“左”或“右”。最终,随机表将在指定的工作表上被生成,共有34列,每列一半为“左”,一半为“右”。你可以根据需要修改代码中的行数和列数来生成指定行数和列数的随机表。
### 回答3:
Sub GenerateRandomTable()
Dim rng As Range
Dim cell As Range
Dim i As Integer
'设置随机数种子
Randomize
'定义表格初始范围
Set rng = Range("A1:AH34")
'清除原有内容
rng.ClearContents
'生成随机表
For Each cell In rng
'确定每一列的位置
i = cell.Column
'根据列数判断左右并填充内容
If i <= 17 Then
cell.Value = "左"
Else
cell.Value = "右"
End If
Next cell
End Sub
以上VBA代码用于生成一个随机表,共34列。其中,前17列为“左”,后17列为“右”。通过使用Randomize函数设置随机数种子,对范围内的每一个单元格进行遍历操作,根据每一列的位置进行判断并填充相应内容。最终生成的随机表被填充满34列(A列到AH列),共34行(1行到34行)。
阅读全文