0

仕事では、Excel と VBA を使用してツールを開発しました。このツールには、前の手順が完了した場合にのみ開く非表示のシートがあります。前のコーダーで私が直面している問題の 1 つは、最後のステップに、クリックできる追加のボタン (A としましょう) があることです。前のコーダーが作成したシートの順序に基づいて、このシートは 10 枚中 2 番目でした。A をクリックすると、自動的に 2 番目の位置に移動します。

一番右のタブに変更する方法はありますか?

私が遭遇する問題は、最終ステップに到達したときに手動でタブを右側に移動できることですが、それは分析が終了した後でのみであり、最初に移動できないため、許可されません私が保存します。

4

1 に答える 1

0

これにより、非表示のシートがすべての表示されているシートの最後に移動します。

Sub test()

    With Sheets("Sheet1")
        .Visible = True
        Sheets("Sheet1").Move After:=Sheets(Sheets.Count)
        .Visible = False
    End With

End Sub

これにより、非表示のシートがすべての非表示および表示されているシートの最後に移動します。

Sub moveHiddenSheet()

Dim ws, x, lastSheet

x = 0
For ws = Worksheets.Count To 0 Step -1
    x = x + 1
    If Sheets(Worksheets.Count - x).Visible = False Then
        Sheets(ws).Visible = xlSheetVisible
        lastSheet = Sheets(ws).Name
        Exit For
    End If
Next ws

With Sheets("Sheet1")
    .Visible = True
    Sheets("Sheet1").Move After:=Sheets(Worksheets.Count) 
    .Visible = False
End With

Sheets(lastSheet).Visible = False

End Sub
于 2013-10-24T18:04:52.933 に答える