优化代码:Private Sub CommandButton2_Click Dim lastRowA As Long Dim rngA As Range rngB As Range rngC As Range rngD As Range rngE As Range rngF As Range Dim colIndex As Integer 设置工作表和范围
Private Sub CommandButton2_Click()
Dim lastRowA As Long
Dim rngA As Range, rngB As Range, rngC As Range, rngD As Range, rngE As Range, rngF As Range
Dim colIndex As Integer
' 设置工作表和范围
With ThisWorkbook.Sheets("Sheet1") ' 将"Sheet1"替换为您要操作的工作表名称
lastRowA = .Cells(.Rows.Count, "A").End(xlUp).Row ' 获取A列的最后一行
' 设置范围
Set rngA = .Range("A1:A" & lastRowA)
Set rngB = .Range("B1:B" & lastRowA)
Set rngC = .Range("C1:C" & lastRowA)
Set rngD = .Range("D1:D" & lastRowA)
Set rngE = .Range("E1:E" & lastRowA)
Set rngF = .Range("F1:F" & lastRowA)
End With
' 随机抽取一列数据
colIndex = Int((4 * Rnd) + 1) ' 生成1到4之间的随机数
Select Case colIndex
Case 1
rngE.Value = rngA.Value
rngF.Value = rngB.Value
Case 2
rngE.Value = rngA.Value
rngF.Value = rngD.Value
Case 3
rngE.Value = rngC.Value
rngF.Value = rngB.Value
Case 4
rngE.Value = rngC.Value
rngF.Value = rngD.Value
End Select
End Sub
Private Sub CommandButton3_Click() Dim lastRowG As Long Dim rngG As Range, rngH As Range, rngI As Range, rngJ As Range, rngK As Range, rngL As Range, rngM As Range, rngN As Range Dim colIndex As Integer
' 设置工作表和范围
With ThisWorkbook.Sheets("Sheet1") ' 将"Sheet1"替换为您要操作的工作表名称
lastRowG = .Cells(.Rows.Count, "G").End(xlUp).Row ' 获取G列的最后一行
' 设置范围
Set rngG = .Range("G1:G" & lastRowG)
Set rngH = .Range("H1:H" & lastRowG)
Set rngI = .Range("I1:I" & lastRowG)
Set rngJ = .Range("J1:J" & lastRowG)
Set rngK = .Range("K1:K" & lastRowG)
Set rngL = .Range("L1:L" & lastRowG)
Set rngM = .Range("M1:M" & lastRowG)
Set rngN = .Range("N1:N" & lastRowG)
End With
' 随机抽取一列数据
colIndex = Int((9 * Rnd) + 1) ' 生成1到9之间的随机数
Select Case colIndex
Case 1
rngM.Value = rngG.Value
rngN.Value = rngH.Value
Case 2
rngM.Value = rngG.Value
rngN.Value = rngJ.Value
Case 3
rngM.Value = rngG.Value
rngN.Value = rngL.Value
Case 4
rngM.Value = rngI.Value
rngN.Value = rngH.Value
Case 5
rngM.Value = rngI.Value
rngN.Value = rngJ.Value
Case 6
rngM.Value = rngI.Value
rngN.Value = rngL.Value
Case 7
rngM.Value = rngK.Value
rngN.Value = rngH.Value
Case 8
rngM.Value = rngK.Value
rngN.Value = rngJ.Value
Case 9
rngM.Value = rngK.Value
rngN.Value = rngL.Value
End Select
End Su
原文地址: https://www.cveoy.top/t/topic/iFrW 著作权归作者所有。请勿转载和采集!