Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
#58002
Estou desenvolvendo uma macro a partir do Corel Draw... Eu sei que aqui é fórum de Excel, mais está relacionado.

A ideia da macro é contar as colunas de uma certa área que eu tenha selecionado, e para cada coluna que tiver selecionado ele me adiciona um item na ListBox. E todas as linha da coluna (dentro da região selecionada) ele copia os valores e cola em um TextBox.

A primeira parte (para cada coluna na região selecionada, adiciona um novo item no ListBox) eu consegui fazer.
O problema está em copiar as as linhas da coluna e colar no Listbox.

Ao invés da ação só copiar a partir da área seleciona, somente a coluna (i), ele está começando a partir do A1.

Segue o código.
Código: Selecionar todos
Private Sub CommandButton3_Click()
 Dim Exl As excel.Application, Wg As Workbook, Pg As Worksheet, R As Range
 Dim Mf As Variant, lastColumn As Long, lastRow As Long, nLastCol As String, i As Long
 Dim ind As Integer
 
    Set Exl = GetObject(, "Excel.Application"): Exl.Visible = True
    Set Wg = Exl.ActiveWorkbook
    Set Pg = Wg.ActiveSheet:  Set R = Pg.Application.Selection

    'Cont as colunas
    lastColumn = R.columns.Count
    'Conta as linhas
    lastRow = R.Rows.Count
      
'Para cada coluna ele add listbox
For i = 1 To lastColumn

'Alterações do listbox
Me.ListBox1.AddItem i
Me.ListBox1.ListIndex = i
ind = orgLists.Count
Me.ListBox1.Column(1, ind) = "NÃO"

'''''''''Copia as linhas da coluna (i)
nLastCol = Split(R.Cells(, i).Address, "$")(1)
Mf = Pg.Range("A1:" & nLastCol & lastRow).Copy
Me.TextBox1.Paste

Next i

'Ultima modificação da ListBox
Me.ListBox1.RemoveItem "1"
Me.ListBox1.ListIndex = 0

End Sub
O TextBox só exibe as coisas que foram colado quando o item da ListBox estava ativado.

Desde já agradeço, se alguém conseguir me ajudar fico grato. :D

Anexei uma imagem para explicar melhor, oque eu não conseguir dizer.
Imagem
#58010
Boas veja se este código lhe ajuda.
Alguma dúvida é só chamar. :)
Código: Selecionar todos
'---------------------------------------------------------------------------------------
' Autor.....: Afonso Mira
' Contato...: am.afonsomira@gmail.com
' Data......: 18/08/2020
' Descricao.: Macro para carregar seleção em listbox
'---------------------------------------------------------------------------------------
Private Sub CommandButton3_Click()



Dim ws                                 As Worksheet
Dim rng                                As Range
Dim i                                  As Long
Dim j                                   As Long
Dim rw                                  As Long
Dim Myarray()                          As String

    'Nome da planilha
    Set ws = Sheets("Planilha1")

    Set rng = Application.Selection
    With Me.ListBox1
        .Clear
        .ColumnHeads = False
        .ColumnCount = rng.Columns.Count

        ReDim Myarray(rng.Rows.Count, rng.Columns.Count)

        rw = 0

        For i = 1 To rng.Rows.Count
            For j = 0 To rng.Columns.Count
                Myarray(rw, j) = rng.Cells(i, j + 1)
            Next
            rw = rw + 1
        Next

        .List = Myarray
        .ColumnWidths = "50;50;50;50;50"
        .TopIndex = 0
    End With
End Sub
ejotad agradeceu por isso
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord