Board logo

標題: 設定工作表的工作範圍 [打印本頁]

作者: 自我感覺良好    時間: 2013-8-16 07:10     標題: 設定工作表的工作範圍

我想把工作表設在A欄工作,就是使遊標點其它欄還是跑到A欄。
譬如點C20卻跑到A20
            D21跑到A21
這要如何做?
作者: owen06    時間: 2013-8-16 08:32

回復 1# 自我感覺良好


這樣試試

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Selection.End(xlToLeft).Select
End Sub
作者: stillfish00    時間: 2013-8-16 09:13

本帖最後由 stillfish00 於 2013-8-16 09:20 編輯

放到該工作表程式碼
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2.   Application.Intersect([A:A], Target.EntireRow).Select
  3. End Sub
複製代碼
回復 1# 自我感覺良好

不然就保護儲存格別讓他選
作者: 自我感覺良好    時間: 2013-8-16 09:44

回復 3# stillfish00

太 好用了
   Application.Intersect([A:A], Target.EntireRow).Select
作者: 自我感覺良好    時間: 2013-8-18 09:23

回復 3# stillfish00

想在a1卻入文字
改成這樣卻不能用,不知錯在那裡…
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Application.Intersect([A:A], Target.EntireRow).Select
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "不知錯在那裡…"
    End Sub
作者: sunnyso    時間: 2013-8-18 12:15

ActiveCell.FormulaR1C1 = "不知錯在那裡…"

activecell.value="abcdeff1234"
作者: 自我感覺良好    時間: 2013-8-18 15:02

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Application.Intersect([A:A], Target.EntireRow).Select
    Range("A1").Select
    activecell.value="abcdeff1234"
    End Sub

還是不能用
而且程式會目亂掉了
作者: c_c_lai    時間: 2013-8-18 18:40

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Application.Intersect([A:A], Tar ...
自我感覺良好 發表於 2013-8-18 15:02
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2.     Application.Intersect([A:A], Target.EntireRow).Select
  3.     Range("A1").Select
  4.     ActiveCell.Value = "abcdeff1234"
  5. End Sub
複製代碼
以上程式碼是 OK 的, 你指的是甚麼,能否上傳檔案?
作者: 自我感覺良好    時間: 2013-8-18 19:39

回復 8# c_c_lai


    只能在A1工作了。
    滑鼠怎樣點都去A1
作者: c_c_lai    時間: 2013-8-18 20:30

回復 9# 自我感覺良好
請將原本之
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2.     Application.Intersect([A:A], Target.EntireRow).Select
  3. End Sub
複製代碼
修改成
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     Application.Intersect([A:A], Target.EntireRow).Select
  3. End Sub
複製代碼
便可以在其他欄位進行輸入了。
你希望的是不是這樣?
作者: 自我感覺良好    時間: 2013-8-18 21:43

回復 10# c_c_lai

還是有問題
要關檔案會很困難。
作者: c_c_lai    時間: 2013-8-19 08:26

回復 11# 自我感覺良好
不太明瞭你的陳述,請上傳檔案看看。
作者: owen06    時間: 2013-8-19 08:34

回復 7# 自我感覺良好

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Application.Intersect([A:A], Target.EntireRow).Select
    Range("A1").Select
    activecell.value="abcdeff1234"
    End Sub
你如果能明確一點的說出你的想法及做法,大家比較能夠確實的幫助到你,
還有為什麼在執行完了第一行『不管點到哪一格,都會跳到該列的第一格』的指令之後,
你還要再下一個Range("A1").Select的指令?
這樣一來當然就不管你做什麼,都是跳回去A1啦@@,這樣第一個指令根本就是多餘的了。
你如果是單純想讓A1能顯示出你要的內容,你就捨棄[A1].SELECT
直接下[A1]="OOXX" 就好了。
作者: 自我感覺良好    時間: 2013-8-19 10:54

回復 13# owen06


    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Application.Intersect([A:A], Target.EntireRow).Select
    [A1] = "自我感覺良好"
    End Sub
可以正常使用了
太感謝了!
加上[A1] = "自我感覺良好"
我的excel 都要加上…
不去改巨集是無法清除的。




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)