標題:
[發問]
尋找公倍數
[打印本頁]
作者:
maiko
時間:
2013-10-6 19:20
標題:
尋找公倍數
首先判斷B1、C1、D1、E1、F1……有沒有資料,如有多少個資料就查找多少欄的共同倍數:
1. 在B2:?31 表中查找B1、C1、D1、E1、F1……的共同倍數相同值,然後給它們填上顏色以便辨識,第一組的填上一個顏色,第二組的填上另一個顏色,第三組的填上第三個顏色,以此類推。
* ?為變量,B1、C1、D1、E1、F1……有多少個資料就為多少個變量
謝謝!
[attach]16255[/attach]
[attach]16256[/attach]
作者:
stillfish00
時間:
2013-10-7 00:40
本帖最後由 stillfish00 於 2013-10-7 00:43 編輯
回復
1#
maiko
Sub TEST()
Dim a As Long, x
a = Application.WorksheetFunction.lcm(Range([b1], [b1].End(xlToRight)))
For Each x In Range([b2], [b1].End(xlToRight).End(xlDown))
If x.Value Mod a = 0 Then
x.Interior.ColorIndex = 3 + int(x / a) Mod 54
End If
Next
End Sub
複製代碼
作者:
maiko
時間:
2013-10-7 07:36
回復 maiko
stillfish00 發表於 2013-10-7 00:40
有點問題:就是不能判斷要查找的欄數多少欄才找出每欄的公同倍數。不是其中兩欄有共同倍數就找出來,不是這樣,要所有欄都有共同倍數才找出來。謝謝!
作者:
stillfish00
時間:
2013-10-7 09:19
回復
3#
maiko
前一次的結果沒清掉?
作者:
Hsieh
時間:
2013-10-7 16:11
回復
3#
maiko
Sub Ex()
Dim Rng As Range, A As Range
Set Rng = Range([B1], [B1].End(xlToRight))
x = Application.WorksheetFunction.Lcm(Rng)
y = Rng.Count
For Each A In Range(Rng(1).Offset(1).Resize(, y), Rng(1).Offset(1).Resize(, y).End(xlDown))
If A Mod x = 0 And Application.CountIf(Range(Rng(1).Offset(1).Resize(, y), Rng(1).Offset(1).Resize(, y).End(xlDown)), A) = y Then
A.Interior.ColorIndex = 3 + Int(A / x) Mod 54
Else
A.Interior.ColorIndex = xlNone
End If
Next
End Sub
複製代碼
作者:
maiko
時間:
2013-10-7 19:28
回復 maiko
Hsieh 發表於 2013-10-7 16:11
Hsieh大,能否每次執行之前清除顏色格式?和自動計算B2:?1表中的共同倍數?
謝謝!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)