Excel精英培训网

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

[已解决]去除框线、背景颜色和字体颜色

[复制链接]
发表于 2013-7-10 16:23 | 显示全部楼层 |阅读模式
我又来了,嘻嘻。这次的问题是:我把数据复制过来的时候格式啊背景色字体色什么的也跟着过来了。有什么办法能方便地去除框线啊背景色之类的。我复制用的是copy语句,有看到别人说用value=会不带格式,可是那样会明显慢很多。如果能有快速复制数据不带格式的方法也行。先拜谢各位高手了。
最佳答案
2013-7-10 17:42
本帖最后由 爱疯 于 2013-7-10 17:45 编辑

Sub test2()
    Dim A(), B
    Dim r, c, i, j, k

    B = Sheet2.Range("a1").CurrentRegion
    r = UBound(B): c = UBound(B, 2)
    B(r, 1) = 1 '加标记

    For j = 1 To c
        If B(r, j) > 0 Then
            k = k + 1
            ReDim Preserve A(1 To r, 1 To k)
            For i = 1 To r
                A(i, k) = B(i, j)
            Next i
        End If
    Next j
    A(r, 1) = "" '取消标记
   
    With Sheet1
        .Cells.Clear
        .Range("a1").Resize(r, k) = A
    End With
End Sub


求助again2.rar (20.41 KB, 下载次数: 19)
无标题.png

求助again.zip

15.9 KB, 下载次数: 4

发表于 2013-7-10 16:36 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2013-7-10 16:47 | 显示全部楼层
hwc2ycy 发表于 2013-7-10 16:36
选择性粘贴不带格式嘛。

你能用VBA实现吗?
回复

使用道具 举报

发表于 2013-7-10 16:58 | 显示全部楼层
sheets("   ").range(" ").Copy
sheets("    ").Range("   ").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
回复

使用道具 举报

 楼主| 发表于 2013-7-10 17:04 | 显示全部楼层
jxncfxsf 发表于 2013-7-10 16:58
sheets("   ").range(" ").Copy
sheets("    ").Range("   ").PasteSpecial Paste:=xlPasteValuesAndNumb ...

这个还挺快的,不过有办法去除背景颜色和字体颜色吗?谢谢
回复

使用道具 举报

发表于 2013-7-10 17:42 | 显示全部楼层    本楼为最佳答案   
本帖最后由 爱疯 于 2013-7-10 17:45 编辑

Sub test2()
    Dim A(), B
    Dim r, c, i, j, k

    B = Sheet2.Range("a1").CurrentRegion
    r = UBound(B): c = UBound(B, 2)
    B(r, 1) = 1 '加标记

    For j = 1 To c
        If B(r, j) > 0 Then
            k = k + 1
            ReDim Preserve A(1 To r, 1 To k)
            For i = 1 To r
                A(i, k) = B(i, j)
            Next i
        End If
    Next j
    A(r, 1) = "" '取消标记
   
    With Sheet1
        .Cells.Clear
        .Range("a1").Resize(r, k) = A
    End With
End Sub


求助again2.rar (20.41 KB, 下载次数: 19)
回复

使用道具 举报

发表于 2013-7-10 18:06 | 显示全部楼层
sheets("   ").range(" ").Copy
sheets("    ").Range("   ").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
回复

使用道具 举报

 楼主| 发表于 2013-7-11 08:52 | 显示全部楼层
jxncfxsf 发表于 2013-7-10 18:06
sheets("   ").range(" ").Copy
sheets("    ").Range("   ").PasteSpecial Paste:=xlPasteValues, Operat ...

背景颜色和字体颜色还是没有变诶。还是谢谢你。
回复

使用道具 举报

 楼主| 发表于 2013-7-11 08:53 | 显示全部楼层
爱疯 发表于 2013-7-10 17:42
Sub test2()
    Dim A(), B
    Dim r, c, i, j, k

好厉害,虽然没怎么看懂。非常感谢。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 01:17 , Processed in 0.238000 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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