- 帖子
- 106
- 主題
- 35
- 精華
- 0
- 積分
- 146
- 點名
- 0
- 作業系統
- Window 7
- 軟體版本
- 2007
- 閱讀權限
- 20
- 性別
- 女
- 註冊時間
- 2011-8-30
- 最後登錄
- 2024-3-26
|
VBA CODE的原始來源 : https://alice57.pixnet.net/blog/post/23273559
大家好, 我在網路找到個貼入值的VBA, 修改後, 有幾個地方不明白, 再請教一下各位
1. 紫色字裡的"0 + 16" 這個是什麼意思呢?
2. 在COPY到dSht , 原始的CODE是".Range("B2:B" & y).Copy MySht.[C2]", 但貼到C欄時, 該欄位的格線都會被刪掉, 這個要怎麼改呢?
* 我是改用
dSht.Range("B2:B" & y).Copy
MySht.Range("C2:J1000").PasteSpecial Paste:=xlPasteValues
有成功, 只是想知道在原始的.Range("B2:B" & y).Copy MySht.[C2] <---- 在這個CODE下要怎麼寫, 只貼入值就好, 不要動到格式
感謝各位!
Sub 貼櫃號()
Dim MySht As Worksheet, dSht As Worksheet, y&
Set MySht = Sheets("出貨後")
Set dSht = Sheets("出貨明細")
With dSht
MySht.Range("C2:C10000").Clear '清除原有資料
dSht.AutoFilterMode = False '解除篩選模式
y = dSht.Range("B65536").End(xlUp).Row
If y < 2 Then MsgBox "※來源表〔B欄〕無資料! ", 0 + 16: Exit Sub
'↑先解除篩選,再檢測資料尾列列號,若篩選中,檢測列號會有誤差
If WorksheetFunction.CountIf(dSht.Range("A2:A" & y), "1") = 0 Then
MsgBox "※來源表〔A欄〕無〔1〕篩選值! ", 0 + 16: Exit Sub
End If
'↑檢測〔1〕數
'注意:"~*"才能單選〔*〕,否則其它文字(例如:A.B.C)也會篩選進來
dSht.Range("$A$1:$AB$1500").AutoFilter Field:=1, Criteria1:="1"
dSht.Range("B2:B" & y).Copy
MySht.Range("C2:J1000").PasteSpecial Paste:=xlPasteValues
'原始的CODE是".Range("B2:B" & y).Copy MySht.[C2]", 但貼到C欄時, 該欄位的格線都會被刪掉
dSht.AutoFilterMode = False '解除篩選模式
MySht.AutoFilterMode = False '解除篩選模式
End With |
-
-
貼入值VBA.rar
(26.9 KB)
|