標題:
[發問]
cell double click & copy 語句
[打印本頁]
作者:
jakcy1234
時間:
2013-9-5 14:24
標題:
cell double click & copy 語句
[attach]15949[/attach]
有幾個問題想問問...............
問題 (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 範圍
Sub Macro19()
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.AutoFilter
Selection.AutoFilter
End Sub
複製代碼
================================================================================
問題 (2.)
還有 reset auto filter, 是不是只可以一個一個排 ( 可以不可以一次過 1 至 5 一起 ) ?
如果選了很多filter , data 又太多, 逐個 reset 就會很慢.
Sub Macro20()
Selection.AutoFilter Field:=1
Selection.AutoFilter Field:=2
Selection.AutoFilter Field:=3
Selection.AutoFilter Field:=4
Selection.AutoFilter Field:=5
End Sub
複製代碼
=================================================================================
問題 (3.) cell double click & copy (
不是要即時paste, 只存在記憶中
), 請問應該要點改 ?
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
With Worksheets("Sheet2").UsedRange.Cells
Dim r As Long
r = Target.Row
For Each c In Rows(r).Cells
b = c.Address
Worksheets("Sheet3").Range(b) = c
Next c
End With
End Sub
複製代碼
作者:
GBKEE
時間:
2013-9-6 07:24
回復
1#
jakcy1234
2# sunnyso 說上傳檔案是方便解答(不必瞎子摸象)
Option Explicit
Sub Macro19()
Dim Rng As Range
With Sheets("SHEET1")
Set Rng = .Range(.[A1], .[A1].End(xlDown)).Resize(, 12) 'M20格加了記號(如圖), 就可以選到 A1~~L20 都是 filter 範圍
'Set Rng = .Range(.[A1], .[A1].End(xlDown)).Resize(, .[L1].Column) 'M20格加了記號(如圖), 就可以選到 A1~~L20 都是 filter 範圍
End With
MsgBox Rng.Address
End Sub
複製代碼
作者:
jakcy1234
時間:
2013-9-6 17:20
回復
3#
GBKEE
謝謝你的解答
你的語句比我的簡單很多, 以上3個問題我昨天已經解決了.
另外其實cell double click & copy 已找到方法, 但是如果我在 1至8行中增加N行數 , 指定的 Range 範圍就失去效用,
是不是要用vlookup offset 來設定 (如A9為 [項目名] >> vlookup 項目名 offset Range 導向 10,0 : 20,3 ),
我只識vlookup 函數formula 但macro 就不懂怎寫, 請問要怎改?
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range("A10:D20"), Target) Is Nothing Then
Application.EnableEvents = False
Range("E20") = Target
Application.EnableEvents = True
Range("E20").Select
Selection.Copy
End If
End Sub
複製代碼
作者:
GBKEE
時間:
2013-9-6 18:03
回復
4#
jakcy1234
http://forum.twbts.com/thread-10339-1-1.html
的 13帖
作者:
jakcy1234
時間:
2013-9-8 07:50
回復
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 去選用範圍
作者:
GBKEE
時間:
2013-9-8 08:24
回復
5#
jakcy1234
不錯,條條道路通羅馬.
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)