首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

怎的把VB追加的数据变为数值,而非公式?请进哈

2013-04-12 
怎样把VB追加的数据变为数值,而非公式??请进哈!使用EXCEL过程中,在论坛学到不少东西,最近用论坛大侠的一个

怎样把VB追加的数据变为数值,而非公式??请进哈!
使用EXCEL过程中,在论坛学到不少东西,最近用论坛大侠的一个VB追加复制区域,遇到了些问题

Private Sub CommandButton1_Click()
    Dim Arr, rng As Range, i As Long
    Arr = Sheets("sheet1").Range("A1:A" & 30) '设置当前表,根据B列不为空,30为行号,即限制到30行
    For i = 2 To UBound(Arr) 'A列第2行开始
        If Arr(i, 1) <> "" Then '判断A列是否存在数据
            If rng Is Nothing Then '如果rng还没有赋值,第一次遇到A列有数据行
                Set rng = Cells(i, 1).Resize(1, 3) '第1列开始的3列数据区域赋予变量rng
            Else '如果rng已经赋值
                Set rng = Union(rng, Cells(i, 1).Resize(1, 3)) '第1列开始的3列数据和原来A列非空行数据区域合并
            End If
        End If
    Next
    If Not rng Is Nothing Then '如果rng已经赋值
       With Sheets("Sheet2") '设置目标表Sheet2
       i = Sheets("Sheet2").Range("A65536").End(xlUp).Row + 1
           rng.Copy .Cells(i, 1) '把A列所有非空行数据区域复制到表Sheet2,第1列开始
       MsgBox ("OK!追加复制成功!")
       End With
    End If
End Sub

这个代码是蛮好用,可是怎么样才能让它复制公式的值过去,而不是公式呢,另外单元格的颜色也被复制,在新表里编排并不好看,请大侠们不吝赐教哦,上传附件,想用数值追加 
,麻烦帮改一下代码,最好能指出关键处理增长知识哦

[解决办法]
只复制值得话用 

Range.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False


上传个附件。

热点排行