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 preenchendo. Mostrar todas as postagens
Mostrando postagens com marcador preenchendo. Mostrar todas as postagens

VBA Tips - Preenchendo com ESPAÇOS ou ZEROS - A Direita ou a Esquerda

Inline image 1

Ao lidarmos com a geração de arquivos texto a partir de um sistema legado, ou quando estamos exportando dados para outra base, facilmente nos depararemos com a necessidade de exportar dados em arquivos texto de grandes bases de dados.

Como posso automatizar o tamanho de um campo e automaticamente preenchê-lo com espaços ou zeros ao lado esquerdo ou direito?

Certamente demoraria algum tempo reunir todas essas características em uma só funcionalidade, mas para a sua alegria reuni-as em 2 funções. Espero que goste e possa utilizá-la de modo a ganhar bastante tempo no seu desenvolvimento.

A primeira função, FillSpace ([String], [Quantos dígitos a inserir],[boolean]) é capaz de retornar um valor com o número de espaços que desejarmos. E ainda podemos escolher se estes estarão à direita ou à esquerda.

Parametrizado assim: FillSpace ("André Bernardes",20,True)
Retornará isso: "     André Bernardes"

Parametrizado assim: FillSpace ("André Bernardes",20,False)
Retornará isso: "André Bernardes     "

A função FillSpace é assim:

Function FillSpace (nPar As Variant, nOccurs As Integer, L_R As Boolean) _ 
             As String
    ' Author:                     Date:               Contact:
    ' André Bernardes             20/06/2012 11:50    bernardess@gmail.com     https://sites.google.com/site/bernardescvcurriculumvitae/
    ' Preenche com espaços.

    Dim nSize As Integer
    Dim nParticle As String
    
    Let nSize = Len(Trim(nPar))
    
    ' Informa se será preenchido na frente (LEFT) ou atrás (RIGHT).
    If L_R Then
        Let nParticle = Space(nOccurs - nSize) & Trim(nPar)
    Else
        Let nParticle = Trim(nPar) & Space(nOccurs - nSize)
    End If

    Let FillSpace = nParticle
End Function


A primeira função, FillZeros ([String], [Quantos dígitos a inserir],[boolean]) é capaz de retornar um valor com o número de zeros que desejarmos. E ainda podemos escolher se estes estarão à direita ou à esquerda.

Parametrizado assim:  FillZeros ("2500",10,False)
Retornará isso: 2500000000

Parametrizado assim:  FillZeros ("25000",10,true)
Retornará isso: 0000025000

A função FillZeros é assim:

Function FillZeros (nPar As Variant, nOccurs As Integer, L_R As Boolean) As String
    ' Author:                     Date:               Contact:
    ' André Bernardes             20/06/2012 12:50    bernardess@gmail.com     https://sites.google.com/site/bernardescvcurriculumvitae/
    ' Preenche com zeros.
    
    Let FillZeros = Replace(FillSpace(nPar, nOccurs, L_R), " ", "0")
End Function

Espero que possa usar bastante essas funções nas suas aplicações. Se desejarem, deixem comentários e novas sugestões de códigos.


Reference:

Tags:   VBA, Tips, espaço, zero, preenchendo, fill, Zed, Zeros, Space, preencher, completar 

VBA Powerpoint - Populando LISTBOX a partir do Access.

training-header.jpg

Muitos utilizam Dashboards & Scorecards, BSC - Balanced Scorecard,  MIS - Management Information System e Relatórios diretamente nas suas apresentações MS Office Powerpoint, mas como fazê-lo?

Como posso atualizar um listbox diretamente no meu Slide?

Pois bem, abaixo segue código:

Function ListadoAccess (taskPriority as Integer) as String
  Dim db As DAO.Database
  Dim rs As DAO.Recordset
  Dim listOfTasks as String

  Set db = DBEngine.OpenDatabase("C:\Bernardes.mdb")
  Set rs = db.OpenRecordset("SELECT * FROM ColorsTable WHERE ColorPriority=" & taskPriority, dbOpenSnapshot)

  If not rs is nothing then
    If rs.RecordCount > 0 then
      With rs
        While Not .EOF
          if listOfTask = "" then 
            Let listOfTasks = !ColorName
           Else 
            Let listOfTasks = listOfColors & vbCrLf & !ColorName
          End If

          .MoveNext

        Loop

      .Close
      End With
    End If

    Set rs = nothing
  End If

  Set db = nothing

  Let ListadoAccess = listOfColors
End Function



TagsMicrosoft Office, powerpoint, listbox, access, populando, preenchendo

André Luiz Bernardes
A&A® - Work smart, not hard.


VBA Excel - Preenchendo lacunas vazias dos ranges com dados.

Quem está constantemente desenvolvendo soluções através do MS Excel, regularmente depara-se com a seguinte situação:

Primeiro copia-se um determinado Range, recém atualizado, que reflete o resultado de um filtro específico de uma Pivot Table (Tabela Dinâmica).

Segundo, ao colar o Range recém copiados da PT (Pivot Table), percebe que algumas lacunas ficaram vazias, pois a PT em cada coluna, não repete uma série de dados, apenas demonstra a primeira ocorrência desta.


Como fazer para que todo o Range copiado fique com os dados completos, mesmo que repetidos, preparando-os para serem exportados para uma tabela do MS Access por exemplo?


Assim que o Range estiver selecionado, aplique-lhe a seguinte série de códigos:

' Prepara os dados para serem enviados a uma tabela no MS Access.
Selection.SpecialCells(xlCellTypeBlanks).Select

Let Application.CutCopyMode = False
Let Selection.FormulaR1C1 = "=R[-1]C"

Tags: Bernardes, VBA, Office, Excel, Range, select, copy, Pivot Table, PT, Tabela Dinâmica, fill, data, lacuna, preenchendo

André Luiz Bernardes
A&A® - Work smart, not hard.



diHITT - Notícias