我正在尝试自动复制和粘贴数据的过程,但对我来说保持单元格格式相同非常重要。
我尝试使用PasteSpecial(-4163)
但是没有用。奇怪的是,它将一些值变为粗体,其他值则变为非粗体(?)。
这是我创建的用于执行复制和粘贴的功能。 有人有什么建议吗?
function CopyPasteRange
{
#args[0] = sheet
#args[1] = row
#args[2] = column
$range = $args[0].Cells.Item($args[1], ($args[2])).EntireColumn;
$range.Copy();
$args[0].Cells.Item(1, $args[2]).PasteSpecial(-4163);
}
答案 0 :(得分:3)
找到解决方案!我删除了PasteSpecial(-4163)
中的-4163值,现在用格式化和所有内容复制了单元格。
我觉得超级特别!
答案 1 :(得分:2)
根据Range.PasteSpecial method的XlPasteType enumeration您当前粘贴的值(例如xlPasteValues
)。您必须使用 13 (xlPasteAllUsingSourceTheme
)之类的东西作为XlPasteType参数运行第二个PasteSpecial操作。
function CopyPasteRange
{
#args[0] = sheet
#args[1] = row
#args[2] = column
$range = $args[0].Cells.Item($args[1], ($args[2])).EntireColumn;
$range.Copy();
$args[0].Cells.Item(1, $args[2]).PasteSpecial(-4163);
$args[0].Cells.Item(1, $args[2]).PasteSpecial(13);
}