如何使用VBA粘贴工作表的值?

时间:2015-07-06 22:46:48

标签: excel vba excel-vba

我一直使用以下方法使表格仅包含值:

Sheets("NameOfTheTab").Activate
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:= xlPasteValues

但这不安全,如果有人/事件改变了选择,程序会遇到随机行为。我怎么能摆脱这种模式呢?

2 个答案:

答案 0 :(得分:0)

嗯,首先,您可以避免选择单元格,只需直接复制它们:

var formApp = angular.module('formApp', [])


.service('myService',function(){
   this.name='hello';
})

.controller('formController', function($scope,myService) {

    // we will store our form data in this object
    $scope.formData = {};
    $scope.myService = myService;
    $scope.click=function(){
      myService.name='test';
    }

});

虽然这可能不是最快的方式,但取决于您的工作表/实际问题。

答案 1 :(得分:0)

你应该总是避免使用select方法,因为它不可靠。下面的子示例是从工作表中复制数据并仅将值粘贴到另一个上的示例。如果不将ThisWorkbook更改为目标工作簿,则此示例子假定您正在从目标工作簿运行此宏。

Sub copy_paste_only_values()
'will copy all cells in your tab that contain data
ThisWorkbook.Worksheets("NameOfTheTab").Cells.Copy
'will paste only values to your target worksheet
ThisWorkbook.Worksheets("NameOfTheTargetTab").Range("A1")._
PasteSpecial Paste:=xlPasteValues
'empty the clipboard
Application.CutCopyMode = False
End Sub