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

MS Excel – Deletando linhas - 05


Termo de Responsabilidade












Desenvolvi esta solução a partir de várias soluções que poderão consultar depois.

A solução abaixo checa as linhas abaixo da linha 11 (o que poderá customizar), deletando quando encontra a linha totalmente em branco, bem como quando a coluna "C" estiver vazia.

Sub PreparePlan_DelAllBlankRows()
' Author: Date: Contact:
' André Bernardes 23/01/2009 10:17 bernardess@gmail.com
Dim i As Long ' We use Long in case they have over 32.767 rows selected.
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
For i = 11 To ActiveSheet.UsedRange.Rows.Count
If Range("C" & i).Value = "" Then 'WorksheetFunction.CountA(Selection.Rows(i)) = 0 Then
Rows(i).Select
Selection.Delete Shift:=xlUp
End If
Next i
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
End Sub

Outro exemplo:


Sub DeleteBlankRows1()
'Deletes the entire row within the selection if the ENTIRE row contains no data.
'We use Long in case they have over 32,767 rows selected.
Dim i As Long
'We turn off calculation and screenupdating to speed up the macro.
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
'We work backwards because we are deleting rows.
For i = Selection.Rows.Count To 1 Step -1
If WorksheetFunction.CountA(Selection.Rows(i)) = 0 Then
Selection.Rows(i).EntireRow.Delete
End If
Next i
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
End Sub


Mais um exemplo:




Sub DeleteBlankRows2()
'Deletes the entire row within the selection if some of the cells WITHIN THE SELECTION contain no data.
On Error Resume Next
Selection.EntireRow.SpecialCells(xlBlanks).EntireRow.Delete
On Error GoTo 0
End Sub


Terceiro exemplo:




Sub DeleteBlankRows3()
'Deletes the entire row within the selection if the ENTIRE row contains no data.
Dim Rw As Range
If WorksheetFunction.CountA(Selection) = 0 Then
MsgBox "No data found", vbOKOnly, "OzGrid.com"
Exit Sub
End If
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
Selection.SpecialCells(xlCellTypeBlanks).Select
For Each Rw In Selection.Rows
If WorksheetFunction.CountA(Selection.EntireRow) = 0 Then
Selection.EntireRow.Delete
End If
Next Rw
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
End Sub


Quarto exemplo:




Sub MoveBlankRowsToBottom()
'Assumes the list has a heading
With Selection
.Sort Key1:=.Cells(2, 1), Order1:=xlAscending, _
Header:=xlYes, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End With
End Sub
Sub DeleteRowsBasedOnCriteria()
'Assumes the list has a heading.
With ActiveSheet
If .AutoFilterMode = False Then .Cells(1, 1).AutoFilter
.Range("A1").AutoFilter Field:=1, Criteria1:="Delete"
.Range("A1").CurrentRegion.Offset(1, 0).SpecialCells _
(xlCellTypeVisible).EntireRow.Delete
.AutoFilterMode = False
End With
End Sub


5º exemplo:




Sub DeleteRowsWithSpecifiedData()
'Looks in Column D and requires Column IV to be clean
Columns(4).EntireColumn.Insert
With Range("D1:D" & ActiveSheet.UsedRange.Rows.Count)
.FormulaR1C1 = "=IF(RC[1]="""","""",IF(RC[1]=""Not Needed"",NA()))"
.Value = .Value
On Error Resume Next
.SpecialCells(xlCellTypeConstants, xlErrors).EntireRow.Delete
End With
On Error GoTo 0
Columns(4).EntireColumn.Delete
End Sub



Tags: Excel, Column, Coluna, Delete, Linha, Plan, Planilhas, Report, Row,  rows,worksheet, lines



André Luiz Bernardes
A&A® - In Any Place.


MS Excel - Deletando linhas - 06


Termo de Responsabilidade


















Abaixo listo o sexto método que poderá utilizar para deletar linhas que estiverem selecionadas. Observe o primeiro tópico com comentários adicionais.


Sub DelRwWithSpecifiedData()
' Observando a coluna "D" Columns(4).EntireColumn.Insert With Range("D1:D" & ActiveSheet.UsedRange.Rows.Count) .FormulaR1C1 = "=IF(RC[1]="""","""",IF(RC[1]=""Not Needed"",NA()))" .Value = .Value On Error Resume Next .SpecialCells(xlCellTypeConstants, xlErrors).EntireRow.Delete End With On Error GoTo 0 Columns(4).EntireColumn.Delete
End Sub

Tags: Excel, Column, Coluna, Delete, Linha, Plan, Planilhas, Report, Row,  rows,worksheet, lines



