Ir ao conteúdo
  • Cadastre-se

BiaMidori

Membro Júnior
  • Posts

    10
  • Cadastrado em

  • Última visita

  1. @Edson Luiz Branco Obrigada pela atenção. Em futuros post irei ter a atenção de colocar o código inteiro, realmente a informação acaba ficando incompleta. Segui sua sugestão com uma pequena alteração e deu certo, obrigada! Set tblFornecedor3 = Planilha2.Range("FORNECEDOR").Find(what:=e, lookat:=xlPart) If tblFornecedor3 Is Nothing Then .Locked = False ... ... Else .Locked = True MsgBox "Fornecedor já cadastrado", vbExclamation .Locked = False End If End If End With
  2. Olá pessoal, boa noite! Estou com um UserForm para realizar cadastro e antes de cadastrar eu gostaria que fosse verificado: 1) Se as textboxs estão preenchidas 2) Se o fornecedor está cadastrado Eu consigo verificar se as textbox estão preenchidas. Porém, quando acrescentar verificar se o fornecedor está cadastrado aparece o seguinte erro: Erro de tempo de execução '91': A variável do objeto ou a variável do bloco 'With' não foi definida A linha com erro indicada é If e = Planilha2.Cells(tblFornecedor3.Row, 4).Value Then Private Sub btn_addfornecedor_Click() Application.ScreenUpdating = False With btn_addfornecedor If box_addfornecedor.Value = vbNullString Or box_addcodigo.Value = vbNullString Then .Locked = True MsgBox "Campo não preenchido", vbExclamation .Locked = False Else .Locked = False Dim e As String e = cbox_addfornecedor.Value Dim tblFornecedor3 As Range 'achará posição da linha onde o nome esta na tabela principal Set tblFornecedor3 = Planilha2.Range("FORNECEDOR").Find(what:=e, lookat:=xlPart) If e = Planilha2.Cells(tblFornecedor3.Row, 4).Value Then .Locked = True MsgBox "Fornecedor já cadastrado", vbExclamation Else .Locked = False ...resto do código para salvar as informações
  3. @Edson Luiz Branco Eu criei um novo documento, diminui o número de variáveis, e adicionei a função Application.ScreenUpdating = False no início do código e Application.ScreenUpdating = True no final do código. Coloquei as variáveis também depois do With Planilha1. Não descobri exatamente a causa, e não sei exatamente qual foi a solução, mas agora está funcionado, rsrs. Obrigada!
  4. Olá, pessoal, bom dia! Construí um código que possibilita ao usuário adicionar e alterar itens de uma lista suspensa diretamente por um UserForms, sem precisar manipular a tabela. Os códigos funcionam, mas somente até certo momento. Depois começam a aparecer erros, as vezes meu arquivo de excel é inclusive fechado. Não estou entendo a causa. Inicialmente apareceu o erro: "Erro em tempo de execução '-2147417848 (80010108) 'O método 'Add' do objeto 'ListRows' falhou. Vi que uma das possíveis causas poderia ser a quantidade de variáveis utilizada e a definição para elas utilizadas. Tentei reduzi-las e, se usadas, defini-las corretamente. Com isso, testei novamente e novamente funcionou até um momento, depois tive erro. Esta é a linha que está dando problema Set NovaLinha = Tabela2.ListRows.Add Alguém saberia me dizer o que preciso fazer para corrigir? OBS: O usuário manipula o UserForm na Planilha1 e as informação são armazenada na Planilha2.Sistema 32 bts. ---------------------- Eis o código abaixo: Private Sub btn_adicionarcodigo_Click() Dim a As String a = combobox_nome.Value Dim oRange As Range Set oRange = Planilha2.Range("E:AE").Find(what:=a, lookat:=xlPart) If a = oRange.Value Then Dim Tabela2 As ListObject Dim NovaLinha As ListRow Set Tabela2 = Planilha2.ListObjects("T" & a) Set NovaLinha = Tabela2.ListRows.Add NovaLinha.Range(1, 1) = Me.box_codigo Me.box_codigo = "" End Sub
  5. @Midori Tentei colocar os comandos de With dentro do If do Intersect, mas não deu certo. Ainda assim, obrigada pela atenção e sugestão! @Edson Luiz Branco Muito obrigada pelas explicações! Entendi melhor o porquê do erro. Realizei as sugestões que você propôs e a que resolveu a situação foi: "(...) .Visible = False If Not ActiveCell.ListObject Is Nothing Then If Not Intersect(Target, (...)" Eu só tive um problema: o DatePicker ficava duplicado quando eu clicava em outras células da coluna 1. Mas conseguir resolver isso adicionando "Else .Visible = False" No final, a solução para este problema ficou a seguinte: Private Sub Worksheet_SelectionChange(ByVal Target As Range) With ActiveSheet.DTPicker21 .Height = 20 .Width = 20 .Visible = False If Not ActiveCell.ListObject Is Nothing Then If Not Intersect(Target, ActiveCell.ListObject.ListColumns(1).DataBodyRange) Is Nothing Then .Visible = True .Top = Target.Top .Left = Target.Offset(0, 1).Left .LinkedCell = Target.Address Else .Visible = False End If End If End With End Sub Muito obrigada pelo apoio, pessoal!
  6. Olá, pessoal, boa noite! Estou criando uma planilha com três tabelas. Para as três tabelas, na primeira coluna, meu desejo é que apareça um DatePicker para que eu possa selecionar a data rapidamente, sem ficar digitando. Eu consegui fazer isso, deu tudo certinho: tenho três tabelas e todas para a coluna 1 o DatePicker aparece quando clico na célula. Mas meu problema está sendo que quando eu seleciono uma célula fora de uma tabela. Aparece o seguinte erro: "Erro em tempo de execução '91': A variável do objeto ou a variável do bloco 'With' não foi definida". Estou utilizando o seguinte código: Private Sub Worksheet_SelectionChange(ByVal Target As Range) With ActiveSheet.DTPicker1 .Height = 20 .Width = 20 If Not Intersect(Target, ActiveCell.ListObject.ListColumns(1).DataBodyRange) Is Nothing Then .Visible = True .Top = Target.Top .Left = Target.Offset(0, 1).Left .LinkedCell = Target.Address Else .Visible = False End If End With Alguém saberia me dizer o porquê do erro e como resolver?
  7. Olá, pessoal, boa tarde! Eu estou criando um UserForm e criei um botão para inserir os dados na planilha. Mas quando eu clico no botão de "inserir" os dados não são adicionados... não acontece nada Esse é o código que eu estou utilizando: 'Inserir dados na planilha Dim Linha As Long With Planilha1 Linha = Range("E7").End(xlDown).Row + 1 Cells(Linha, 5) = box_usina.Value Cells(Linha, 6) = box_destaque.Value Cells(Linha, 7) = box_situacao.Value Cells(Linha, = box_semana.Value Cells(Linha, 9) = box_detalhes.Value Cells(Linha, 11) = box_datainicio.Value Cells(Linha, 12) = box_datafim.Value End With End Sub
  8. Olá, pessoal, boa noite Estou tentando reproduzir a seguinte macro, mas estou encontrando erro. A macro em questão é esta na imagem abaixo, retirada no vídeo https://www.youtube.com/watch?v=yFqJCCEsi_Y&t=1249s ,16min: Contudo, quando eu copio a macro, o seguinte erro aparece: Eu tentei resolver o problema não adicionando o & vbCrLf &_, contudo outro erro aparece: Alguém poderia me ajudar?? Estou já a dias tentando resolver o problema, mas não estou conseguindo... Abaixo o código: Sub CreateDynamicComment() Dim SelRow As Long Dim CommText As String With Plan1 SelRow = .Range("A4").Value CommText = .Range("D" & SelRow).Value & vbCrLf &_ "Type " & Range("E" & SelRow).Value & vbCrLf &_ "Phone: " & Range("F" & SelRow).Value .Range("E" & SelRow).ClearComments .Range("E" & SelRow).AddComment With .Range("E" & SelRow).Comment .Text Text:=CommText .Shape.Width = 200 .Shape.Height = 80 End With End With End Sub

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!