PplWare Mobile

Dicas de VBA – Ciclos

                                    
                                

Este artigo tem mais de um ano


Autor: Paulo Silva


  1. ACampos says:

    Gostaria de poder complementar este excelente artigo com a informação de que existe outro metodo que eu gosto bastante chamado “UsedRange” que devolve o range ocupado por dados de uma folha (atenção que inclui celulas vazias que já tiveram dados e agora não, ou seja já foram “used”)

    Criei esta pequena função para me ajudar quando preciso de saber o tamanho dos dados de uma folha antes de efectuar um ciclo sobre os dados…

    Function getLastRow(ByRef ws As Worksheet) As Long
    getLastRow = ws.UsedRange(ws.UsedRange.Cells.Count).Row
    End Function

  2. Mais um excelente artigo do guru da Microsoft Jorge Paulino.

  3. Marc Jupiter says:

    Bem, eu cá acho que o VBA já era. O que está a dar é C#.

    • ACampos says:

      Deves estar a confundir VBA (Visual Basic for Aplications) com o Visual Basic (do Visual Studio .NET) mais conhecido para programar aplicações “stand-alone”…

      O VBA executa dentro do Access, Excel, Word (e acho que outros), coisa que não podes fazer com C# (penso eu, corrigam-me se estiver enganado)

      Se quiseres comparar o C# com outra linguagem compara-o por exemplo com algo do seu nível, por exemplo Java.

      • É verdade ACampos, C# não executa dentro do Access, Excel, Word, Outlook nem de muitas outras aplicações que permitem usar VBA como AutoCad, Primavera, MathCad, Zenon, RSView, etc, etc.

        C# pode sim ser comparado com VB.NET, Java, etc.

  4. Freddiieee Faria says:

    Boa tarde. Eu estou a fazer um projecto VB neste momento, em que consiste no jogo do 24. Tudo tem corrido bem, até a este momento. Então, estou a fazer uma coisa de cada vez, a começar pelas contas de mais, só que da maneira que estou a tentar fazer, não me deixa repetir os IFs que estou a utilizar. Alguém me pode dar uma mãozinha pelo skype, msn ou outro? Sou novo ainda no Visual Basic. Cumprimentos pessoal! 🙂

  5. André Sousa says:

    Ja andava a espera de um artigo assim faz algum tempo, é favor continuar com a rubrica VBA.

    Uma opinião. É que tal fazer o Artigo de modo a que se possa imprimir ou guardar como “Manual VBA”? Era optimo.

    Abraço

  6. Ricardo says:

    Fantástico, fantástico era fazeres um artigo paralelo para LibreOffice…

    Abraço!

  7. azm_2013 says:

    Bom dia,

    Necessito de uma ajuda para este código em VBA..
    Tenho este código que está a funcionar como pretendido, mas quero que seja executado apenas quando as celulas da coluna “x” estiverem vazias..
    Precisava de uma ajuda o mais rapido possível..

    Sub While_LoopIS()

    Application.ScreenUpdating = False

    Dim i, j As Integer
    Dim var1, var2 As String
    Dim a, B As String
    Dim cells1, cells2, cells3, cells4 As String

    i = 4

    Sheets(“LOP TI Tarefas IS”).Select

    Do
    cells1 = “A” & i
    cells2 = “B” & i

    Sheets(“LOP TI Tarefas IS”).Select
    ActiveSheet.Cells(i, 1).Select
    var1 = ActiveCell.Value
    ActiveSheet.Cells(i, 2).Select
    var2 = ActiveCell.Value

    Sheets(“LOP TI Tempos IS”).Select
    ActiveSheet.Cells(i, 1).Value = var1
    ActiveSheet.Cells(i, 2).Value = var2

    ActiveSheet.Cells(i, 5).Value = “T”

    i = i + 1

    Sheets(“LOP TI Tempos IS”).Select

    Loop While (Range(cells1) vbNullString)

    j = i – 1
    i = 4

    Sheets(“LOP TI Projectos IS”).Select

    Do
    cells1 = “A” & j
    cells2 = “B” & j

    Sheets(“LOP TI Projectos IS”).Select
    ActiveSheet.Cells(i, 1).Select
    var1 = ActiveCell.Value
    ActiveSheet.Cells(i, 2).Select
    var2 = ActiveCell.Value

    Sheets(“LOP TI Tempos IS”).Select
    ActiveSheet.Cells(j, 1).Value = var1
    ActiveSheet.Cells(j, 2).Value = var2

    ActiveSheet.Cells(j, 5).Value = “P”

    i = i + 1
    j = j + 1

    Sheets(“LOP TI Tempos IS”).Select

    Loop While (Range(cells1) vbNullString)

    Application.ScreenUpdating = True

    End Sub

Deixe um comentário

O seu endereço de email não será publicado.

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. A administração deste site reserva-se, desde já, no direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos.