首页 文章

仅复制值而不复制公式

提问于
浏览
1

我有一张名为Sheet1的工作表,其中包含通过公式操作的数据 . 我需要一个特定范围的数据,例如,在新工作表中复制的A2到D63,即仅按值列出Sheet2 .

Sheet1中的数据范围是动态的,即每次都会更改,因此我需要该宏来处理此问题 .

2 回答

  • 0

    尝试

    Worksheets("Sheet1").Range("D63").value = .Range("A2").End(xlDown).Offset(0, 41).value

    我不是很擅长VBA所以请原谅任何错误

    资料来源:http://www.mrexcel.com/forum/excel-questions/49124-visual-basic-applications-copy-paste-cell-value-only-not-formula.html

  • 0

    我第一次有点偏离,在这里提供一些更新的代码,希望看起来更像是预期的 . 回读整个线程不仅会发现数据,而且这里的范围本身也可能是动态的 . 如果是这样,范围实际重塑的方式是什么?

    每次源数据更改时,以下代码都会向源范围添加3行 - 应写入“sheet1”工作表模块

    Private Sub Worksheet_Change(ByVal Target As range)  
        Static r As range
        If r Is Nothing Then   
            Set r = Worksheets("Sheet1").range("A2:D63")  
            Else  
            Set r = Union(r, Worksheets("Sheet1").range(Cells(r.Row + r.Rows.Count, r.Column), _
            Cells(r.Row + r.Rows.Count + 2, r.Column + r.Columns.Count - 1)))    
        End If
        r.select
        If Not Application.Intersect(Target, r) Is Nothing Then  
            For Each Cell In Application.Intersect(Target, r)  
                Worksheets("Sheet2").Cells(Cell.Row, Cell.Column).Value = Cell.Value  
            Next Cell  
        End If
    

    结束子

相关问题