林相當堅持的東西,特別是因爲我不能使用MRand函數的隨機數,我需要在2個不同的列。需要在VBA中的2個不同列中生成非重複數字
A列(Par1)只有1到99的數字(每個條目加1) 然後,程序將隨機選擇col.A 1到99中的所選範圍中的1個,然後放入col .B(Par2),這不能是重複的。
然後在col.C(Par3)中它是同樣的東西,但是這個值也不能等於col.B。
是否有可能產生像這樣,尤其是C柱可以等於col.B
問候彼得
編輯:
噢,對不起,列B和C不能等於A列要麼
林相當堅持的東西,特別是因爲我不能使用MRand函數的隨機數,我需要在2個不同的列。需要在VBA中的2個不同列中生成非重複數字
A列(Par1)只有1到99的數字(每個條目加1) 然後,程序將隨機選擇col.A 1到99中的所選範圍中的1個,然後放入col .B(Par2),這不能是重複的。
然後在col.C(Par3)中它是同樣的東西,但是這個值也不能等於col.B。
是否有可能產生像這樣,尤其是C柱可以等於col.B
問候彼得
編輯:
噢,對不起,列B和C不能等於A列要麼
嘗試...
Sub Macro1()
For i = 1 To ActiveSheet.Range("B" & Rows.Count).End(xlUp).Row Step 1
If Application.WorksheetFunction.CountIf(ActiveSheet.Range("B1", Range("B" & Rows.Count).End(xlUp)), Range("B" & i).Value) > 1 Then
MsgBox "Column B Row " & i & " duplicate!"
End If
Next i
End Sub
你好感謝你,但作爲即時通訊相當新的不得到的結果col.B –
子RandomB() 暗淡我作爲整數 對於i = 1到ActiveSheet.Range(「A2:A」&Rows.Count).End(xlUp).Row步驟1 如果應用n.WorksheetFunction.CountIf(ActiveSheet.Range(「B2」,Range(「B」&Rows.Count).End(xlUp)),Range(「B」&i).Value)> 1 Then MsgBox「Column B排「&我&」重複!「 結束如果 接下來我 結束小組 –
改了一點點,但也許做了misstake –
哦抱歉
列A將具有特定值範圍爲1〜99也許
列B將隨機藉此範圍並填充B:B但他們不能等於col.A在同一行上。
Col.C還將隨機採取col.A但不能等於col.A或B列,其結果應放入col.C
覺得生病指定一個小
在A列中,它將只是一個從1開始到XXX的數字,對於每一個新的行條目,這將是+1。
任務是擁有99對夫妻,其中每對夫婦必須邀請2對其他3對夫妻中的2對(初級 - 主菜 - 甜點)。
反過來,他們將被邀請到其他2對夫婦中的3個小鸚鵡中。
所以列A將成爲夫婦1,將邀請列B和C列的3個chriterias之一,如果它讓SENCE :)
做了一個快速的代碼,希望它什麼ü需要
Sub LoopNCheck()
Dim lngCount As Long
Dim lngLastRow As Long
lngLastRow = 99
For lngCount = 1 To lngLastRow
With Range("a" & lngCount)
.Value = lngCount
.Offset(0, 1) = Getrandom(lngCount, lngLastRow)
.Offset(0, 2) = Getrandom(lngCount, lngLastRow, .Offset(0, 1))
End With
Next
End Sub
Function Getrandom(lngRestriction As Long, lngMax As Long, Optional lngSecRestriction As Long = 0)
Calculate:
Getrandom = WorksheetFunction.RandBetween(1, lngMax)
If Getrandom = lngRestriction Or Getrandom = lngSecRestriction Then GoTo Calculate
End Function
我是否需要更改某些內容?我收到一個錯誤消息,指出公式中的值是錯誤的數據類型 –
我在我的網站上檢查過它,它工作正常,錯誤出現在哪裏? – MattDiakovsky
噢,對不起,列B和C不等於A列要麼 –