0

ws1 と ws2 の 2 つのワークシートがあります。これが vba です。ws2 に移動し、次に ws1 に移動します。ws2がコピージョブを実行している間にws1を見たいだけで、ws1とws2の間を行き来したくありません。

vbaをどのように修正すればよいですか?

Sheets("ws2").Select
Range("A3:AA3").Select
Selection.Copy
Range("A4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
Range("A4").Select
Application.CutCopyMode = False
Range("A4:AA4").Select
Selection.Insert Shift:=xlDown
Sheets("ws1").Select
4

3 に答える 3

2

ジャグリングを行うようにExcelに指示しているため、ジャグリングが発生しています:)したがって、常に使用しないことをお勧めします.SELECT/.ACTIVATE

アクションを直接実行します。これを参照してください。

Sub Sample()
    Dim ws As Worksheet

    Set ws = Sheets("ws2")

    With ws
        .Range("A3:AA3").Copy
        .Range("A4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        .Range("A4:AA4").Insert Shift:=xlDown
    End With
End Sub
于 2012-07-26T14:17:05.780 に答える
0

ozgridのフォーラム エントリは、シンプルでエレガントなソリューションを提供します

Sub NameOfSub() 

    Application.ScreenUpdating = False

    'Some Code Here

    Application.ScreenUpdating = True 

End Sub 
于 2012-07-26T14:14:54.823 に答える
0

使用する

   Application.ScreenUpdating = False

上記のコードを実行して、マクロの動作の表示を停止する前に。

それで:

Sheets("ws1").Select
Application.ScreenUpdating = False
Range("A3:AA3").Select
.... etc

Application.ScreenUpdating = True
于 2012-07-26T14:09:35.837 に答える