Propósito

✔ Programação GLOBAL® - Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog devem ser tratados como consultoria freelance. Queiram contatar-nos: brazilsalesforceeffectiveness@gmail.com | ESTE BLOG NÃO SE RESPONSABILIZA POR QUAISQUER DANOS PROVENIENTES DO USO DOS CÓDIGOS AQUI POSTADOS EM APLICAÇÕES PESSOAIS OU DE TERCEIROS.

.: Vitrine

Carregando artigos...

Views

Mostrando postagens com marcador insert. Mostrar todas as postagens
Mostrando postagens com marcador insert. Mostrar todas as postagens

VBA Excel Basic - Inserindo e Deletando Linhas e Colunas - How To Insert And Delete Rows And Columns


Sim, este é mais um tópico voltado para quem está iniciando na utilização do VBA - Visual Basic for Application no MS Excel.

O método Insert pode ser usado tanto para Linhas quanto para Colunas.

Sub sbExample12()
    Rows(6).Insert 'Inserirá uma linha na Linha 6.
    Rows(6).Delete 'Deletará a Linha 6.
    
    Columns("E").Insert 'Inserirá uma Coluna a partir da E.
    Columns("E").Delete 'Deletará a Coluna E.
End Sub



Deixe os seus comentários! Envie este artigo, divulgue este link na sua rede social...


TagsVBA, Basic, Excel, worskheet, Sheet, aba, Planilha, Workbook, insert, delete, Rows, Columns, inserir, deletar,


VBA Excel Tip - Insira Fotos nos Comentários de cada Célula - Add photos to cells inside comments

Inline image 1
Suponhamos que tenha uma planilha com uma lista de nomes de funcionários e queira ver as respectivas fotos destes funcionários.

Mais uma dica rápida, aprenda a inserir imagens dentro dos comentários das células.

A partir de uma pasta com as respectivas fotos, cada arquivo será o número do empregado. E a dica para visualizar as fotos de modo rápido e dinâmico, decidi colocar cada foto dentro de um comentário, em cada célula. Desse modo, quando passar o número do funcionário, uma janela de comentário aparecerá com a foto.

Mas é claro que desejo que todos usem a criatividade desenvolvendo novas soluções:

- Álbuns de fotos

- Capas dos seus CDs

- Capas da sua Lista de Blue-Rays

- Seus filmes preferidos

- Os livros que mais gosta

- Os produtos da sua empresa que estão sendo mostrados no gráfico imediatamente acima da lista

- As logomarcas das empresas comparadas dentro de um market share

