返回列表 上一主題 發帖

[發問] 貼入值VBA疑問

本帖最後由 n7822123 於 2020-6-19 02:01 編輯

回復 1# yc1031


需求1:
1. 紫色字裡的"0 + 16"  這個是什麼意思呢?

Msgbox 用法的 Button參數值~~~ 16 = "顯示 Critical Message 圖示" (0可以省略)

請參考下圖微軟說明




可以混合搭配不同形式,比如說1+16+256+16384

256 代表第2個按鈕是預設值,直接按下Enter,就是按下第2個按鈕(以此例來說會是"取消")

以下程式你可以執行看看,就會懂了

共有16個不同的Msgbox 視窗


Sub PlayMsgbox()
Arr = Array(1, 2, 3, 4)
Brr = Array(16, 32, 48, 64)
For A = 0 To UBound(Arr): For B = 0 To UBound(Brr)
  n = n + 1
  MsgBox "Test-" & n, Arr(A) + Brr(B)
Next: Next
End Sub


也許下面的程式你比較看得懂,兩者是一樣的

Sub PlayMsgbox2()
n = n + 1: MsgBox "Test-" & n, 1 + 16
n = n + 1: MsgBox "Test-" & n, 2 + 16
n = n + 1: MsgBox "Test-" & n, 3 + 16
n = n + 1: MsgBox "Test-" & n, 4 + 16

n = n + 1: MsgBox "Test-" & n, 1 + 32
n = n + 1: MsgBox "Test-" & n, 2 + 32
n = n + 1: MsgBox "Test-" & n, 3 + 32
n = n + 1: MsgBox "Test-" & n, 4 + 32

n = n + 1: MsgBox "Test-" & n, 1 + 48
n = n + 1: MsgBox "Test-" & n, 2 + 48
n = n + 1: MsgBox "Test-" & n, 3 + 48
n = n + 1: MsgBox "Test-" & n, 4 + 48

n = n + 1: MsgBox "Test-" & n, 1 + 64
n = n + 1: MsgBox "Test-" & n, 2 + 64
n = n + 1: MsgBox "Test-" & n, 3 + 64
n = n + 1: MsgBox "Test-" & n, 4 + 64
End Sub



需求2:
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下要怎麼寫, 只貼入值就好, 不要動到格式

可以改成

MySht.[C2].Resize(y - 1) =.Range("B2:B" & y).Value
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

        靜思自在 : 天上最美是星星,人生最美是溫情。
返回列表 上一主題