Anne,
utilizei parte da ideia postada no código do Alexandre no meu código.
Como ele disse, como você já fez modificações, seria melhor que postasse seu código atual.
De qualquer maneira...
Otimizei incluindo uma análise que não faz todas as colunas serem 'varridas', ou seja, vai considerar apenas as colunas que estiverem ocultas na sequência, pois entendo que esta é a sua intenção.
Considerei o fato de não haver colunas ocultas, o que será reportado ao usuário, bem como o fato do usuário poder solicitar que sejam reexibidas mais colunas do que a quantidade oculta (que será informada na InputBox), o que também será reportado ao usuário.
Faça muitos testes e indique o que não estiver sendo retornado como esperado.
Sub Reexibir()
Dim cont As Long
Dim col As Variant
cont = 0
For Each col In ActiveSheet.Columns
If col.Hidden = True Then
cont = cont + 1
End If
If cont >= 1 And col.Hidden = False Then
Exit For
End If
Next col
If cont = 0 Then
MsgBox "Não há colunas ocultas."
Exit Sub
End If
Init:
x = CInt(InputBox("Você pode reexibir " & cont & " colunas. Quantidade:"))
If x > cont Then
MsgBox "Há apenas " & cont & " colunas ocultas."
GoTo Init
End If
i = 1
Do While Columns(i).Hidden = False
i = i + 1
Loop
j = i + x - 1
Do While i <= j
Columns(i).EntireColumn.Hidden = False
i = i + 1
Loop
End Sub
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 12/02/2012 7:05 am