vba從sheet1中挑選出符合條件的單元格將內容複製到sheet2中怎麼做

2021-07-08 20:27:44 字數 1345 閱讀 4298

1樓:

sub test()

'假設sheet1的a列從第一行開始有資料,以下就可以實現for i = 1 to sheet1.cells(1, 1).end(xldown).row

if sheet1.cells(i, 1).interior.colorindex = xlnone then

sheet1.cells(i, 1).copy sheet2.cells(sheet2.cells(65536, 1).end(xlup).row + 1, 1)

end if

next

end sub

對於b列也是一樣,參照這個寫法把相應的列換成b列的就可以了

2樓:無刀筆

思路,動態找出sheet1中有多少列,每列多少行,然後判斷每列單元格是否有底紋顏色,如果沒有,複製,有,跳過。vba**可寫成如下形式(後面的註釋都加了註釋符號的,可以完全複製到vba中執行)。

sub 複製沒有底紋的單元格()

dim intcol_num%, introw_num%, i%, intdw_a%, intshrow_num%

intcol_num = sheets(1).cells(1, 100).end(xltoleft).column '找出sheet1最後一個非空列的列號

for i = 1 to intcol_num step 1 '迴圈非空的每一列

introw_num = sheets(1).range("a65536").end(xlup).

row '找出當前迴圈到的列的從65536行往上的最後一個非空單元格的行號

for each ran in sheets(1).range(sheets(1).cells(1, i), sheets(1).

cells(introw_num, i)) '遍歷當前迴圈到的列的非空單元格

intdw_a = ran.interior.colorindex '提出當前單元格背景顏色指數值

if intdw_a < 0 then

intshrow_num = sheets(2).cells(65536, i).end(xlup).row '找出sheet2對應列的最後一個非空單元格的行號

if sheets(2).cells(1, i).value <> "" then

ran.copy sheets(2).cells(intshrow_num + 1, i)

else

ran.copy sheets(2).cells(intshrow_num, i)

end if

end if

next

next

end sub

有兩個工作表sheet1和sheet2如下圖,我希望用excel函式表示,如果表1中的A1等於2中

表1,c1公式 表2在sheet2 n b1 vlookup a1,sheet2 a b,2,0 下拉。在你要存放邏輯值的列的第一行輸入 sumproduct sheet2 a 1 a 4 a1 sheet2 b 1 b 4 b1 向下填充即可。假如我excel一個工作簿有兩個工作表,分別是shee...

excel資料對比 我有表,sheet1裡面A列是身份證號,sheet2裡是身份證號碼和成績,順序不一致

vlookup a2,sheet2 a b,2,0 你可以讓兩張 同樣以身份證的序列排列,然後再把兩張 的資料何和在一起就可以了。大概就是這樣,不懂可以再問。用sumif函式即可 excel的問題,如果我有兩個sheet,要把sheet1裡面的人名,身份證號與sheet2裡的人名身份證號對比 30 ...

vlookup A1,sheet1 A B,2,0 中0是什麼意思 不寫0和寫0結果為什麼不一樣

vlookup 查詢 a1指對應數值,sheet1 工作簿sheet1 工作表a b區域,2,第二列0精確查詢 你的理解呢,實際情況呢 vlookup a2,sheet2 a b,2,0 公式具體是什麼意思?vlookup 目標單元格,尋找區域,找到目標後返回第幾列,0 vlookup lookup...