Excel精英培训网

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

[已解决]如何对某一个工作表不进行操作

[复制链接]
发表于 2012-10-13 23:13 | 显示全部楼层 |阅读模式
我有一个excel文档,里面有三张表格,名字分别叫:  汇总表 、1、2
我使用下面的代码对表  1和2进行操作的时候汇总表也跟着变化,请问我该如何修改?为什么要这样改,谢谢
Sub 去除公式()
'
' 去除公式 Macro
'
'
    Dim i As Integer
   
    Dim y As Integer
   
    y = InputBox("请输入表格数量")
    For i = 1 To y
   
    Sheets(i).Select
      
    Columns("A:M").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Columns("A:D").Select
    Range("D1").Activate
    Selection.Delete Shift:=xlToLeft
    Columns("J:K").Select
    Selection.Delete Shift:=xlToLeft
    Next
End Sub


最佳答案
2012-10-13 23:23
  1. Sub 去除公式()
  2. '
  3. ' 去除公式 Macro
  4. '
  5. '
  6.      Dim i As Integer
  7.      
  8.      Dim y As Integer
  9.      
  10.      y = InputBox("请输入表格数量")
  11.      For i = 1 To y
  12.         If Not Worksheets(i).Name Like "汇总表" Then    '判断是否为汇总表,如果不是,则进行汇总
  13.             Sheets(i).Select
  14.               
  15.             Columns("A:M").Select
  16.             Selection.Copy
  17.             Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
  18.                 :=False, Transpose:=False
  19.             Application.CutCopyMode = False
  20.             Columns("A:D").Select
  21.             Range("D1").Activate
  22.             Selection.Delete Shift:=xlToLeft
  23.             Columns("J:K").Select
  24.             Selection.Delete Shift:=xlToLeft
  25.         End If
  26.      Next
  27. End Sub
复制代码
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-10-13 23:23 | 显示全部楼层    本楼为最佳答案   
  1. Sub 去除公式()
  2. '
  3. ' 去除公式 Macro
  4. '
  5. '
  6.      Dim i As Integer
  7.      
  8.      Dim y As Integer
  9.      
  10.      y = InputBox("请输入表格数量")
  11.      For i = 1 To y
  12.         If Not Worksheets(i).Name Like "汇总表" Then    '判断是否为汇总表,如果不是,则进行汇总
  13.             Sheets(i).Select
  14.               
  15.             Columns("A:M").Select
  16.             Selection.Copy
  17.             Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
  18.                 :=False, Transpose:=False
  19.             Application.CutCopyMode = False
  20.             Columns("A:D").Select
  21.             Range("D1").Activate
  22.             Selection.Delete Shift:=xlToLeft
  23.             Columns("J:K").Select
  24.             Selection.Delete Shift:=xlToLeft
  25.         End If
  26.      Next
  27. End Sub
复制代码
回复

使用道具 举报

发表于 2012-10-13 23:27 | 显示全部楼层
  1. Sub 去除公式()
  2. '
  3. ' 去除公式 Macro
  4. '
  5. '
  6.      Dim i As Integer
  7.      Dim y As Integer
  8.      
  9.      y = InputBox("请输入表格数量")
  10.      For i = 1 To y
  11.         If Not Worksheets(i).Name Like "汇总表" Then    '判断工作表名称是否为汇总表,如不是进行汇总
  12.                
  13.             Worksheets(i).Select
  14.             Columns("A:M").Copy
  15.             Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
  16.                 :=False, Transpose:=False
  17.             Application.CutCopyMode = False
  18.             Columns("A:D").Select
  19.             Range("D1").Activate
  20.             Selection.Delete Shift:=xlToLeft
  21.             Columns("J:K").Select
  22.             Selection.Delete Shift:=xlToLeft
  23.         End If
  24.      Next
  25. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2012-10-13 23:33 | 显示全部楼层
hwc2ycy 发表于 2012-10-13 23:27

我还有几个隐藏的表格,为什么隐藏的表格就没有任何操作呢?
worksheets   和  sheets  有什么区别吗?
回复

使用道具 举报

 楼主| 发表于 2012-10-13 23:34 | 显示全部楼层
还有就是你那个行的标识是怎么出来的?就是你给我的回答左侧那列数字是怎么出来的?
回复

使用道具 举报

 楼主| 发表于 2012-10-13 23:36 | 显示全部楼层
隐藏的那个没操作是因为的输入的数字吧?我想应该是
回复

使用道具 举报

 楼主| 发表于 2012-10-13 23:38 | 显示全部楼层
这样改也好用,呵呵
Sub 去除公式()
'
' 去除公式 Macro
'
'
     Dim i As Integer
     
    Dim y As Integer
     
    y = InputBox("请输入表格数量")
     For i = 2 To y
     
    Sheets(i).Select
      
     Columns("A:M").Select
     Selection.Copy
     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
         :=False, Transpose:=False
     Application.CutCopyMode = False
     Columns("A:D").Select
     Range("D1").Activate
     Selection.Delete Shift:=xlToLeft
     Columns("J:K").Select
     Selection.Delete Shift:=xlToLeft
     Next
End Sub
回复

使用道具 举报

发表于 2012-10-13 23:41 | 显示全部楼层
其实隐藏的也要操作的话,就不需要让人输入要汇总的表的数量。
回复

使用道具 举报

发表于 2012-10-13 23:42 | 显示全部楼层
  1. Sub 去除公式()
  2.       Dim i As Integer
  3.      For i = 1 To Worksheets.Count
  4.         If Not Worksheets(i).Name Like "汇总表" Then    '判断工作表名称是否为汇总表,如不是进行汇总
  5.             Worksheets(i).Select
  6.             Columns("A:M").Copy
  7.             Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
  8.                 :=False, Transpose:=False
  9.             Application.CutCopyMode = False
  10.             Columns("A:D").Select
  11.             Range("D1").Activate
  12.             Selection.Delete Shift:=xlToLeft
  13.             Columns("J:K").Select
  14.             Selection.Delete Shift:=xlToLeft
  15.         End If
  16.      Next
  17. End Sub
复制代码
回复

使用道具 举报

发表于 2012-10-13 23:43 | 显示全部楼层
这样只排除汇总表,其余的全部汇总。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 13:15 , Processed in 0.385206 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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