EXCEL VBA 每15人各加小星號,如此到100人。

2015-06-10 6:49 am
EXCEL VBA 每15人各加小星號,如此到100人。【需求】1。B3欄開始,每次15人點*[小*即可]。2。第二次也是15人,但是前面的15個*清空白。3。如此控制至100人[顯示在D2來控管]停止。此時前面做了15人*6次=90人,剩下的是100人-90人=10人了。4。每15人加星號完之時,小視窗顯示一下,現在是在第幾次的15人加星號。【感恩】 http://www.FunP.Net/56570400每次15列.rar
更新1:

新題請大家多幫忙一下,謝謝喔。 https://tw.knowledge.yahoo.com/question/question?qid=1515061008818 【衍生題】EXCEL 每15人各加小星號,如此到100人。

更新2:

暱稱 知識長 前輩 : 畫龍點睛的妙啊,可以完成我的需求了,沒意見的話,就選002先生為最佳正解囉,我會加上要參考您的意見的,謝謝喔。一題用函式一題用VBA,剛好互補。

更新3:

等 VBA 大工程師蒞臨指導之後再結案囉,感恩。

回答 (5)

2015-06-16 10:18 pm
✔ 最佳答案
兩位回答者都沒補充意見 按版主的意見來代言 請大家參考以下之正解 本題是屬連點 請參考連點部分

https://tw.knowledge.yahoo.com/question/question?qid=1515061008818

【衍生題】EXCEL 每15人各加小星號,如此到100人。
2015-06-11 4:19 am
這題出的很好~
剛好我也需要~
不過我的需求沒那麼高級~
為方便題目在一起~
能不能請版主幫我出一下類似的題~
我的不要全自動~
我只需要在某欄區分1.2.3.4.5.6......~
1就是第一組15人~
餘此類推~
這樣就很滿足了~
謝謝版主~

2015-06-12 07:55:28 補充:
其實 002 回答者已寫的相當好了~
版主要的變數型~
我來畫龍點睛一下~

2015-06-12 08:03:11 補充:
Sub test()
Dim i, j, k,m_d2 === 加上m_d2 您要在D2欄輸入100
m_d2 = Cells(2, 4) === 新增此列
j = [D65536].End(xlUp).Row
If j > 1 Then Range("D2:D" & j).ClearContents == 這邊從第三欄開始所以要 j > 2
還有 D2:D === 改為D3:D
k = 0

2015-06-12 08:03:53 補充:
For i = 1 To 100 === 這裡100要改為m_d2
Cells(i + 2, 4).Select
Cells(i + 2, 4) = "***"
If i Mod 15 = 0 Then
k = k + 1
MsgBox "第" & k & "次"

2015-06-12 08:04:01 補充:
Cells(i - 13, 4).Resize(15, 1).ClearContents
End If
Next
If i Mod 15 - 1 > 0 Then
MsgBox "第" & k + 1 & "次"
End If
End Sub

2015-06-12 08:05:51 補充:
程式碼另傳版主~
如有差異以版主的為主~
因為知識家的編輯器會吃字~

建議版主點選002回答者為最佳解答~
我的只是借花獻佛而已~

2015-06-13 14:14:13 補充:
引用新題的意見~

專家一出手的確不同凡響~
就把兩題給命名為:單點與連點~
取的相當好~
這題是我委託版主幫我發問的~
所以我建議 准提大師上台發表~
不知E大與版大有沒意見~
而函數部分請版大在結論時PO上一下~
我的是單點~
版大那題是連點~
建議版大也請准大上台發表~
這樣可以讓初學者學得更多~
謝謝~~~~~~~~~~~~~~~
2015-06-11 1:46 am
Sub test()
Dim i, j, k
j = [D65536].End(xlUp).Row
If j > 1 Then Range("D2:D" & j).ClearContents

k = 0
For i = 1 To 100
Cells(i + 2, 4).Select
Cells(i + 2, 4) = "***"
If i Mod 15 = 0 Then
k = k + 1
MsgBox "第" & k & "次"
Cells(i - 13, 4).Resize(15, 1).ClearContents
End If
Next
If i Mod 15 - 1 > 0 Then
MsgBox "第" & k + 1 & "次"
End If
End Sub
2015-06-11 12:31 am
感謝
大致不錯,目前先測到兩個問題,
第一:
If (15 * (i + 1) + 2) < 102
您是用定值102
第二:
最後一個也就是第七個沒有顯示*就結束了
請幫忙再看看喔,謝謝,辛苦了。

