Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: wuhuisheng

复制单元格内容,怎么写代码?

[复制链接]
发表于 2011-7-10 15:13 | 显示全部楼层
本帖最后由 jkczfpb 于 2011-7-10 15:13 编辑

回复 wuhuisheng 的帖子

要你添加附件,不是截图、制表
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

 楼主| 发表于 2011-7-10 16:06 | 显示全部楼层
回复 jkczfpb 的帖子

兄弟,我上传不了Excel,又没办法做成PDF格式.所以只能复制了个文本.
不过研究了一下,好象可以执行了,不过只逐列进行,不知道有没有更好的办法?
Sub 复制()
  Dim i As Integer
    For i = 2 To 13
       If Sheets("报表").Range("c" & i) > 0 Then
   
          Sheets("报表").Range("c" & i).Copy Sheets("统计表").Range("c" & i)
         
   End If
   Next i
End Sub
Sub 复制2()
Dim i As Integer
    For i = 2 To 13
If Sheets("报表").Range("d" & i) > 0 Then
         Sheets("报表").Range("d" & i).Copy Sheets("统计表").Range("d" & i)
              
   End If
   Next i
End Sub


回复

使用道具 举报

发表于 2011-7-10 17:52 | 显示全部楼层
回复 wuhuisheng 的帖子

把文件压缩了就可以传了

没看明白你发的图片的意思?

是不是把表2有价格的复制到表1里面去?

如果可能的话,用vlookup效果也不错
回复

使用道具 举报

 楼主| 发表于 2011-7-10 21:21 | 显示全部楼层
回复 wuhuisheng 的帖子

谢谢指点,就这么简单.谢谢!
回复

使用道具 举报

发表于 2011-7-10 22:11 | 显示全部楼层
Sub 复制()
    Application.DisplayAlerts = False
    Dim sht As Worksheet, bm As String, i As Long
    i = [A65536].End(xlUp).Row
x:
    bm = InputBox("请输入新工作表名:", "新建工作表")
    For Each sht In Worksheets
        If sht.Name = bm Then MsgBox "工作表已存在,请重新输入名称": GoTo x
    Next
    Set sht = Sheets.Add
    sht.Name = bm
    Sheet7.Range("A1").Resize(i, 8).Copy
    With Sheets(bm).Range("A1")
        .PasteSpecial Paste:=xlPasteValues
        .PasteSpecial Paste:=xlPasteFormats
        .PasteSpecial Paste:=xlPasteColumnWidths
        .Range("A1").Activate
    End With
    Application.CutCopyMode = False
End Sub
不知道你可以用不,这个是我现在用的哈!!!
回复

使用道具 举报

 楼主| 发表于 2011-7-10 22:11 | 显示全部楼层
回复 wayy 的帖子

太好了!我要好好向大家学习.
回复

使用道具 举报

 楼主| 发表于 2011-7-10 22:20 | 显示全部楼层
回复 shejiang88 的帖子

谢谢!看起来内容很多,我得把它复制到我的文件上,慢慢学.再次谢谢!
回复

使用道具 举报

 楼主| 发表于 2011-7-10 22:36 | 显示全部楼层
回复 wayy 的帖子

我把它复制到我的文件里,怎么没动静?

点评

你那个只是复制了,没有粘贴的动作,所以没有动静。  发表于 2011-7-11 08:13
回复

使用道具 举报

 楼主| 发表于 2011-7-10 22:47 | 显示全部楼层
回复 wayy 的帖子

修改一下就可以了,必须是两个同时>0,才能复制.
Sub 复制()
  Dim i As Integer
  For i = 2 To 13
       If Sheets("报表").Range("c" & i) > 0 And Sheets("报表").Range("d" & i) > 0 Then
   
          Sheets("报表").Range("c" & i, "d" & i).Copy Sheets("统计表").Range("c" & i, "d" & i)
         
   End If
   Next i
End Sub
回复

使用道具 举报

 楼主| 发表于 2011-7-11 10:18 | 显示全部楼层
回复 wuhuisheng 的帖子

我是把你给的全复制粘贴上的呀。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-30 22:24 , Processed in 0.232456 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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