Ir ao conteúdo

Posts recomendados

Postado

@Midori sim, isso mesmo,  estou fazendo um db onde ele pode tanto inserir na tabela ao lado caso não tenha no banco quanto pegar no banco. (sim, errei ao fazer com tabela normal. Porém já tem tantas conexões que seria loucura refazer faltando só isso)
alguma dica ou link de como faço esse macro? sei muito pouco de VBA ou a programação de macro do excel.

Postado

@Swalls Veja se assim resolve. Cole no módulo da planilha e na função Tabela em ListObjects substitua para o nome sua tabela.

 

Private Linha As Long

Function Tabela() As ListObject
    Set Tabela = Me.ListObjects("Tabela")
End Function

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Tabela.DataBodyRange Is Nothing And Selection.Count = 1 Then
        If Linha > 0 And Target.Value = "" Then
            Application.EnableEvents = False
            Tabela.ListRows(Linha).Delete
            Application.EnableEvents = True
        End If
    End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Linha = 0
    If Tabela.Active And Selection.Count = 1 Then
        If Not Tabela.DataBodyRange Is Nothing Then
            If Not Application.Intersect(Target, _
                Tabela.DataBodyRange) Is Nothing Then
                    Linha = Target.Row - Tabela.ListRows(1).Range.Row + 1
            End If
        End If
    End If
End Sub

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...