2015-06-10 17:02:47 補充:
您好
我在D2欄上有加100,這樣比較好控制要做到哪裡,比較有彈性,不用再去修改VBA,謝謝喔,辛苦了。

2015-06-10 17:31:19 補充:
還有這邊
For I = 1 To 7
只做到6次就停了,希望能夠以D2的最終值來做研判,比如100,這樣就很有彈性了,謝謝喔,感恩。

2015-06-10 18:40:31 補充:
先生( 初學者 5 級 )
感謝,改善很多了。
其中D2的100會被刪掉,請問一下,
這裡的For i = 1 To 100 的100能不能使用我的D2欄的值=100呢,因為每次狀況會不同的,除非每次還要用人工去修改VBA的這100,請幫忙看看囉,感恩。

2015-06-10 18:51:40 補充:
還有請問一下
假如我要在每15人點完*號之後立即啟動我的CALL,以利連續的處理我的固定工作,請問該放在哪裡呢,謝謝喔。

2015-06-10 21:52:54 補充:
好的,準備按下列來請益大專家了:

【新需求】
1。新增E2欄=想要挑選的次數,比如打入=1=就執行1至15人的B欄+*,2就執行16至30人的B欄+*,餘此類推。
2。其他請參考前題的基本需求,檔案相同。

2015-06-10 22:08:08 補充:
https://tw.knowledge.yahoo.com/question/question?qid=1515061008818

【衍生題】EXCEL 每15人各加小星號,如此到100人。

2015-06-11 15:34:04 補充:
假如函式也能滿足我的需求者也可以試試囉,感謝喔。

2015-06-12 09:19:40 補充:
2015-06-12 09:17:52 補充
暱稱 知識長 前輩 : 畫龍點睛的妙啊,可以完成我的需求了,沒意見的話,就選002先生為最佳正解囉,我會加上要參考您的意見的,謝謝喔。一題用函式一題用VBA,剛好互補。

2015-06-12 09:52:00 補充:
2015-06-12 09:51:16 補充
等 VBA 大工程師蒞臨指導之後再結案囉,感恩。

2015-06-14 23:17:21 補充:
補充資料如下

新題已解決,但是大師把兩題都答在一起了,所以有關這題的正解問題,現在徵求一位自願者,必須有參與這新舊兩題討論的人員,包括回答者,肯補充新題准大師的正解者,就可以結案了,大家請不要客氣喔,請大家幫忙,謝謝。

2015-06-14 23:25:24 補充:
已發信給回答者參考了。

補充資料如下

新題已解決,但是大師把兩題都答在一起了,所以有關這題的正解問題,現在徵求一位自願者,必須有參與這新舊兩題討論的人員,包括回答者,肯補充新題准大師的正解者,就可以結案了,大家請不要客氣喔,請大家幫忙,謝謝。

2015-06-14 23:25:42 補充:
正解請參考這題

https://tw.knowledge.yahoo.com/question/question?qid=1515061008818

【衍生題】EXCEL 每15人各加小星號,如此到100人。

要補充的這題是

https://tw.knowledge.yahoo.com/question/question?qid=1515060908305
EXCEL VBA 每15人各加小星號,如此到100人。

2015-06-15 12:29:24 補充:
假如這題兩位回答者,沒興趣補充的話,就請志願者來幫忙,感恩,但請先表達一下意見囉。
2015-06-10 11:48 pm
Sub 巨集1()

For j = 1 To 15
Cells(2 + j, 2) = "*"
Next j

For i = 1 To 6
MsgBox ("現在是第" + CStr(i) + "次的15人加星號")
If (15 * (i + 1) + 2) < 102 Then
For j = 1 To 15
Cells(15 * (i - 1) + 2 + j, 2) = ""
Next j
For j = 1 To 15
Cells(15 * i + 2 + j, 2) = "*"
Cells(15 * i + 2 + j, 2).Select
Next j
End If

Next i
End Sub
參考: 自己


收錄日期: 2021-05-04 01:40:58
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20150609000015KK08305

檢視 Wayback Machine 備份