Acesso Livre - Registrados (REGISTRE-SE!)
Adicionado em: | 26/10/2011 |
Modificado em: | 26/10/2011 |
Tamanho: | Vazio |
Downloads: | 874 |
Saberexcel - o site de quem precisa aprender sobre Macros Microsoft Excel VBA
Essa macro do Aplicativo Microsoft Excel VBA(Visual Basic Application), deleta a folha de planilha se na folha de código da folha de planilha (Plan1) contiver um código com menos de duas linhas de código, caso tenha mais de duas linhas de códigos na folha de planilha, o macro emite uma mensagem que a folha de planilha não poderá ser deletada. Bacana não é? em um grande projeto voce poderá fazer um loop, e deletar as planilhas que foram criadas e estão sem códigos, concordam? Espero que o exemplo pode ser útl.
Fiquem com Deus, Expedito Marcondes
'- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -'
http://www.microsoftexcel.com.br
'contato@ saberexcel.com.br
'- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -'
Sub Delete_planilha_ativa()
Dim PlanCodLinhas As Long
'(*) requere referencia MS VBA Extensibility' library
PlanCodLinhas = ActiveWorkbook.VBProject.VBComponents _
(ActiveSheet.CodeName).CodeModule.CountOfLines
If PlanCodLinhas > 2 Then
MsgBox ActiveSheet.Name & " -- Nesta planilha contém [ " & _
PlanCodLinhas & " ] linhas de código " & vbCrLf & "(NAO PODE DELETÁ-LA!) " & vbCrLf _
& " - Veja na folha de código da folha de planilha ", _
vbCritical, "Saberexcel o site das macros"
' ---> aqui voce poderá inserir seus códigos, inserí uma mensagem intenção didática.
ElseIf Left(ActiveSheet.Name, 4) = "Plan" _
Or Application.WorksheetFunction.CountA(ActiveSheet.Cells) = 0 Then
Application.DisplayAlerts = False
ActiveSheet.Delete
'impede a mensagem do excel (..deseja excluir....)
Application.DisplayAlerts = True
Else
Application.DisplayAlerts = True
ActiveSheet.Delete
End If
End Sub
'- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -'
Sub visualizar_macro()
Dim resposta As String
resposta = MsgBox("deseja visualizar(tela ou vbe)?" & vbCrLf & " se SIM = Tela" & vbCrLf & " se NAO = VBE", vbYesNo, "Saberexcel - o site das macros")
If resposta = 6 Then ' 6 = yes
ActiveSheet.Shapes.Range(Array("macro")).Select
Selection.Verb Verb:=xlPrimary
Else
Application.Goto reference:="Delete_planilha_ativa"
End If
[C1].Select
End Sub
Sub folha_codigo_planilha()
Application.Goto reference:="saber1.Worksheet_SelectionChange"
End Sub
Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções.
Adicionado em: | 05/04/2011 |
Modificado em: | 05/04/2011 |
Tamanho: | Vazio |
Downloads: | 1158 |
O Site de quem precisa aprender Microsoft Excel VBA(Visual Basic Application)
Essas macros do Aplicativo Microsoft Excel VBA(Visual Basic Application), cria planilhas com datas especifica do mês desejado,
por exemplo: 04/2012 (Nomes será atribuido a cada folha de planilha)
Plan - dom 01-04-2012
Plan - seg 02-04-2012
Plan - ter 03-04-2012
Plan - qua 04-04-2012
Plan - qui 05-04-2012
Plan - sex 06-04-2012
Plan - sáb 07-04-2012
Plan - dom 08-04-2012
Plan - seg 09-04-2012 ... até fim do Mês,..
CONHEÇA OS MÓDULOS COMO FAZER - PROGRAMAÇÃO MICROSOFT EXCEL VBA - SABEREXCEL
Essas datas são escolhidas em duas caixas de combinação(Combobox) (Mes) e (Ano).
Após a crriação das folhas de planilhas com nome dos dias do mês e semana como acima, cria uma relação para links na Planiha principal, como também links de retorno para planiha principal em todas as folhas de planilha. Espero que o exemplo possa lhe ser útil.
Fique com Deus, Expedito Marcondes
EM UM MÓDULO COMUM INSERIR OS SEGUINTES CÓDIGOS.
Sub sb_abrir_form()
frmSaber.Show
End Sub
Sub CriarPlanilhaDiaMes(m, a)
Dim vData As Date
Dim x As Variant
On Error GoTo sberror
For vData = DateSerial(a, m, 1) To DateSerial(a, m + 1, 0)
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = Format(vData, "ddd dd-mm-yyyy")
Inserir_voltar
ActiveSheet.Tab.ColorIndex = NumSemana(vData)
Next vData
Hiperlinks
Exit Sub
sberror: If MsgBox("Deseja deletar as planihas", vbYesNo, "Saberexcel - site das macros") = vbYes Then
Deleta_Planilhas_Exceto_Desejada
Else
MsgBox ("Planilhas do mês [ ") & frmSaber.ComboBox1.Value & " ] serão preservadas!", vbinfomation, "Saberexcel - site das macros"
Exit Sub
End If
End Sub
Function NumSemana(sbData As Date) As Integer
NumSemana = Format(sbData, "ww", vbMonday, vbFirstFourDays)
If NumSemana > 52 Then
If Format(sbData + 7, "ww", vbMonday, vbFirstFourDays) = 2 Then NumSemana = 1
End If
End Function
Sub Hiperlinks()
Sheets(1).Select
Range("B5").Select
Range(ActiveCell, [C65000].End(xlUp)).ClearContents
For i = 2 To Sheets.Count
vPlan = Sheets(i).Name
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="'" & _
vPlan & "'" & "!A1", ScreenTip:="Planilha Saberexcel - [ " & vPlan & " ]", TextToDisplay:="Plan - " & Sheets(i).Name 'TextToDisplay:=vPlan
ActiveCell.Offset(1, 0).Select
Next i
'TextToDisplay:="Link " & Sheets(i).Name
End Sub
'Esta Macro deleta todas as planilhas e preserva a atual.
Sub Deleta_Planilhas_Exceto_Desejada()
For Each Nm In Worksheets
Application.DisplayAlerts = False 'impede de emitir a mensagem se deseja excluir
If Nm.Name <> "Principal" Then
Nm.Delete
End If
Next
[B1:B37].ClearContents
End Sub
'Esta macro insere os links de volta em todas as folhas de planihas criadas
Sub Inserir_voltar()
[H5].Select
[H5].Value = "Planilha Principal"
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"Principal!H5", ScreenTip:="Planilha Saberexcel", TextToDisplay:="Planilha Principal"
End Sub
NO MÓDULO DE CÓDIGO DO USERFORM
Private Sub cmbCriar_Click()
CriarPlanilhaDiaMes Me.ComboBox1, Me.ComboBox2
Saber1.Select
End Sub
Private Sub ComboBox1_Change()
Frame1.Caption = "Mes..: [ " & ComboBox1.Value & " ] Ano..: [ " & ComboBox2.Value & " ]"
End Sub
Private Sub ComboBox2_Change()
Frame1.Caption = "Mes..: [ " & ComboBox1.Value & " ] Ano..: [ " & ComboBox2.Value & " ]"
End Sub
Private Sub Fechar_Click()
Unload Me
End Sub
Private Sub UserForm_Initialize()
For m = 1 To 12
Me.ComboBox1.AddItem m
Next m
Me.ComboBox1 = Month(Date)
For a = 2007 To 2013
Me.ComboBox2.AddItem a
Next a
Me.ComboBox2 = Year(Date)
Frame1.Caption = "Mes..: [ " & ComboBox1.Value & " ] Ano..: [ " & ComboBox2.Value & " ]"
End Sub
Aprenda tudo sobre planihas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel
Adquira já o Acesso Imediato
à Area de Membros
Aprenda Excel VBA com Simplicidade de
códigos e Eficácia, Escrevendo Menos e
Fazendo Mais.
'-------------------------------------'
Entrega Imediata:
+ 500 Video Aulas MS Excel VBA
+ 35.000 Planilhas Excel e VBA
+ Coleção 25.000 Macros MS Excel VBA
+ 141 Planilhas Instruções Loops
+ 341 Planilhas WorksheetFunctions(VBA)
+ 04 Módulos Como Fazer Excel VBA
+ Curso Completo MS Excel VBA
+ Planilhas Inteligentes
<script type="text/javascript"><!--
google_ad_client = "ca-pub-2317234650173689";
/* retangulo 336 x 280 */
google_ad_slot = "0315083363";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
Aprenda tudo sobre o Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel,
Sobre as WorksheetFunctions Funções de Planilhas que retornam valores do VBA