推 sueadolph:直接回信給你好了orz 04/15 18:01
軟體:excel
版本:2003
不好意思...我想請問一下問題
這是我從書上抓出來的
===================================
這是excel的表
a b c d e f g h
編碼 分類 名字 國文 數學 理化 社會 合計
1 78 A 橋本 36 47 54 42 179
2 66 B 高山 41 35 33 73 182
3 24 C 岡田 62 37 35 49 183
4 81 D 平山 43 46 32 64 185
5 58 A 須藤 31 35 35 87 188
6 30 B 加藤 50 34 35 70 189
7 38 C 君島 54 44 45 48 191
8 90 D 村上 37 76 47 32 192
9 6 A 荒川 73 44 40 36 193
10 89 B 丸山 57 42 58 42 199
11 50 C 佐佐木 42 51 47 61 201
12 20 D 大貫 35 42 92 33 202
13 51 A 佐藤 31 32 73 69 205
14 57 B 鈴木 46 39 39 82 206
15 93 C 山口 41 42 76 55 214
=====================================================================
Option Explicit
Sub E_Sample023()
'測試資料 E_Data01工作表兖
Dim myRng1 As Range
Dim myRng2 As Range
Dim myRng3 As Range
Dim myAr As Variant
Dim i As Long
myAr = Array(1, 4, 3, 2, 7) '指定轉寫的欄位與順序
With Worksheets
Set myRng1 = _
.Item("E_Data01").Range("A1").CurrentRegion '抓取來源範圍
Set myRng2 = .Item("E_Data01").Range("J1:K2") '抓取資料範圍
Set myRng3 = .Add(After:=.Item(.Count)) _
.Range("A1").Resize(, UBound(myAr) + 1) '指定轉寫目標
End With
For i = 1 To 5
myRng3.Cells(i).Value = myRng1.Rows(1).Cells(myAr(i - 1)).Value
Next
'將抓取條件輸入至儲存格範圍內
myRng2.Cells(1, 1) = myRng1.Cells(1, 3) '名字指定欄位
myRng2.Cells(1, 2) = myRng1.Cells(1, 6) '理化
myRng2.Cells(2, 1) = "山*" '指定抓取條件
myRng2.Cells(2, 2) = ">50"
myRng1.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=myRng2, _
CopyToRange:=myRng3
With myRng1.Parent
If .FilterMode Then
.ShowAllData
End If
End With
myRng2.Clear '刪除抓取條件
Set myRng1 = Nothing '物件的釋放
Set myRng2 = Nothing
Set myRng3 = Nothing
End Sub
===============================================================================
不好意思,這個是從書上抓下來的,我看不是很懂@@,想請問一些問題:
1.Set myRng1 = _
.Item("E_Data01").Range("A1").CurrentRegion
他說是抓取來源範圍,但我看不太懂,是抓取性質嗎?
2.Set myRng2 = .Item("E_Data01").Range("J1:K2")
我把J1:K2改掉就整個變了,為什麼要選這個範圍呢??
3. myRng2.Cells(1, 1) = myRng1.Cells(1, 3) '名字指定欄位
myRng2.Cells(1, 2) = myRng1.Cells(1, 6) '理化
這個是在說相對的位置嗎??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 110.24.248.114