解決Excel篩選后粘貼數(shù)據(jù)避開隱藏單元格的方法
上次我們分享了在Excel中如何快速用顏色分隔數(shù)字區(qū)間標(biāo)示,在篩選后需要將數(shù)據(jù)復(fù)制到可見單元格中,但通常的復(fù)制操作無法滿足要求。下面將介紹一種實(shí)用方法來解決這個(gè)問題。 使用VBA宏實(shí)現(xiàn)數(shù)據(jù)粘貼到篩選可
上次我們分享了在Excel中如何快速用顏色分隔數(shù)字區(qū)間標(biāo)示,在篩選后需要將數(shù)據(jù)復(fù)制到可見單元格中,但通常的復(fù)制操作無法滿足要求。下面將介紹一種實(shí)用方法來解決這個(gè)問題。
使用VBA宏實(shí)現(xiàn)數(shù)據(jù)粘貼到篩選可見單元格
首先打開Microsoft Office Excel 2007,新建文檔并保存文件名為《Excel篩選后粘貼數(shù)據(jù)如何避開隱藏單元格.xlsm》。接著按下快捷鍵ALT F11打開VBE(宏)編輯界面,然后在菜單欄插入中選擇模塊(M)。在新插入的模塊1中,復(fù)制以下VBA代碼:
```vba
Sub 選數(shù)據(jù)粘貼到篩選可見()
Dim myr As Range, myrs As Range, r As Long, c As Long, i As Long, j As Long
Dim n As Long, mb(), m
Set myrs Selection
r
c
Set myr (Prompt:"選擇增加列公式的單元格區(qū)域", Type:8)
ReDim mb(1 To )
n 0
For i 1 To
If myr.Cells(i).Value <> "" Then
n n 1
mb(n) myr.Cells(i).Row
End If
Next i
m myr.Cells(1).Formula
m Right(m, Len(m) - 1)
m Range(m).Column
For i 1 To c
For j 1 To r
myrs.Cells(j, i).Copy Cells(mb(j), m).Offset(0, i - 1)
Next j
Next i
End Sub
```
執(zhí)行動(dòng)態(tài)過程及效果展示
回到工作表窗口,使用“名稱”篩選數(shù)據(jù),然后不能直接選中“數(shù)量”列數(shù)據(jù),而是在數(shù)據(jù)最后一列下填寫公式引用“數(shù)量”值,例如`C2`,然后復(fù)制該公式到整列,使得每行都有對(duì)應(yīng)的數(shù)值。接著選擇需要復(fù)制的數(shù)據(jù)單元格區(qū)域,運(yùn)行剛才創(chuàng)建的宏“選數(shù)據(jù)粘貼到篩選可見”。
結(jié)語
如果您覺得這篇文章對(duì)您有幫助,請(qǐng)不要吝嗇您的支持!可以點(diǎn)擊“投票點(diǎn)贊”或“收藏”以表達(dá)感謝。如果您還有任何疑問,請(qǐng)點(diǎn)擊“我有疑問”,我們會(huì)竭誠為您解答。謝謝閱讀!