現在是想說用尋找每個人的姓名,然後在這個範圍選取如圖1
像找"魏梅猜"對應的所有資料,然後將這些資料(b95:d125)再做複製、貼上到sheet1的動作。
請問要如何使用EXCEL VBA "自動"將特定範圍的值找到然後貼到另一個工作表??
而不用每個月"手動"更改圖2紅線的值


gary4024 wrote:
1. 先把原表 依姓名排序 2。再用另一張工作表 以match 函數 找出 每個名字 第一筆出現的 列數 粘XX 就是 1到94列魏XX 就 95到119................再把 上述的這些 起始列數及終止列數 帶到 你的VBA ABC1姓名起始列終止列2粘XX=match(xxxx) =1=b3-1=943魏梅猜=match(xxxxxx) =95=b4-1=1194張三= match(ZZZZ) =120
2016-04-05 00:58 by snare
snare wrote:
'(a1:d1) 第一列,必需是標題列表格有沒有排序都可使用 Sheets("sheet4").Select Range("a1:a" & Range("A1").End(xlDown).Row).AutoFilter Field:=1, Criteria1:="魏◎◎" Columns("a:d").Select Selection.SpecialCells(xlCellTypeVisible).Copy Sheets("sheet1").Range("i4") Sheets("sheet4").Range("a1").Select Selection.AutoFilter名字不多的話,直接用,多複製幾次可以了名字很多的話,想辦法練習一下,把這個程式碼變成迴圈
turion111 wrote:
第一欄無法取消是有點不方便...(恕刪)
snare wrote:
可試看看,改用迴圈,程式碼只要多 for .... next 這2行
turion111 wrote:
非常感謝!!!以後...(恕刪)
snare wrote:
參考一下我寫的吧