亞寵展、全球寵物產業風向標——亞洲寵物展覽會深度解析
921
2025-04-02
為了替換篩選后的數據經常會將其他區域中的連續行數據復制粘貼到篩選區域,問題是無法直接復制,這是因為篩選后的區域包含隱藏行,部分數據會粘貼到隱藏行中。一般會對選擇篩選區域用“定位→可見單元格”的方法選擇可見單元格,再按“Ctrl+V”進行粘貼,Excel會提示“ ……Excel無法粘貼信息,原因是復制區域與粘貼區域形狀不同……”。關于這個問題,可以使用輔助列或VBA的方法來解決,輔助列是用排序法把需要替換的數據放在一起再進行復制粘貼,VBA代碼可直接把“Sheet2”表B列的數據粘貼到“Sheet1”表篩選后的區域。
例如下圖所示,左側的“Sheet1”表的A、B兩列包含一些水果名稱及數量,現在需要用右側“Sheet2”表B1:B7區域中的數值(用紅色標識)替換“Sheet1”表篩選“蘋果”后的數量。
方法一:使用輔助列
這個方法是用排序法把需要替換的數據放在一起再進行復制粘貼。即先添加一個“序號”輔助列,在其中輸入數字序號,再用另一個輔助列對篩選后的數據進行標記,按第二個輔助列排序,再復制粘貼,最后對“序號”列排序還原原數據的排列順序。具體步驟如下:
1.先取消篩選,在“Sheet1”表的C2、C3單元格分別輸入數字“1”,“2”,選擇這兩個單元格后雙擊填充柄,將序號填充到C列。
2.篩選A列中的“蘋果”。在D列第二行的單元格中輸入公式:
=ROW()
然后向下填充公式到D列的所有可見單元格。
3.取消篩選,按D列排序,將全部“蘋果”的數量排在一起。
4.復制“Sheet2”表B1:B7數據粘貼到“Sheet1”表的B2:B8區域。
5.按序號列排序,還原原數據的排列順序。
最后刪除C、D兩列,完成替換。
方法二:VBA代碼
用下面的VBA代碼可直接把“Sheet2”表B列的數據粘貼到“Sheet1”表篩選后的區域。假如“Sheet1”表的數據區域為A1:B20,“Sheet2”表B列需要復制粘貼的數量為7個,先對“Sheet1”表A列篩選“蘋果”,然后按Alt+F11打開VBA編輯器,在代碼窗口中輸入下列代碼并運行即可。
Sub 粘貼時跳過隱藏行()Dim Rng As RangeSet Rng = Range("B2:B20").SpecialCells(xlCellTypeVisible)For Each cell In RngWorksheets("Sheet2").Cells(i + 1, 2).CopyActiveSheet.Paste Destination:=cellApplication.CutCopyMode = Falsei = i + 1If i = 7 Then EndNextEnd Sub
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。