André Luiz Bernardes
A&A® - In Any Place.


MS Excel - Formatando várias células








Existem diversos modos de formatarmos as células. Como sempre lhes disponibilizarei o mais simples para uso imediato.
Public Sub ApplyStyle()
' André Bernardes 15/01/2009 09:23 bernardess@gmail.com ' Aplica a formatação especialmente criada. 
Range("G11:R65000").Select Let Selection.NumberFormat = "##" Range("A1").Select
End Sub

Outro exemplo:
Estes exemplos definem o formato de número para a célula A17, a linha um e a coluna C (respectivamente) de Sheet1.


Visual Basic for Applications
Worksheets("Sheet1").Range("A17").NumberFormat = "General"
Worksheets("Sheet1").Rows(1).NumberFormat = "hh:mm:ss"
Worksheets("Sheet1").Columns("C"). _
NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"
Tags: VBA, Excel, cell, format

Inline image 1

MS Access - Como carregar uma imagem num formulário




| Blog Office VBA | Blog Excel | Blog Access |

Aqui encontra-se uma das técnicas para colocarmos imagens dentro de um formulário MS Access.

Com esta poderá ler imagens: .jpg, .gif, .bmp para um "Image control".  E a partir daí poderá navegar no seu formulário através dos registros e suas imagens serão lidas automaticamente de um local qualquer (rede, internet, pendrive, etc...).


Perceba que o tamanho da sua imagem influenciará quanto a velocidade de apresentação da mesma no formulário.

A vantagem desta técnica é a de que poderá ter centenas de imagens que não farão o banco de dados sentar. Por quê? Porque as imagens não estarão dentro do banco de dados, mas à parte em um local da rede, disco, etc...

Passos:


1. Adicione um "Image control" ao seu formulário.
   Informe ao prompt o local onde estão as imagens que deseja, bem o tipo a ser utilizado.


2. Configure as propriedades por remover esta que escolheu primeiro.


3. Coloque o código a seguir no evento "On_current event"

  • Private Sub Form_Current()
        Let nPath="\\IMAGESERVER\PhotosBernardes\01\"
        If Me![ID] <> 0 Then
            Let Me!Img.Picture = nPath & Me![ID] & ".jpg"
            Let LblImg.Caption = "Arquivo: " & nPath & Me![ID] & ".JPG"
        End If
    End Sub

O objeto Label simplesmente mostrará o caminho (path) da imagem, identificando algum problema caso ocorra.

Perceba que o nome da minha imagem é o mesmo código do meu campo ID. Desse modo quando o ID 956554 for mostrado no FORM, a imagem com o mesmo nome será lido com a extensão .JPG.

Claro, deixei alguns pequenos cuidados para que possam, vamos dizer...modernizar o código ok...Divirtam-se


Tags: VBA, Access, load, image, form, jpg, gif, bmp

MS ACCESS - Imagens nos formulários – Picture in Forms




Não é raro a necessidade de se acrescentar imagens aos formulários. Seja para anexar a capa do seu livro preferido, seja a capa do seu DVD preferido, a foto daqueles funcionários da pequena loja do seu bairro ou até mesmo a digital escaneada dos RGs do seus amigos...

Sempre nos defrontamos com as seguintes questões:
- Anexo a imagem ou o caminho (path) onde ela está?
- Meu formulário ficará lento quando mudar de um registro para o outro?
- Posso salvar imagens em um arquivo .MDB do Access?
- Posso gravar as imagens em outros bancos de dados?

Pois bem senhoras (É isso mesmo, muitas meninas são excelentes programadoras VBA, lembro-me de ter encontrado várias delas em meus cursos por aí) e senhores, qual é o caminho das pedras para desvendarmos mais este segredo?

Alguns cuidados são necessários:
- Padronize o tamanho máximo que aceitará para uma imagem.
  • Existem vários softwares que compactam imagens e podem ser usados juntos com sua aplicação
- Caso utilize um banco de dados diferente do .MDB (Oracle, SQL, Firebird, MY SQL, etc...), certifiquem-se que o mesmo suporte a gravação de imagens.
  • Sua maior preocupação deve ser a performance. Façam exaustivos testes de afinamento (fine tuning).
- Se decidir gravar as imagens em um path do servidor, ou da rede, etc... Tenha certeza que o mesmo terá espaço suficiente para comportar as imagens ali.

Continue acessando aqui, pois postarei diversas técnicas para deixar sua aplicação voando baixo, mostrando suas imagens, fotos, e até mesmo vídeos.

Té +
diHITT - Notícias