我想将一个文本框从一个工作表复制并粘贴到一个新工作表中。下面列出的宏在新的新工作簿中运行良好:
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
//do whatever you want here
//after the delay is over
}
}, milliseconds);
不幸的是,当我尝试将它嵌套到一个宏时,它会自动打开一个新的工作表,方法是将名为MasterCopy工作表的工作表复制到一个新工作表中。
在这里,您将转到另一个宏,该宏自动打开一个新的工作表,复制并粘贴具有其所有功能的MasterCopy工作表。
int maxVol = am.getStreamMaxVolume(AudioManager.STREAM_SYSTEM);
您是否有关于如何嵌套这两个代码以及复制和粘贴MasterCopy表及其所有文本框和功能的建议?
答案 0 :(得分:1)
循环遍历Activesheet上的对象并更改循环内的活动表可能会导致混淆。我还会修改sh.Select
,因为它引用了MasterCopy上的当前形状,所以在接下来的两行中设置位置没有任何变化。
因此,您可以考虑以下改进:
Dim T as integer, L As Integer
For Each sh In Sheets("MasterCopy").Shapes
...
' instead of sh.Select +2 lines:
ActiveSheet.Shapes(sh.name).Top = sh.Top
ActiveSheet.Shapes(sh.name).Left = sh.Left
我无法看到嵌套代码,但我也可以认为sh是形状或工作表的混淆。
但是,我真的不明白为什么在复制整张纸时需要逐个复制形状......