返回列表 上一主題 發帖

[發問] cell double click & copy 語句

[發問] cell double click & copy 語句



有幾個問題想問問...............

問題 (1.)
我想做一個button click (restart auto filter)
但是沒有 shift + space 既語句 ( 只可以用 Rows("1:20").Select )
如果row 會一直增加 21 , 22 , 23 ............N 行,
而又不會SELECT 影響到 22至26行 (如圖)

想問有沒有好像  shift + space 既語句 用 A1 column 為目標到 N行 (最尾的編號) 然後 select all row

我只想了一個辦法 在 M20格加了記號(如圖), 就可以選到 A1~~L20 都是 filter 範圍
  1. Sub Macro19()
  2.     Range("A1").Select
  3.     Range(Selection, Selection.End(xlDown)).Select
  4.     Range(Selection, Selection.End(xlToRight)).Select
  5.     Selection.AutoFilter
  6.     Selection.AutoFilter   
  7. End Sub
複製代碼
================================================================================


問題 (2.)

還有 reset auto filter, 是不是只可以一個一個排 ( 可以不可以一次過 1 至 5 一起 ) ?
如果選了很多filter , data 又太多, 逐個 reset 就會很慢.
  1. Sub Macro20()
  2.     Selection.AutoFilter Field:=1
  3.     Selection.AutoFilter Field:=2
  4.     Selection.AutoFilter Field:=3
  5.     Selection.AutoFilter Field:=4
  6.     Selection.AutoFilter Field:=5
  7. End Sub
複製代碼
=================================================================================

問題 (3.) cell double click & copy ( 不是要即時paste, 只存在記憶中  ), 請問應該要點改 ?
  1. Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
  2. With Worksheets("Sheet2").UsedRange.Cells
  3. Dim r As Long
  4. r = Target.Row
  5. For Each c In Rows(r).Cells
  6. b = c.Address
  7. Worksheets("Sheet3").Range(b) = c
  8. Next c
  9. End With

  10. End Sub
複製代碼

回復 1# jakcy1234
2# sunnyso 說上傳檔案是方便解答(不必瞎子摸象)
  1. Option Explicit
  2. Sub Macro19()
  3.     Dim Rng As Range
  4.     With Sheets("SHEET1")
  5.         Set Rng = .Range(.[A1], .[A1].End(xlDown)).Resize(, 12)            'M20格加了記號(如圖), 就可以選到 A1~~L20 都是 filter 範圍
  6.         'Set Rng = .Range(.[A1], .[A1].End(xlDown)).Resize(, .[L1].Column) 'M20格加了記號(如圖), 就可以選到 A1~~L20 都是 filter 範圍
  7.     End With
  8.     MsgBox Rng.Address
  9. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 3# GBKEE

謝謝你的解答
你的語句比我的簡單很多, 以上3個問題我昨天已經解決了.


另外其實cell double click & copy 已找到方法, 但是如果我在 1至8行中增加N行數 , 指定的 Range 範圍就失去效用,
是不是要用vlookup offset 來設定 (如A9為 [項目名] >> vlookup 項目名 offset Range 導向 10,0 : 20,3 ),
我只識vlookup 函數formula 但macro 就不懂怎寫, 請問要怎改?
  1. Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  2.     If Not Intersect(Range("A10:D20"), Target) Is Nothing Then
  3.         Application.EnableEvents = False
  4.         Range("E20") = Target
  5.         Application.EnableEvents = True
  6.             Range("E20").Select
  7.     Selection.Copy
  8.     End If
  9. End Sub
複製代碼

TOP

回復 4# jakcy1234
http://forum.twbts.com/thread-10339-1-1.html  的 13帖
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 4# GBKEE
Dim findValue As Range
Set findValue = Range("E1:E100").Find(What:="項目", After:=Range(" E1 "), LookIn:=xlFormulas)
If Not findValue Is Nothing Then
...........
End If
(findValue.Offset(1, 0).Address)   ' $E$19 就變 $E$20


我沒有lookup或index 最後我簡簡單單用 find xlFormulas + offset 去選用範圍

TOP

回復 5# jakcy1234
不錯,條條道路通羅馬.
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 為自己找藉口的人永遠不會進步。
返回列表 上一主題