Mensagens

A mostrar mensagens de Julho, 2011

EXCEL GANTT TEMPLATE

Imagem
Para o planeamento de tarefas e projecto, utilizo normalmente o MSPROJECT.. Há algum tempo atrás porém, tive necessidade de criar no Excel algo similar, de modo a poder juntar no mesmo ficheiro vários tipos de informação, para que o cliente pudesse usar o mesmo programa e abrir um único ficheiro. Após inúmeras consultas e pesquisas em sites e fóruns da especialidade, consegui criar um modelo de planeamento com gráfico de GANTT, com algumas funções do MSPROJECT, suficientes para satisfazer as necessidades daquele projecto em particular e poder, assim, incluir no ficheiro Excel que enviei ao cliente o respectivo planeamento que, de outro modo, só seria possível apresentando um outro ficheiro do MSPROJECT. O exemplo que aqui apresento está bastante simplificado em relação ao modelo final. A seu tempo mostrarei a evolução e as melhorias que fui incrementando, adaptando-o assim a outras projectos. No entanto, este já permite trabalhar com barras e predecessores, indentação e wbs. Forprojec…

VBA EXCEL - ENVIAR FOLHA DE CÁLCULO POR EMAIL (Emailing Worksheet)

Enviar por Email uma folha de cálculo (criando um novo ficheiro) Emailaspreadsheet(creatinganew file)
Sub Mail_ActiveSheet()
Dim strDate As String
ActiveSheet.Copy
    strDate = Format(Date, "dd-mm-yy") & " " & Format(Time, "h-mm-ss")
ActiveWorkbook.SaveAs "Part of " & ThisWorkbook.Name _
                        & " " & strDate & ".xls"
ActiveWorkbook.SendMail "nome@domain.com", _
                            "Assunto" 'Subject Line
ActiveWorkbook.ChangeFileAccess xlReadOnly
Kill ActiveWorkbook.FullName
ActiveWorkbook.Close False
End Sub

VBA EXCEL - COPIAR DETERMINADAS FOLHAS DE CÁLCULO PARA UM NOVO LIVRO (Copy some specific worksheets to a new workbook)

Criar um novo ficheiro, a partir do livro existente, exportando ou copiando apenas as folhas de cálculo que desejamos. Createanew filefrom theexisting book, exportingor copyingonly theworksheetsthat we desire.
Sub ExportarFolhas()
Dim wb As Workbook
Dim fNome As Variant
Worksheets(array("Folha1", "Folha2")).Copy  '
cria novo livro (Creates new workbook)
Set wb = ActiveWorkbook
fNome = Application.GetSaveAsFilename( _
 FileFilter:
="Excel Files (*.xla), *.xla", _
Title:="Especificar Localização:") 'Specify Location for Copy
If fNome = False Then
 '  Se o utilizador escolhe "cancelar" a cópia é eliminada
 ' If user has chosen "cancel" delete the copy
 wb.Close Savechanges:=False
Else

wb.SaveAs Filename:=fNome
wb.Close Savechanges:=False
End If
End Sub

EXCEL - A UTILIDADE DA TECLA F5 (F5 key usefulness)

Imagine que pretende eliminar todas as caixas de texto existentes numa folha de cálculo mas não consegue localizar todas. E se pretender saber, por exemplo, quais as células que contêm formatações condicionais. E se quiser seleccionar as células com fórmulas numéricas ou de texto ou que contenham valores de erro. F5 é uma tecla a partir da qual pode seleccionar o que pretende e, depois, proceder à sua eliminação ou alteração de dados. Por exemplo, se quisermos eliminar todas as imagens existentes: Imagineyou want to deleteallexistingtext boxeson aspreadsheetbut can not findall of them.Andif you want toknow, for example,which cellscontainingconditional formats.And ifyou wish to selectcells with text formulasornumericalor containingerror values.
F5isakeyfrom whichyou can selectwhat you want andthenproceed to theireliminationor data changing.
For example,if you want to delete all existing images:

1. Premir F5(Press F5) 2. Escolher ESPECIAL(Choose SPECIAL) 3. Escolher Objectos(Choose Objets) 4.…

EXCEL - SUBSTITUIR PONTO POR VÍRGULA (Changing comma to point) ou vice-versa

Por vezes, copiamos números de outros programas (Word, PDF, etc.) para Excel e reparamos que os mesmos são colados em formato texto, porque a separação das casas decimais é um ponto em vez de vírgula. Se se trata de uma ou duas células, podemos fazer a substituição manualmente, mas se for uma tabela de dados considerável, vamos perder um tempo precioso a proceder à substituição em cada célula. Existe uma forma rápida de executarmos o procedimento de uma só vez: Sometimeswhen copynumbers from otherprograms(Word, PDF,etc.) to Excel wenoticethat they arestuckin text format,because decimal separationisapoint instead ofcomma.Whether it isoneor two cells, we can makethe substitutionmanually,but if it isaconsiderabledata table, we will losevaluable timeto replace it in each cell.
Here is aquick way toexecutetheprocedureonce:
1. Seleccionar o intervalo de valores ou células que pretende alterar 2. CTRL+U - abre a janela de substituição 3. Digitar "." no campo "Localizar" 4. Dig…

