Notifications
Clear all

Usar o iCounter a partir da Linha 2 , Coluna C

3 Posts
2 Usuários
0 Reactions
675 Visualizações
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

tenho o seguinte comando e queria ao inves de dar inicio na Celula " C1 ", o fizesse na Celula " C2 ", pois pretendo usar a Celula " C1 " para outro fim.

----------------------------------------------------------------------------------
     With OlMensagem
       For iCounter = 1 To WorksheetFunction.CountA(Columns(3))
       
       ' Sheets("Email").Select
               SDest = SDest & ";" & Cells(iCounter, 3).Value
       Next iCounter

a instrucao acima :                SDest = SDest & ";" & Cells(iCounter, 3).Value  , aciona a coluna C e copia 1 a 1 cada linha ate a ultima lina em C preenchida.começando em C1

Mas queria comecar em C2

(iCounter =1 , faz com que pule de linha em linha, entao onde esta a instrucao para comecar em C1, para assim eu por C2 ?
----------------------------------------------------------------------------------



sub Email()

    Dim OlApp As Outlook.Application
    Dim OlMensagem As Outlook.MailItem
    Dim iCounter    As Integer
    Dim Dest        As Variant
    Dim SDest       As String
    Dim Estado      As String
    Dim BuscaEstado As Range
    Dim AbrevEstado As String
    Dim Leitura     As String
    Dim contaEmail As String
    Dim idEmail As Integer
    Dim strbody As String
    Dim Loja        As String
    Loja = Range("A1")

strbody = "<H2>" & _
        Sheets("Mensagens").Range("L3").Value & _
        "</H2>" & _
        "<H3 style='color: #870c0c'>" & _
        Sheets("Mensagens").Range("L4").Value & _
        "</H3>" & _
        "<H4>" & _
        Sheets("Mensagens").Range("L5").Value & _
        "<br><br>" & _
        Sheets("Mensagens").Range("L6").Value & _
        "<br><br>" & _
        Sheets("Mensagens").Range("L7").Value & _
        "<br><br>" & _
        Sheets("Mensagens").Range("L8").Value & _
        "</H4>" & _
        "<br><br><B>Obrigado por ser nosso parceiro, conte comigo!!</B>" & _
        "<br><br>" & _
        "<B>Atenciosamente, André Luiz</B>"

    Leitura = Sheets(Loja).Range("I7")
    Estado = Application.Caller
    Application.ScreenUpdating = False
    Sheets(Estado).Visible = True

 Application.DisplayAlerts = False 'desabilite o alerta

    Sheets("MENSAGENS").Select
    Range("E6:H7").Select
    Selection.Copy
    Sheets(Loja).Select
    Range("F3").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("L2").Select



    Set BuscaEstado = ThisWorkbook.ActiveSheet.Range("A3:A8").Find(Estado, LookIn:=xlValues, LookAt:=xlWhole)
    
    If BuscaEstado Is Nothing Then
        MsgBox "Estado não localizado"
        GoTo Fim
    Else
    
        AbrevEstado = ThisWorkbook.Worksheets(Loja).Cells(BuscaEstado.Row, 1).Value
    End If
    
' Preste atencao aqui
      contaEmail = ThisWorkbook.Sheets(Loja).Range("I8").Value
    
    'Quero que aqui, ao inves de ter RJ tenha a variavel Estado que vai estar associado ao click na     regiao do mapa.
    ThisWorkbook.Worksheets(AbrevEstado).Select
   
    iCounter = 1 
   
    'Create the Outlook application and the empty email.
    Set OlApp = CreateObject("Outlook.Application")
Set OlMensagem = OlApp.CreateItem(0)

'------------------------------------------------------------------------------
   
   'Este laço verifica se o nome da conta w no registro do windows é igual ao valor da célula
    For w = 1 To OlApp.Session.Accounts.Count
        If OlApp.Session.Accounts.Item(w).DisplayName = contaEmail Then 'Se for verdadeiro, solicita confirmação
            If MsgBox("O E-mail será enviado usando a conta " & contaEmail & ". Confirma ?" & "    ( Estado - " & Estado & " )", vbQuestion + vbYesNo, "Envio de e-mail") = vbYes Then
                            
                idEmail = w 'Define o id da conta para o comando enviar
                Exit For 'Sai do laço
                
            Else
                 Sheets(Estado).Visible = False
                 Sheets(Loja).Select
                
                GoTo Fim 'Senão sai da rotina
            End If
        End If
    Next
'-------------------------------------------------------------------------------
'Using the email, add multiple recipients, using a list of addresses in column C.
     With OlMensagem
       For iCounter = 1 To WorksheetFunction.CountA(Columns(3))
       
       ' Sheets("Email").Select
               SDest = SDest & ";" & Cells(iCounter, 3).Value
       Next iCounter

' TO ........

'.........

..........  End Sub
 
Postado : 23/01/2016 9:47 am
(@mprudencio)
Posts: 2749
Famed Member
 

iconuter é uma variavel é so vc adequar onde ela deve iniciar a contagem.

Olhando rapidamente o codigo

Troque neste ponto

'Quero que aqui, ao inves de ter RJ tenha a variavel Estado que vai estar associado ao click na regiao do mapa.
ThisWorkbook.Worksheets(AbrevEstado).Select

iCounter = 1 ' troque aqui para 2

ficando assim

iCounter = 2

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 23/01/2016 10:20 am
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Beleza, tive que alterar o 1º iConter sozinho e o outro da outra linha para 2.

Perfeito e agradeço

Andre

 
Postado : 23/01/2016 1:33 pm