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...