註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
Excel程式區
» 請教如何讓VBA自動比對相同數值後,複製到它處?
返回列表
下一主題
上一主題
發帖
[發問]
請教如何讓VBA自動比對相同數值後,複製到它處?
jonn0510
發短消息
加為好友
jonn0510
當前離線
UID
7461
帖子
38
主題
13
精華
0
積分
84
金錢
84
點名
0
作業系統
WIN XP
軟體版本
OFFICE 2003
閱讀權限
20
性別
男
在線時間
334 小時
註冊時間
2011-12-10
最後登錄
2021-7-18
中學生
帖子
38
主題
13
精華
0
積分
84
點名
0
作業系統
WIN XP
軟體版本
OFFICE 2003
閱讀權限
20
性別
男
註冊時間
2011-12-10
最後登錄
2021-7-18
1
#
跳轉到
»
倒序看帖
打印
字體大小:
t
T
發表於 2012-8-5 08:56
|
只看該作者
[發問]
請教如何讓VBA自動比對相同數值後,複製到它處?
請教老師:
儲存格
E 若等於 儲存格C 時,則
複製
("B:H") 到M3
如何
用VBA來判斷?謝謝
如附件
B C D E F G H
1 17 -6 06 07 16 20
2 14 -6 06 11 16 20
3 26 -5 26 06 16 20
4 20 -9 06 16 22 27
5 17 -6 06 07 16 27
6 17 -6 17 16 20 22
7 -9 -6 06 06 16 31
------------------------------------
B C D E F G H
3 26 -5 26 06 16 20
6 17 -6 17 16 20 22
xx.rar
(2.14 KB)
下載次數:10
2012-8-5 08:48
樓主熱帖
請教如何讓VBA自動將空白處自動填入數字0 ?
請教如何讓vba自動判斷篩選最大值與最小值
篩選小於0的VBA程序?
希望數字 1 變成 0 其他數字不變
請老師指導如何將程序縮減?
請問1~15的數字,每四各數字一組,在不重複狀
請問一排數據全部減1,但不想要負數該如何處
請教 LARGE 函數的問題?
請教:在指定的儲存內輸入任意數,即可執行該
請教如何再將程序縮減?
收藏
分享
感謝各位老師花心思教導
kimbal
發短消息
加為好友
kimbal
當前離線
UID
803
帖子
472
主題
5
精華
0
積分
485
金錢
485
點名
0
作業系統
Windows
軟體版本
MS Office
閱讀權限
100
性別
男
來自
香港
在線時間
162 小時
註冊時間
2010-7-4
最後登錄
2014-12-28
版主
帖子
472
主題
5
精華
0
積分
485
點名
0
作業系統
Windows
軟體版本
MS Office
閱讀權限
100
性別
男
來自
香港
註冊時間
2010-7-4
最後登錄
2014-12-28
2
#
發表於 2012-8-5 13:02
|
只看該作者
Sub test()
Dim outRow As Long
outRow = 0
For Each C In Range(Range("C3"), Range("C3").End(xlDown))
If C.Value = C.Offset(0, 2) Then
Range(C.Offset(0, -1), C.Offset(0, 5)).Copy
Range("M3").Offset(outRow).PasteSpecial
outRow = outRow + 1
End If
Next
End Sub
複製代碼
其實,可以考慮一下用篩選 復制方法, 不用慢慢對代碼
懂得發問,答案就會在其中
今日の一秒は 明日にない
http://kimbalko-chi.blogspot.com
http://kimbalko.blogspot.com
TOP
jonn0510
發短消息
加為好友
jonn0510
當前離線
UID
7461
帖子
38
主題
13
精華
0
積分
84
金錢
84
點名
0
作業系統
WIN XP
軟體版本
OFFICE 2003
閱讀權限
20
性別
男
在線時間
334 小時
註冊時間
2011-12-10
最後登錄
2021-7-18
中學生
帖子
38
主題
13
精華
0
積分
84
點名
0
作業系統
WIN XP
軟體版本
OFFICE 2003
閱讀權限
20
性別
男
註冊時間
2011-12-10
最後登錄
2021-7-18
3
#
發表於 2012-8-5 20:31
|
只看該作者
回復
2#
kimbal
kimbal老師:
感謝您的指導,謝謝您
另外您提到"其實,可以考慮一下用篩選 復制方法, 不用慢慢對代碼".原本有打算用篩選,但是資料很龐大,且經常會用到,於是想一勞永逸.所以才會上網請教.
非常感謝您
感謝各位老師花心思教導
TOP
diabo
發短消息
加為好友
diabo
當前離線
UID
1386
帖子
79
主題
2
精華
0
積分
193
金錢
193
點名
0
作業系統
Winwos 7 64 bits
軟體版本
Excel 2003/2007
閱讀權限
20
性別
男
來自
TAIPEI
在線時間
215 小時
註冊時間
2010-8-25
最後登錄
2019-9-20
中學生
帖子
79
主題
2
精華
0
積分
193
點名
0
作業系統
Winwos 7 64 bits
軟體版本
Excel 2003/2007
閱讀權限
20
性別
男
來自
TAIPEI
註冊時間
2010-8-25
最後登錄
2019-9-20
4
#
發表於 2012-8-6 00:35
|
只看該作者
回復
3#
jonn0510
資料龐大可以考慮 SQL 的做法
記得
1. 設定引用項目 Microsoft ActiveX Data Objects 2.8 Library
2. Sheet1的B2:H2 空白的補上欄位名稱...
Sub test()
'建立ADODB Connection物件變數
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
'建立ADODB Recordset物件變數
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
'建立資料庫連線
With cn
.Provider = "MSDASQL"
.ConnectionString = "Driver={Microsoft Excel Driver (*.xls)};" & _
"DBQ=" & ThisWorkbook.FullName & ";"
.Open
End With
'SQL字串
mySQL = "Select * FROM [Sheet1$B2:H25] WHERE [主]=[副]"
'解決無法釋放記憶體的BUG
ThisWorkbook.ChangeFileAccess xlReadOnly
Set rs = cn.Execute(mySQL)
ThisWorkbook.ChangeFileAccess xlReadWrite
'將結果COPY到指定位置
Sheets("Sheet1").Range("M12").CopyFromRecordset rs
End Sub
複製代碼
diabo
TOP
jonn0510
發短消息
加為好友
jonn0510
當前離線
UID
7461
帖子
38
主題
13
精華
0
積分
84
金錢
84
點名
0
作業系統
WIN XP
軟體版本
OFFICE 2003
閱讀權限
20
性別
男
在線時間
334 小時
註冊時間
2011-12-10
最後登錄
2021-7-18
中學生
帖子
38
主題
13
精華
0
積分
84
點名
0
作業系統
WIN XP
軟體版本
OFFICE 2003
閱讀權限
20
性別
男
註冊時間
2011-12-10
最後登錄
2021-7-18
5
#
發表於 2012-8-19 20:47
|
只看該作者
回復
4#
diabo
diabo大大:
不好意思,這麼久才回覆,因為小弟不太能理解 所謂的 SQL 的做法,因此去查了一下書.
可惜有看沒有懂!不過還是要感謝您願意提供方案.謝謝您
感謝各位老師花心思教導
TOP
靜思自在 :
道德是提昇自我的明燈,不該是呵斥別人的鞭子。
返回列表
下一主題
上一主題
EXCEL專屬討論區
Excelㄧ般區
Excel程式區
進階應用專區
OFFICE 系列
Word
PowerPoint
Access
Office不分區
程式語言
VB 與 VB.Net
C 與 C#
Java 與 J#
程式設計不分區
資料庫
ORACLE
My SQL
MS SQL
網頁設計
ASP 與 ASP.NET
PHP
PHP+MySQL 入門實作
JavaScript
FLASH / ActionScript
HTM/ HTML/ CSS
網頁設計不分區
電腦與作業系統
電腦各種硬體討論
一般電腦軟體討論
論壇事務
管理公告
投訴反映
新手測試
愛 ‧ 生活
公益佈告欄
生活與感動
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]
申請友情鏈接
Facebook粉絲