Saberexcel - o site das macros Essas macros e procedimentos do Aplicativo Microsoft Excel VBA, seleciona planilhas atraves de dados em uma determinada tabela que delimita um intervalo de células e que contém o nome das folhas de planilhas, então ao selecionar determinada célula, seleciona a planilha desejada, também inserí uma macro que adiciona 32 planilhas de uma so vez, e outra macro que as deleta preservando apenas duas, pré-escolhidas. Baixe o exemplo de planilha no final da página.
NO MÓDULO DE CÓDIGOS DA FOLHA PLANILHA (WORKSHEET " PRINCIPAL") INSIRA O CÓDIGO ABAIXO
Observe que o procedimento afetará a Folha de Planilha ao selecionar, causado pelo Evento Selection_Change
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) Dim Nome As String Dim resposta As String If Range("C12") = "" Then MsgBox ("Insira os nomes primeiro"), vbInformation, "Saberexcel.com" End Else On Error GoTo Aviso
Nome = ActiveCell
If ActiveCell.Row > 12 And ActiveCell.Row < 26 And ActiveCell.Column > 2 And ActiveCell.Column < 18 Then Sheets(Nome).Select End If
Exit Sub Aviso:
If Err = 9 Then MsgBox ("Planilhas inexistente!!, crie as planilhas no botão acima!"), vbYesNo, "saberexcel - site das macros" Else MsgBox Err.Number & "-" & Err.Description, vbCritical, "www.saberexcel.com" End If End If
End Sub
EM UM MÓDULO COMUM INSIRA AS DECLARAÇÕES E MACROS ABAIXO
Const strPlanPagamento As String = "PRINCIPAL" Const strPlanAuxiliar As String = "Produtos SaberExcel"
Sub Deletar_planilhas_preservar_duas() Dim shtWs As Worksheet Dim intRetVal As Integer
If ThisWorkbook.Worksheets.Count > 2 Then intRetVal = MsgBox("Deseja excluir as planilhas e preservar apenas duas?", _ vbYesNo + vbInformation, "Saberexcel.com")
If intRetVal = vbYes Then Else Exit Sub End If
End If
Application.DisplayAlerts = False
For Each shtWs In ThisWorkbook.Worksheets If shtWs.Name <> strPlanPagamento And shtWs.Name <> strPlanAuxiliar Then shtWs.Delete End If Next
Saber2.Select Application.DisplayAlerts = True
End Sub
Sub Adiciona_Renomeia_Planilhas() On Error Resume Next 'Excel VBA Estudos® 'e-mail: [email protected] Dim saber As Integer saber = 1 Do While saber < 32 ' Adiciona 32 planilhas Application.Sheets.Add After:=Sheets.Item(Sheets.Count), Type:=xlWorksheet ' Renomeia as planilhas Application.ActiveSheet.Name = "Plan" & CStr(saber) saber = saber + 1 Loop Sheets("PRINCIPAL").Select End Sub
Sub nomes_tabela() Range("C12").FormulaR1C1 = "Grupo1" Range("C13").FormulaR1C1 = "Plan1" Range("C14").FormulaR1C1 = "Plan2" Range("C15").FormulaR1C1 = "Plan3" Range("C16").FormulaR1C1 = "Plan4" Range("E12").FormulaR1C1 = "Grupo2" Range("E13").FormulaR1C1 = "Plan5" Range("E14").FormulaR1C1 = "Plan6" Range("E15").FormulaR1C1 = "Plan7" Range("E16").FormulaR1C1 = "Plan8" Range("G12").FormulaR1C1 = "Grupo3" Range("G13").FormulaR1C1 = "Plan9" Range("G14").FormulaR1C1 = "Plan10" Range("G15").FormulaR1C1 = "Plan11" Range("G16").FormulaR1C1 = "Plan12" Range("I12").FormulaR1C1 = "Grupo4" Range("I13").FormulaR1C1 = "Plan13" Range("I14").FormulaR1C1 = "Plan14" Range("I15").FormulaR1C1 = "Plan15" Range("I16").FormulaR1C1 = "Plan16" Range("K12").FormulaR1C1 = "Grupo5" Range("K13").FormulaR1C1 = "Plan17" Range("K14").FormulaR1C1 = "Plan18" Range("K15").FormulaR1C1 = "Plan19" Range("K16").FormulaR1C1 = "Plan20" Range("M12").FormulaR1C1 = "Grupo6" Range("M13").FormulaR1C1 = "Plan21" Range("M14").FormulaR1C1 = "Plan22" Range("M15").FormulaR1C1 = "Plan23" Range("M16").FormulaR1C1 = "Plan24" Range("O12").FormulaR1C1 = "Grupo7" Range("O13").FormulaR1C1 = "Plan25" Range("O14").FormulaR1C1 = "Plan26" Range("O15").FormulaR1C1 = "Plan27" Range("O16").FormulaR1C1 = "Plan28" Range("Q12").FormulaR1C1 = "Grupo8" Range("Q13").FormulaR1C1 = "Plan29" Range("Q14").FormulaR1C1 = "Plan30" Range("Q15").FormulaR1C1 = "Plan31" Range("Q16").FormulaR1C1 = "Plan32" Range("E5").Select End Sub
Sub limpar() Range("C12:Q25").ClearContents End Sub ' Sub selecionar_principal() Saber1.Select [A1].Select End Sub
Aprenda tudos sobre o Aplicativo Microsoft Excel VBA - com Saberexcel - o site das macros
|