Views

...

Important:

Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog podem ser tratados como consultoria freelance.

E-mails

Deixe seu e-mail para receber atualizações...

eBook Promo

VBA Excel - Fechando planilha sem Salvar

VBA Excel - Fechando planilha sem Salvar



Segue mais uma dica preciosa do amigo Denis Ostorero.

Como fechamos uma planilha sem que ela pergunte se desejo salvar?

Suponhamos que a versão que está disponibilizando não possa ser alterada ou que você tenha um bom motivo para não permitir que seus usuários gravem alguma coisa nela...Segue modelo:

' Essa simples rotina, pode fazer um estrago...
' 1 - Fecha a pasta de trabalho ativa, SEM SALVAR, ou
' 2 - Fecha TODAS as pastas de trabalho abertas

             
Sub CloseNotSave()                

  ' Informa ao Excel que a pasta já está salva
  ThisWorkbook.Saved = True
                  
  ' Fecha a pasta de trabalho. O Excel fica aberto.
  ' Se houver outras pastas abertas, ficarão abertas
  ThisWorkbook.Close

  ' Para sair do Excel (encerrar o aplicativo) sem
  ' salvar TODAS as pastas abertas:                 
    ' Aqui ele procura (loop) pastas abertas
    ' For i = 1 To Application.Workbooks.Count
      ' Diz ao Excel que a pasta já está salva
      ' Application.Workbooks(i).Saved = True
                      
      ' Procura outras pastas abertas, até a última
    ' Next
                  
  ' Diz ao Excel que está tudo bem, que é para fechar o
  ' "estabelecimento", e ir descansar
  ' Application.Quit                
End Sub


Envie seus comentários e sugestões e compartilhe este artigo!

brazilsalesforceeffectiveness@gmail.com

✔ Brazil SFE®✔ Brazil SFE®´s Facebook´s Profile  Google+   Author´s Professional Profile  ✔ Brazil SFE®´s Pinterest       ✔ Brazil SFE®´s Tweets

VBA Excel - Criando novas Planilhas a partir das pastas existentes em uma planilha.

Como criar várias planilhas diferentes a partir das pastas dentro da minha planilha?

Sub SavePlansAtWorkBook()
    Dim
nPath As String
    Dim nExt as String
    Dim nWS As Worksheet

    Let nPath = "P:\A&A\"
    Let nExt = ".xls"

    For Each nWS In ThisWorkbook.Worksheets
   
    nWS.Copy

   
    ActiveWorkbook.SaveAs _
        Filename:=nPath & nWS.Name & nExt

   
    ActiveWindow.Close
    Next nWS
End Sub

André Luiz Bernardes

Excel Basic - Número é PAR ou ÍMPAR

Como podemos descobrir se o conteúdo de certas células é par ou ímpar?

Podemos utilizar a combinação das seguintes funções:

                =SE(MOD(A2;2)=0;VERDADEIRO;FALSO)

André Luiz Bernardes

Excel: Como as planilhas aumentam inexplicavelmente?

Já notou que o tamanho das nossas planilhas ficam maiores com o passar do tempo, sem que necessariamente tenhamos acrescentado algum conteúdo relevante a elas?

É muito comum que somente tenhamos aberto o nosso arquivo e efetuado pequenas alterações em certas células.

Tudo bem, vez ou outra inserirmos algumas linhas em branco, apenas para posicionar algumas informações. Mas com o passar do tempo, percebemos que:

   As linhas em branco não sumiram, eliminando o conteúdo anteriormente existente, antes muitas
   delas são salvas como se o conteúdo permanecesse.

   As exclusões de várias células, colunas e fórmulas findam por não diminuir em nada o tamanho
   total do nosso arquivo.

Lógico, isso é muito comum devido a grande manipulação de dados que efetuamos dentro das mesmas planilhas, muitas delas cheias de links com outras planilhas, sites e bancos de dados.

O MS Excel não consegue distinguir as linhas que estão realmente em branco ou vazias e acaba por gravar todas as ocorrências em branco como se contivessem conteúdo.

O tamanho das planilhas é uma preocupação constante nas nossas aplicações. A não ser que realmente precisemos ter ocorrências extensas, deveríamos automatizar a deleção das linhas excedentes sempre que nossas planilhas fossem fechadas.

Mas como eliminaremos linhas em branco e salvaremos a planilhas antes da mesma ser fechada de modo automatizado?


Vejam aqui várias sugestões...
Blog Excel
Blog Access
Blog Office



VBA Excel - Eficiência para deletar milhares de linhas (Delete thousand lines).

Talvez precise deletar planilhas com milhares de linhas em branco, poderá usar
a funcionalidade abaixo.

Function DelThousandBlnkRows(StarLine as Long)
               ' Author: André Luiz Bernardes.
               ' Date: 05.02.2009

               Let nRow = StartLine

               Do While ActiveSheet.Cells (nRow, 1) <> ""
                              If ActiveSheet.Cells (nRow, 1).Value <> strUserName Then
                                             ActiveSheet.Rows (nRow).EntireRow.Delete
                              Else
                                             Let nRow = nRow + 1
                              End If
               Loop
End Function




Vejam outras várias sugestões...
Blog Excel
Blog Access
Blog Office




VBA Excel - Excluindo linhas em branco (Delete Blank Cells)

Continuando com as opções quanto customizar as planilhas, retirando delas todos
os espaços não usados temos a função abaixo que deletará todas as células em
branco que estiverem na coluna D.

Sub DelBlankRows()
        Range("D1:D" & Cells _
        (Rows.Count,2).End(xlUp).Row).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub


Vejam outras várias sugestões...
Blog Excel
Blog Access
Blog Office



VBA Excel - Excluindo linhas duplicadas em coluna ordenada.

São inesgotáveis as perguntas sobre como excluir linhas duplicadas. Ao executar o código abaixo é necessário que a coluna considerada esteja ordenada.


Sub DelDoubleLine()
        Dim nLine As Long
        Dim nString, nRow As String
        Dim nAdress as String

        Let nLine = 1
        Let nAdress = "B10"

        Range(nAdress).Select

        Let str = Range(nAdress).Value

        Do While Not ActiveCell.Offset(nLine).Value = ""
                If ActiveCell.Offset(nLine).Value = nString Then
                        GoSub DeleteRow
                Else
                        Let nString = ActiveCell.Offset(nLine).Value
                        Let nLine = nLine + 1
                End If
        Loop

        Exit Sub

DeleteRow:
        Let nRow = nLine + 1 & ":" & nLine + 1

        Rows(nRow).Select

        Selection.Delete Shift:=xlUp

        Range(nAdress).Select

        Return
End Sub


Vejam outras várias sugestões...
Blog Excel
Blog Access
Blog Office



VBA Tips - Samples, Examples, Tips, Tricks, Code, Download, Office.

Usem e divulguem


VBA Office    -  VBA para MS Office - Todos os aplicativos da Suíte Office.


VBA Access -  VBA para MS Access - Códigos, exemplos, Definições.


VBA Excel     -  VBA para MS Excel - Códigos, exemplos, Definições.


E aguardem, outros virão...



Credit:
Reference
Tags: Bernardes, Brazil, Office, Excel, VBA, Blogs,


eBooks VBA na AMAZOM.com.br

LinkWithinBrazilVBAExcelSpecialist

Related Posts Plugin for WordPress, Blogger...

Vitrine