Sub InsertPictures() 
    Dim cll As Range 
    Dim rng As Range 
    Dim strPath As String 

    Let strPath = "D:\Bernardes\Photos" 

    With Sheets("Sheet1") 
        Set rng = Range("A2:A416") 
    End With 

    For Each cll In rng 
        If Dir$(strPath & "\" & cll.Value & ".jpg") <> "" Then 
            With cll 
                .ClearComments 
                .AddComment ("") 
                .Comment.Shape.Fill.UserPicture (strPath & "\" & cll.Value & ".jpg")
                Let .Comment.Shape.Height = 160 
                Let .Comment.Shape.Width = 120 
                Let .Comment.Shape.LockAspectRatio = msoTrue 
            End With 
        End If 
    Next cll 
End Sub

TagsVBA, Excel, Tips, cell, célula, photo, insert, comments, comentários, add, adicionar, inserir,



VBA Excel - Inserindo icone em suas aplicações

Digamos que você tenha diversas planilhas abertas no computador neste momento.

Cada uma delas com conteúdos totalmente distintos. Não seria bom se você pudesse identificá-las somente olhando para os seus ícones na barra do Windows? Como podemos fazer isso?

Na verdade não requer prática, nem tão pouco experiência, basta que siga os passos abaixo:

Crie um novo módulo com um nome como: mdl_Functions_Icon

Dentro do módulo cole o código abaixo:

CÓDIGO: 

Declare Function GetActiveWindow32 Lib "USER32" Alias "GetActiveWindow" () As Integer
Declare Function SendMessage32 Lib "USER32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Declare Function ExtractIcon32 Lib "SHELL32.DLL" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long

Function ChangeApplicationIcon()
    ' Author:                     Date:               Contact:                 URL:
    ' André Bernardes             22/11/2010 13:43   bernardess@gmail.com     https://sites.google.com/site/vbabernardes/
    ' Carrega o icone identificando a planilha.
    ' Listening:

    Dim Icon& ' Pegue o ícone de outro aplicativo como abaixo:
    
    Const NewIcon$ = "C:\PlanIcons\DashBoard.ico"  ' Um arquivo .ICO em um diretório: '
    
    Let Icon = ExtractIcon32(0, NewIcon, 0)
    
    SendMessage32 GetActiveWindow32(), &H80, 1, Icon
End Function

Na pasta de inicialização da sua planilha faça uma chamada a esta função, como demonstrado abaixo:

CÓDIGO: 

Private Sub Workbook_Open()
    ' Author:                     Date:               Contact:                 URL:
    ' André Bernardes             27/09/2010 09:07   bernardess@gmail.com     https://sites.google.com/site/vbabernardes/
    ' Abre a planilha para acesso a dados.
    ' Listening: Don´t Give Hate a Chance - Jamiroquai.

    Let Application.ScreenUpdating = False
    Let Application.Caption = ".: DashBoard®"
    Let Application.StatusBar = "A&A - In Any Place®"

    Call ChangeApplicationIcon

    Sheets("Dashboard").Select
    ActiveSheet.Outline.ShowLevels RowLevels:=1
    
    frmSplash.Show

    Sheets("Menu").Select

    Let Application.ScreenUpdating = True
End Sub

Pronto!

Todas as suas aplicações podem ter ícones distintos, identificando-as mais facilmente até mesmo para seus clientes.

Tags: Bernardes, VBA, Office, Excel, worksheets, sheets, ws, insert, inserindo, pasta


VBA Excel - Ordena worksheets da planilha - Sort All Sheets in a Workbook

Inline image 1

Podemos ordenar todas as Sheets duma seqüência alfabética.

Sub SrtShs()
Dim iSheet As Long, iBefore As Long 
For iSheet = 1 To ActiveWorkbook.Sheets.Count     
    Let Sheets(iSheet).Visible = True 
    For iBefore = 1 To iSheet - 1       
        If UCase(Sheets(iBefore).Name) & UCase(Sheets(iSheet).Name) Then  
                      ActiveWorkbook.Sheets(iSheet).Move 
          Before:=ActiveWorkbook.Sheets(iBefore)         
          Exit For       
        End If     
    Next iBefore   
Next iSheet 
End Sub







Reference:

Inspiration:

TagsVBA, Excel, wrap, sheet, sheets, ws, insert, sort, ordena


VBA Excel - Quebra de páginas no agrupamento








Talvez precisemos definir relatórios no MS Excel com quebras específicas de página, as quais, por vezes tenham dados oriundos de um BI (tal como da Microsoft, ORACLE, SAP, ou Cognos).

Insert Conditional Horizontal Page Breaks Around Logical/Visual Blocks
Clear Page Breaks &amp; Add Page Breaks
Conditional Insert Of Page Breaks
Force Page Breaks In Vba?
Inserting Page Breaks On Relative Rows Based On Data
Set Page Breaks Based On Cell Value On Protected Sheet
Macro - Page Breaks/printing
Macro To Save Sheet With Same Page Breaks As Original
Vertical Page Breaks To Stretch From Column "B" To Column "U"
Page Breaks When Value Changes
Remove Any Page Breaks
Filter Out Page Breaks
Setting Page Breaks
Detecting Page Breaks
Macro To Loop And Insert A Page-break
Find Page Breaks Faster
Page Breaks Every Nth Row
Create Conditional Page Breaks
Row Height Specifically For Page Breaks
Adjusting Page Breaks In Multiple Tabs
Inserting Page Breaks For Certain Sheets Using Macros
Set Page Breaks Groups For X Conditions
Two Page Lookup Matching Criteria Based On Cell Value
Show Page Breaks Automatically When I Open A New File.
Deleting Page Breaks From Text File Formatted
Page Breaks Result In Blank Pages Printing When AutoFilter Used




Como podemos forçar as quebras quando acontecerem mudanças nas ocorrências de certos agrupamentos?

O código abaixo foi criado para aderir a uma necessidade específica, mas pode  ser [e deve ser] adaptado a ainda outras necessidades, criem e compartilhem!!!



Imaginem as ocorrências abaixo:


Nome           Estado                        e-mail

André           SP                              bernardess@gmail.com

André           SP                              bernardess@gmail.com

André           SP                              bernardess@gmail.com

André           SP                              bernardess@gmail.com

André           SP                              bernardess@gmail.com

André           SP                              bernardess@gmail.com

André           RJ                              bernardess@gmail.com

André           RJ                              bernardess@gmail.com

André           RJ                              bernardess@gmail.com

André           RJ                              bernardess@gmail.com

André           RJ                              bernardess@gmail.com

André           RJ                              bernardess@gmail.com

André           PR                              bernardess@gmail.com


Suponhamos que desejasse que em toda a mudança de estado, uma quebra fosse inserida. Como ficaria? Similar ao demonstrado abaixo:



Segue código:



Sub Insert_PageBreaks()


    ' Author:                           Date:                        Contact:                            URL:


    ' André Bernardes             08/07/2011 08:49    bernardess@gmail.com     http://al-bernardes.sites.uol.com.br/

    ' Insere quebra de página de acordo com a mudança em uma coluna.

    ' Listening: .


    Dim Lastrow As Long

    Dim i As Long

    Dim Row_Index As Long

    Dim Column1 As Long

    Dim Row1 As Long

    Dim cellContent1 As String

    Dim cellContent2 As String


    ' Define a coluna que será analisada.

    Let Column1 = 3

    

    ' Define a partir de qual Linha iniciará.

    Let Row1 = 3


    With ActiveSheet

        ' Remove todos os PageBreaks pré-existentes.

        .ResetAllPageBreaks

        

        ' Identifica a última linha que contém alguma informação. Neste caso na coluna C.

        Let Lastrow = .Cells(Rows.Count, "C").End(xlUp).Row


        ' Carrega variável de análise.

        Let cellContent1 = .Cells(Row1, Column1)

    

        ' Percorre todas as linhas com conteúdo na planilha vigente.

        For i = Row1 To Lastrow

            If Selection(i, Column1).Value &lt;&gt; cellContent1 Then

                .HPageBreaks.Add Before:=.Cells(i + 1, Column1)

                

                ' Carrega variável de análise.

                Let cellContent1 = .Cells(i + 1, Column1)

                

                Let i = i + 1

            End If

        Next

    End With

End Sub




Exemplo #1:

Use HPageBreaks(index), onde 
index


 é o número de índice da quebra de página, para retornar um objeto 
HPageBreak


. O exemplo a seguir altera a posição da quebra de página horizontal um.


Visual Basic for Applications 
Worksheets(1).HPageBreaks(1).Location = Worksheets(1).Range("e5") 











Exemplo #2:
Este exemplo adiciona uma quebra de página horizontal acima da célula F25 e insere uma quebra de página vertical à esquerda dessa célula.




Visual Basic for Applications 



With Worksheets(1)

    .HPageBreaks.Add.Range("F25")

    .VPageBreaks.Add .Range("F25")

End With 




Exemplo #3:
With Worksheets("Sheet3") 


    Set rngMyRange = .Range(.Range("B1"), .Range("B65536").End(xlUp)) 


    For Each rngCell In rngMyRange 

    ' Faz o loop através do range.

        If rngCell.Value &lt;&gt; rngCell.Offset(1, 0).Value Then 

            .HPageBreaks.Add Before:=rngCell.Offset(1, 0) 

        End If 

    Next 

End With 




Utilize-os com moderação... 



Tags: VBA, Excel, insert, page, brake, column, ResetAllPageBreaks, HPageBreaks, lastrow, row, cells, xlup


Inspiration: 


diHITT - Notícias