Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2425|回复: 4

[已解决]如何用VBA实现满足条件的数据进行剪切,粘贴,删除空行等操作

[复制链接]
发表于 2016-2-11 16:31 | 显示全部楼层 |阅读模式
本帖最后由 n520 于 2016-2-11 16:33 编辑

如下代码:
如何进行更改达到标题的效果
Sub ss()
Dim i As Long, k As Long
    For i = 2 To Range("a65536").End(xlUp).Row
       If Range("e" & i) = "删除" Then
          Range("e" & i).EntireRow.Cut
       End If
      
        k = Range("a65536").End(xlUp).Row + 1
            ActiveSheet.Range("a" & k).Select
            ActiveSheet.Range("a" & k).PasteSpecial
            k = k + 1
            Next i
        
End Sub

IF 语句里是想实现满足“删除”值,然后剪切到最后非空单元格空两行的单元格里进行粘贴然后在对剪切掉空白行进行删除

最佳答案
2016-2-12 10:48
  1. Sub ss()
  2.     Dim i As Long, k As Long, j As Long
  3.     j = Range("a65536").End(xlUp).Row
  4.     k = Range("a65536").End(xlUp).Row + 3
  5.     For i = 2 To j
  6.        If Range("e" & i) = "删除" Then
  7.           Range("e" & i).EntireRow.Cut Cells(k, 1)
  8.           Range("e" & i).EntireRow.Delete
  9.        End If
  10.     Next i
  11.         
  12. End Sub
复制代码
发表于 2016-2-12 10:48 | 显示全部楼层    本楼为最佳答案   
  1. Sub ss()
  2.     Dim i As Long, k As Long, j As Long
  3.     j = Range("a65536").End(xlUp).Row
  4.     k = Range("a65536").End(xlUp).Row + 3
  5.     For i = 2 To j
  6.        If Range("e" & i) = "删除" Then
  7.           Range("e" & i).EntireRow.Cut Cells(k, 1)
  8.           Range("e" & i).EntireRow.Delete
  9.        End If
  10.     Next i
  11.         
  12. End Sub
复制代码
回复

使用道具 举报

发表于 2016-2-12 10:52 | 显示全部楼层
本帖最后由 scl5801 于 2016-2-12 10:53 编辑


已有了,哈哈学习了
回复

使用道具 举报

 楼主| 发表于 2016-2-14 21:46 | 显示全部楼层
龙城飞将III 发表于 2016-2-12 10:48


If Range("e" & i) = "删除" Then这句如何写成同时满足两个和两个以上的条件
是用OR 还是用AND
比如“删除” “合并””同时“等条件
具体要如何写

回复

使用道具 举报

 楼主| 发表于 2016-3-20 08:31 | 显示全部楼层
龙城飞将III 发表于 2016-2-12 10:48

Dim i As Long, k As Long, j As Long
    j = Range("a65536").End(xlUp).Row
    k = Range("a65536").End(xlUp).Row + 3
    For i = 2 To j
        If Range("e" & i) = "删除" Or Range("e" & i) = "合并" Then
          Range("e" & i).EntireRow.Cut Cells(k, 1)
          Range("e" & i).EntireRow.Delete
       End If
    Next i


为什么不能实现,只达到有删除的行进行剪了,而有合并的不剪呢,我想实现有删除和合并的一起剪到非空单元格加三行的下面
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-26 13:58 , Processed in 2.741386 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表