VBA EXCEL - ABRIR UM FICHEIRO NUMA FOLHA ESPECÍFICA (Open a workbook in a specific sheet)

Abrir um Ficheiro numa Folha específica Open a workbook in a specific sheet
Sub AbrirFicheiro()
Dim Ws As Worksheet
Dim SProc As String
Dim SEncontrar As String
Application.ScreenUpdating = False
'Procurar a Folha Específica(Look for the specific sheet)
SProc = WorkSheets("Folha1").Range("A1")
'Abrir o livro (Open workbook to look in)
Workbooks.Open Filename:="C:\...\Livro1.xls"
'
Procurar em todas as folhas até encontrar a pretendida (Look through each sheet until found the wanted one)
For Each Ws In ActiveWorkbook.Worksheets
On Error Resume Next
SEncontrar = Ws.Cells.Find _
(What:=SProc, after:=Ws.Cells(1, 1)).Address
If SEncontrar <> "" Then
Application.ScreenUpdating = True
End If
Next Ws

End Sub

VBA EXCEL - BLOQUEAR UMA DETERMINADA ÁREA PARA VISUALIZAÇÃO (Block a particular area for a view)

Existem duas formas de bloquear ou congelar uma determinada área da folha de cálculo, de modo a fixar a sua visualização, sempre que entramos na folha: There aretwoways to blockor freezeaparticular areaof the spreadsheetin order toestablish theirview, wheneverwe enter thespreadsheet
1. Sobre o separador da folha de cálculo, clicar no botão direito do rato Over thetabof the worksheet,right click themouse button Escolher "Ver Código" Choose"ViewCode" Premir F4 Press F4 Em "ScrollArea" editar o intervalo que queremos fixar, por exemplo "G2:AI50" In "ScrollArea" editthe range thatweset, for example "G2:AI50" Premir Alt+Q para fechar a janela VBA Press Alt+Q to close the VBA window Guardar Save
2. Sobre o separador da folha de cálculo, clicar no botão direito do rato Over thetabof the worksheet,right click themouse button Escolher "Ver Código" Choose"ViewCode" Introduzir o seguinte código: Enter thefollowing code:
Private Sub Wor…

VBA EXCEL - IMPORTAR DADOS DE UM LIVRO PARA OUTRO (Import Data from a Workbook to Another)

Uma forma de importar ou copiar dados de um livro ("Livro1") fechado para o livro activo ("Livro2"), atendendo a um conjunto de condições.
Este exemplo mostra como podemos importar ou copiar um conjunto de dados de um livro para outro, sem ser necessário o recurso a colar e copiar.
Para tal, basta colocar este código num módulo VBA e correr a macro. Podemos igualmente associar a macro a uma botão, possibilitando assim a execução do processo através de um único click. Asimple way to importor copy data fromaclosed book ("Livro1")forthe active workbook("Livro2"), given aset of conditions.
This example shows how we can import or copy data from one workbook to another without requiring the use of copy and paste.
Simply put this code in a VBA module and run the macro. We can also associate the macro to a button, allowing the execution of the process through a single click.

Sub ImportarDados () Workbooks.Open Filename:="C:\...\Livro1.xls" Dim…

VBA EXCEL - OCULTAR LINHAS EM BRANCO (Hide Blank Rows)

Uma das situações recorrentes na utilização do EXCEL é esconder as linhas em branco que, propositadamente ou não, vamos deixando para trás à medida que construímos uma folha de cálculo. Mais tarde, constatamos que aquelas linhas estariam melhor escondidas. Um opção rápida e consistente é utilizar uma pequena macro em VBA que, mediante um ou mais critérios, permite num só clique escolher as linhas que pretendemos esconder. Aqui deixo três possibilidades:
Onerecurring situationsin the use ofEXCELis to hideblank linesthat,intentionally ornot, we willleave behindas we buildaspreadsheet.Later, we found thatthose lineswould be betterhidden.
One optionis toquickly and consistentlyuse a smallVBA macrothat, throughone ormore criteria,allowsone-clickto select the linesyouwant tohide.
Here I leavethreepossibilities:

1.  Esconder todas as linhas em branco desde a linha 2 até à 65000 Hide allblank linesfrom the line2to the65000
Sub OcultarLinha()
Dim Linha, LinhaFinal As Integer
  LinhaFinal = Range(&quo…

INTRODUÇÃO

Hoje é o início de um projecto que já estava pensado há algum tempo mas que, por manifesta indisponibilidade, foi sendo adiado mês após mês. Penso agora ter as coisas mais ou menos organizadas e, sobretudo, a disponibilidade necessária para poder ir em frente com este desejo antigo. O propósito deste blog é simplesmente partilhar os meus conhecimentos em algumas áreas relacionadas com a minha actividade, em particular a criação de macros e modelos em EXCEL. Sendo esta a minha primeira abordagem no que respeita a blogs, estou convencido que os primeiros posts serão ainda tímidos quanto à forma e conteúdo e que demorará ainda algum tempo até que possa optimizar a página, nomeadamente na suas perspectivas estética e funcional. Vamos ver como corre.
Todayis the beginning ofaproject thatwasthoughtfor some timebut, forobviousunavailability, itwasbeingdelayedmonthafter month.Inow havethings more organizedand, above all, the availabilityneeded tobe able to goahead with thisold desire.The purp…