作者: nvt303
先学习下VBA参考:
PasteSpecial 方法
应用于 Range 对象的 PasteSpecial 方法。
将剪贴板中的 Range 对象粘贴到指定区域中。
expression.PasteSpecial(Paste, Operation, SkipBlanks, Transpose)
expression 必需。该表达式返回一个 Range 对象。
Paste XlPasteType 类型,可选。指定要粘贴的区域部分。
XlPasteType 可为以下 XlPasteType 常量之一。 xlPasteAll -4104 默认值 全部
xlPasteAllExceptBorders 7 边框除外
xlPasteColumnWidths 8 列宽
xlPasteComments -4144 批注
xlPasteFormats -4122 格式
xlPasteFormulas -4123 公式
xlPasteFormulasAndNumberFormats 1 公式和数字格式
xlPasteValidation 6 有效性验证
xlPasteValues -4163 数值
xlPasteValuesAndNumberFormats 12 值和数字格式
Operation XlPasteSpecialOperation 类型,可选。指定粘贴操作。
XlPasteSpecialOperation 可为以下 XlPasteSpecialOperation 常量之一。 xlPasteSpecialOperationNone -4124 默认值 无
xlPasteSpecialOperationAdd 2 加
xlPasteSpecialOperationSubtract 3 减
xlPasteSpecialOperationMultiply 4 乘
xlPasteSpecialOperationDivide 5 除
SkipBlanks Variant 类型,可选。若为 True,则不将剪贴板上区域中的空白单元格粘贴到目标区域中。默认值为 False。
Transpose Variant 类型,可选。若为 True,则粘贴区域时转置行和列。默认值为 False。
-------------------------------------------------------------------------------------------------------------------------------------------------
然后再用aardio实现
工作表.Range("D6:D9").copy()
工作表.Range("E6:L9").PasteSpecial( -4163 , , , ) //粘贴数值
工作表.Range("E6:L9").PasteSpecial( , 4 /*乘*/ , , ) //乘
--------------------------------------------------------------------------------------------------------------------------------------------------- //在两个工作薄之间选择性粘贴(转置粘贴数值)——2012年4月17日
import com.excel;
var excel = com.excel() //创建Excel对象
var book = excel.Workbooks.Add() //添加工作簿
excel.Visible = true; //显示界面
//excel.Application.DisplayAlerts = false; //退出不提示
//创建工作簿
var book1 = excel.WorkBooks.Add();//添加工作簿1
var book2 = excel.WorkBooks.Add();//添加工作簿2
var b1sh1 = book1.WorkSheets(1);//工作簿1的表1
var b2sh1 = book2.WorkSheets(1);//工作簿2的表2
//添加测试用数据到工作簿1的表1
for(i=1;10;1){
for(j=1;5;1){
b1sh1.Cells(i,j).value2 = j;
}
}
b1sh1.range("C5").Formula = "=SUM(C1:C4)";
//复制工作簿1表1的数据 粘贴 至 工作簿2的表1
b1sh1.Range("A1:E10").Copy();
b2sh1.Range("A1").PasteSpecial(-4163,,,true); //转置粘贴数值
b2sh1.Activate();
sh4.Cells(3,4).select()
}
|