Board logo

標題: [發問] Excel VBA 複製問題請益 [打印本頁]

作者: zz0660    時間: 2021-10-30 09:58     標題: Excel VBA 複製問題請益

EXCEL裡面有兩個工作表,一個名稱為AA,另一個名稱為ZZ。如下圖
AA工作表↓
[attach]34309[/attach]
ZZ工作表↓
[attach]34310[/attach]
AA工作表,A2的位置有下拉式選單,裡面有20,40,60,80,100,121,142的數字,然後右側有一個按鈕,當按下右側按鈕就會判斷A2的數字,假設1.假設AA工作表的A2=40,就會複製ZZ工作表的E2到E5的數字,假設2.AA工作表的A2=121,就會複製ZZ工作表的E2到E13的數字,假設3.AA工作表的A2=142,就會複製ZZ工作表的E2到E15的數字,這樣如何寫VBA呈現。

以上,煩請大大解惑,謝謝!
作者: 准提部林    時間: 2021-10-30 11:42

sub 複製()
dim v, m
v=val([AA!a2])
m=application.match(v, [{20,40,60,80,100,121,142}],0)
if iserror(m) then exit sub
[ZZ!e2].resize(m*2).copy [AA!B1]
end sub
作者: zz0660    時間: 2021-10-30 18:34

回復 2# 准提部林

感謝大大協助處理問題,正好是我想要的樣子,謝謝 准提部林 大大!
作者: zz0660    時間: 2021-10-30 19:50

回復 2# 准提部林



sub 複製()
dim v, m
v=val([AA!a2])
m=application.match(v, [{20,40,60,61,62,63,64,65,66,67,80,100,121,142}],0)
if iserror(m) then exit sub
[ZZ!e2].resize(m*2).copy [AA!B1]
end sub
    大大,請問一下,假設我再追加數字61~67的數字,這樣的話無法只單純複製6格,目前希望的是假設60~69的數字,都只會複製6格,也就是ZZ工作表的E2:E7的格子數。
請大大解惑!   有試著改動 m*2 的*2 但效果不如預想。
作者: 准提部林    時間: 2021-10-30 20:55

回復 4# zz0660


那有沒有68,69 或不在清單中的其它數字,'
最好上傳附檔, 並舉例說明~~老是用猜的太費時間
作者: zz0660    時間: 2021-10-30 21:31

回復 5# 准提部林

提供檔案,如下
[attach]34320[/attach]
  
麻煩大大了,謝謝!
作者: 准提部林    時間: 2021-10-31 10:00

回復 6# zz0660


Sub 複製()
Dim v, m
v = Val([AA!a2])
m = Application.Lookup(v, [{40,43,80,83,160,163,320,323}], [{2,0,4,0,6,0,8,0}])
If IsError(m) Then Exit Sub
If m > 0 Then [ZZ!e2].Resize(m).Copy [AA!B1]
End Sub

改用lookup, 複製行數可自由指定不同參數, 不一定是2或4的倍數

.========================
作者: zz0660    時間: 2021-11-3 10:33

回復 7# 准提部林

准提部林大大,已經可以使用了,感謝您協助處理問題,謝謝!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)