標題:
製值之後的下面儲存格皆為""
[打印本頁]
作者:
myleoyes
時間:
2011-2-12 22:12
標題:
製值之後的下面儲存格皆為""
各位前輩你們好!
前輩!問題如附檔說明
請知道的前輩,不吝賜教謝謝再三!!
作者:
hugh0620
時間:
2011-2-14 10:30
回復
1#
myleoyes
試試下述程式碼~ 應該可以符合你的需求
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Select Case Target.Column 'Target.Column 為你選擇的欄位,因J欄位為第10欄,因此CASE 僅寫10
Case 10
For x = 3 To Target.Row - 1 'Target.Row:為你選擇的J欄位第幾列
J = J + 1
Cells(x, 7) = 11 * J '每增一列增加11
Next
Target.Offset(0, -3) = Target(1, 1) 'Target.Offset(0, -3):為你選擇J欄位儲存格 往左移3欄的位置帶入Target(1, 1)(你選擇J欄位儲存格)
For c = Target.Row + 1 To Target.End(xlDown).Row '清除 計算為你選擇J欄位儲存格數目
Cells(c, 7) = ""
Next
End Select
End Sub
作者:
myleoyes
時間:
2011-2-14 21:19
回復
2#
hugh0620
hugh0620 前輩你好!
前輩謝謝!!果然厲害喔!這段程式
Cells(x, 7) = 11 * J '每增一列增加11
小第不解為何每增一列要用11來加呢?
還有以範例來說32列是最後一列
所以當按J32時因為後面是""所以程式
無法停止 Next....
另一方面是當J欄的儲存格=""時是
不能執行程式前輩忘記考慮到
原程式有說( If Target(1) <> "" Then nn )
不好意思請再辛苦修改看看,謝謝再三!!
作者:
Hsieh
時間:
2011-2-14 22:35
回復
3#
myleoyes
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target(1), Range("J3:J152")) Is Nothing And Target(1) <> "" Then
Target.Offset(, -3) = Target.Value
Range(Target(1).Offset(1, -3), Target(1).Offset(1, -3).End(xlDown)) = ""
End If
End Sub
複製代碼
作者:
hugh0620
時間:
2011-2-15 08:32
本帖最後由 hugh0620 於 2011-2-15 09:38 編輯
回復
3#
myleoyes
Q. Cells(x, 7) = 11 * J '每增一列增加11,小第不解為何每增一列要用11來加呢?
A. 因為你給的圖不就是每列都加11,除非你需要的是其他的東西??
Q. 還有以範例來說32列是最後一列,所以當按J32時因為後面是""所以程式,無法停止 Next....
Select Case Target.Column
Case 10
For x = 3 To Target.Row - 1
J = J + 1
Cells(x, 7) = 11 * J
Next
Target.Offset(0, -3) = Target(1, 1)
Range(Target(1).Offset(1, -3), Target(1).Offset(1, -3).End(xlDown)) = "" '<----新增這行,偷用Hsieh大大的東西^.^
'現在知道可以怎麼用~ 多學會一招~...
End Select
End Sub
Q. 另一方面是當J欄的儲存格=""時,是不能執行程式前輩忘記考慮到,原程式有說( If Target(1) <> "" Then nn )
這個問題我看不懂耶~ 不知道你J=""時, 不能執行的結果是怎麼樣??
作者:
myleoyes
時間:
2011-2-15 21:11
回復
4#
Hsieh
hsieh前輩你好!
偶像前輩!謝謝!!程式精簡有力贊!贊!
辛苦囉!謝謝再三!!
作者:
myleoyes
時間:
2011-2-15 21:13
回復
5#
hugh0620
hugh0620 前輩你好!
前輩謝謝!!G欄的數字是隨意下拉的結果
造成你的誤解可見前輩觀察入微實在是真殆勢!
當J欄的儲存格=""時,執行程式是無意義的
如偶像前輩程式裡的這一段相同的意思
If..... And Target(1) <> "" Then
是小弟不會表達不好意思好像猜燈謎喔!殆勢!
辛苦囉!謝謝再三!!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)