在excel中自动执行复制粘贴过程以及胶印

时间:2019-03-22 05:27:14

标签: vba

我想复制范围N17:N18的值,并将它们转置到另一个单元格中。但是,做完同样的事情后,我想偏移一行并将给定范围的值粘贴到新的活动单元格中。我正在使用数据求解器功能,所以我想为每个新约束粘贴N17:N18的每个新值。

以下是我要介绍的步骤:

  1. 复制范围N17:N18,粘贴到N21偏移量1行
  2. 运行求解器函数以获取新值
  3. 粘贴到N22中(N21偏移1行)
  4. 运行求解器函数以获取新值
  5. 粘贴到N23中(N22偏移1行)

所有新值都将继续.....

2 个答案:

答案 0 :(得分:0)

如果您希望手动执行此操作,请在Excel工作表中选择所需的值范围,然后按Ctrl + C进行复制

然后选择要粘贴的位置,右键单击,粘贴特殊字符,然后单击“转置”复选框。

Screenshot with steps

如果您正在寻找编程解决方案,那么我建议使用Excel宏(请将其修改为所需的单元格)。希望这会有所帮助。

Sub transpose_selection()
    Range("A1:C4").Select
    Selection.Copy
    Range("E1").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
End Sub

答案 1 :(得分:0)

我是VBA编码的新手,因此感谢您解决我的疑问。

摆弄代码后,我找到了解决方案。就是这里,希望能对某人有所帮助。

Sub SolverShortcut()
'
' SolverShortcut_PasteSpecial-ValuesandTranspose Macro
'
' Keyboard Shortcut: Ctrl+l
'
    SolverOk SetCell:="$N$17", MaxMinVal:=1, ValueOf:=0, ByChange:="$P$2:$P$6", _
        Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverAdd CellRef:="$N$17", Relation:=2, FormulaText:="$P$16"
    SolverOk SetCell:="$N$17", MaxMinVal:=1, ValueOf:=0, ByChange:="$P$2:$P$6", _
        Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverOk SetCell:="$N$17", MaxMinVal:=1, ValueOf:=0, ByChange:="$P$2:$P$6", _
        Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverSolve
    '
' PasteSpecial_valuesandtranspose Macro
'
' Keyboard Shortcut: Ctrl+l
'
    Range("N17:N18").Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True
    ActiveCell.Offset(1, 0).Select
End Sub

任何形式的建设性批评总是值得欢迎的。