2015-11-08 54 views
0

我使用1個按鈕和1個spinButton。這些按鈕用於瀏覽我的工作簿。Excel某些文字仍然可見

該按鈕用於導航到我的目錄,其中spinbutton up是下一頁,spinbutton down是上一頁。但我有一個問題。我有3張。在第二張紙上是一個帶有一些文字的文本框。我點擊下一頁的旋鈕,表格3激活,但我看到表格2的文本框。所以我認爲,Excel需要刷新或什麼?

我的代碼將表中的一些對象帶到下一張表。當我點擊下面的表格時,我沒有發現問題。只有當我點擊我的旋鈕時,一些物體纔在下一張紙上,但它們應該保留在前一張紙上。當我看到它們時,我無法點擊它們。這就像是excel的刷新故障。

我希望你們能幫我解決我的問題。在這裏你可以看到我的代碼與數值調節鈕和一個命令牀單之間導航

Sub volgendePagina() 
Dim wb As Workbook 
Dim lSheets As Long 
Dim lSheet As Long 
Dim lMove As Long 
Dim lNext As Long 

Set wb = ActiveWorkbook 
lSheets = wb.Sheets.Count 
lSheet = ActiveSheet.Index 
lMove = 1 

With wb 
    For lMove = 1 To lSheets - 1 
     lNext = lSheet + lMove 
     If lNext > lSheets Then 
      lMove = 0 
      lNext = 1 
      lSheet = 1 
     End If 

     If .Sheets(lNext).Visible = True Then 

      .Sheets(lNext).Activate 
      Exit For 
     End If 
    Next lMove 

End With 

End Sub 


Sub vorigePagina() 
Dim wb As Workbook 
Dim lSheets As Long 
Dim lSheet As Long 
Dim lMove As Long 
Dim lNext As Long 

Set wb = ActiveWorkbook 
lSheets = wb.Sheets.Count 
lSheet = ActiveSheet.Index 
lMove = 1 

With wb 
    For lMove = 1 To lSheets - 1 
     lNext = lSheet - lMove 
     If lNext < 1 Then 
      lMove = 0 
      lNext = lSheets 
      lSheet = lSheets 
     End If 

     If .Sheets(lNext).Visible = True Then 
      .Sheets(lNext).Activate 
      Exit For 
     End If 
    Next lMove 

End With 

End Sub 

Public Sub inhoudsTafel() 
ThisWorkbook.Sheets(1).Activate 
End Sub 
+0

所以基本上它的作用是激活下一張/前一薄片或第一張...在選擇另一張紙時是否發生此錯誤? –

回答

0

你可以試試這個代碼:

Sub volgendePagina() 
    Dim i as Long 
    i = ActiveSheet.Index 
    do 
    i = i Mod ActiveWorkbook.Sheets.Count +1 
    loop until ActiveWorkbook.Sheets(i).Visible 
    ActiveWorkbook.Sheets(lNext).Activate 
End Sub 

Sub vorigePagina() 
    Dim i as Long 
    i = ActiveSheet.Index 
    do 
    i = i - 1 
    if i < 1 the i = ActiveWorkbook.Sheets.Count 
    loop until ActiveWorkbook.Sheets(i).Visible 
    ActiveWorkbook.Sheets(lNext).Activate 
End Sub 

Public Sub inhoudsTafel() 
    ThisWorkbook.Sheets(1).Activate 
    'note: ThisWorkbook = the workbook which contains this code 
    'ActiveWorkbook = well... the currently active workbook :) 
End Sub