
Fernando.Igor
Membro Pleno-
Posts
30 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que Fernando.Igor postou
-
Classificar Lista (CustomOrder) - Excel vba macro
Fernando.Igor respondeu ao tópico de Fernando.Igor em Microsoft Office e similares
@DJunqueira , fiz esse ajuste, mas continua dando erro incompatível. Acho que não é isso, até porque a variável já estava sendo carregada com os nomes, mesmo sem o '.value'. De qualquer forma, obrigado! Abs! -
Olá. Gostaria de automatizar uma Classificação "customizada" e com uma ordem de classificação variável. Para isso, gravei uma macro: Sub Macro1() ActiveWorkbook.Worksheets("Plan1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Plan1").Sort.SortFields.Add Key:=Range("F6:F16"), _ SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:="Matrícula Pendente, Cadastro Incompleto", _ DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Plan1").Sort .SetRange Range("E5:I16") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub Para deixar a "ordem variável", declarei a variável "Ordem": Sub Macro1() Ordem = "" & Plan15.Range("c28") & "," & Plan15.Range("c29") & "" ActiveWorkbook.Worksheets("Plan1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Plan1").Sort.SortFields.Add Key:=Range("F6:F16"), _ SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:=Ordem, _ DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Plan1").Sort .SetRange Range("E5:I16") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub Porém a execução retorna um erro de execução (13 - Tipo incompatíveis). A "ordem está retornando "Matrícula Pendente, Cadastro Incompleto" (do jeito que foi gravado). Eu desconfio que seja algum problema com essas aspas - mas já tentei de tudo ( " " ", " ' ", " ", sem nada etc). Alguém poderia ajudar? Grato! Abs!
-
Ah tá... eu sempre me confundo com esses campos. Já arrumei aqui. Então... o "produto final" era quase isso! Mas com os códigos que você colocou consegui fazer aqui! Só me tire mais uma dúvida, por favor. No arquivo em anexo está o que eu quero (Formulário2). Fiz dois formulários (1 e 2) com dois jeitos diferentes para carregar as listas (quando você abrir vai entender mais ou menos o que eu queria). Esse no Formulário1, usando um if: Private Sub ComboBox3_Change() Sheets("Plan1").Range("i5").Value = Me.ComboBox3.Text Dim W As Worksheet Dim Lr As Long Dim rng As Range, c As Range ' limpa os dados e define a fonte do combobox If Me.ComboBox3.Text = "Fruta" Then With ComboBox2 .Clear .Font.Size = 10 End With Set W = Sheets("Plan1") With W Lr = .Cells(Rows.Count, 4).End(xlUp).Row Lr = IIf(Lr < 4, 4, Lr) Set rng = Range("d4:d" & Lr) For Each c In rng Me.ComboBox2.AddItem c.Value Next End With Else With ComboBox2 .Clear .Font.Size = 10 End With Set W = Sheets("Plan1") With W Lr = .Cells(Rows.Count, 5).End(xlUp).Row Lr = IIf(Lr < 5, 5, Lr) Set rng = Range("E4:E" & Lr) For Each c In rng Me.ComboBox2.AddItem c.Value Next End With End If End Sub E esse no Formulário2, usando uma fórmula índice no próprio excel: Private Sub ComboBox3_Change() Sheets("Plan1").Range("i5").Value = Me.ComboBox3.Text Dim W As Worksheet Dim Lr As Long Dim rng As Range, c As Range ' limpa os dados e define a fonte do combobox With ComboBox2 .Clear .Font.Size = 10 End With Set W = Sheets("Plan1") With W Lr = .Cells(Rows.Count, 13).End(xlUp).Row Lr = IIf(Lr < 13, 13, Lr) Set rng = Range("m4:m" & Lr) For Each c In rng Me.ComboBox2.AddItem c.Value Next End With End Sub Você teria uma terceira sugestão? Se fossem só "fruta" e "cor", a primeira atenderia facilmente. Mas se eu tiver mais itens fica inviável. O que você acha? E à propósito, você poderia me explicar só essa linha do código: Lr = .Cells(Rows.Count, 13).End(xlUp).Row Lr = IIf(Lr < 13, 13, Lr) Valeu @Basole , muito obrigado! Abs!!! Formulário de Cadastro_v2.xlsm
-
Pessoal, boa tarde. Alguém consegue automatizar o formulário do arquivo em anexo? O formulário está no vb. Queria aprender o código que preenche as listas e o código que vincula o preenchimento de volta ao excel (Plan1!G5:J5). No arquivo tem um exemplo do que eu gostaria (as listas). Abs! Formulário de Cadastro.xlsm
-
Salvar base de dados do excel no access
Fernando.Igor respondeu ao tópico de Fernando.Igor em Microsoft Office e similares
valeu, @DJunqueira . Comecei a assistir aqui... parece ser bom mesmo. Abs! -
Salvar base de dados do excel no access
Fernando.Igor respondeu ao tópico de Fernando.Igor em Microsoft Office e similares
É vdd, @Basole tinha reparado por alto somente. Vou dar uma olhada aqui. Mas esse sentido de "consulta" é mais tipo "resgatar a informação que está no access", "fazer o caminho inverso", né? Esse tipo de conhecimento também me interessa e vou dar uma pesquisada. Mas quando disse "executar uma consulta" estava me referindo àquelas Consultas que aparecem no painel à esquerda no access, embaixo das Tabelas. Pelo que eu entendi, aquilo são Consultas já pré-configuradas, certo? Que eu preencho com os critérios e campos desejado e executo. Pelo que eu entendi então é tipo uma rotina de filtrar uma base (ou excluir, add etc). Era executar essas Consultas que eu estava me referindo... queria saber se existe algum código simples que as execute. Não sei se eu estou viajando e no fundo são as mesmas coisas, mas tenho impressão que com essas Consultas configuradas eu não precisaria escrever os parâmetros no código. No entanto seria uma Consulta "fixa" e caso se quisesse mudar talvez daria a mesma coisa... Entendi... estava realmente pensando em deixar essa vinculação. O problema que é uma pasta compartilhada na nuvem, então acho que o vínculo vai dar problema, porque quando eu fizer, o path do arquivo vai ser [...]\Fernando\[...] e depois que outro usuário atualizar o path já vai ser outro e penso que pode dar problema por causa disso. Mas vou analisando aqui.. fazia muito tempo que não mexia com access (e quando mexia tb não fazia qse nada). É uma ferramenta muito completa, mas também muito complexa no início. Abs! -
Salvar base de dados do excel no access
Fernando.Igor respondeu ao tópico de Fernando.Igor em Microsoft Office e similares
Era um "Erro inesperado". Tinha um código, mas eu não anotei. Mas agora cedo rodou de boa. Deu super certo, era isso mesmo! Entendi. Rodei aqui com 10 mil linhas e demorou um pouco mais, mas ainda é um tempo aceitável. Estava com medo de ser minutos. Agora que eu terei a base no Access, você saberia me dizer como eu executo uma consulta. Estou pensando em deixar o critérios definidos, mas preciso executar sempre que a base for atualizada. Na verdade se fosse possível inclusive alterar os critérios por macro seria melhor ainda! Outra coisa, @Basole : Como alternativa para o problema inicial, eu vi que tem como deixar uma tabela no access vinculada a uma planilha de excel. Isso aparentemente resolveria meu problema tb, mas eu precisaria a partir do excel sempre atualizar essa tabela do access. Você sabe como eu poderia fazer isso? Quais dessas duas alternativas você acha melhor? Abs! -
Salvar base de dados do excel no access
Fernando.Igor respondeu ao tópico de Fernando.Igor em Microsoft Office e similares
@Basole , dei uma olhada aqui. A ideia é bem essa mesmo. O código deu um erro na hora de abrir a conexão (cn.Open strCon). Tentei alguns ajustes, mas nada. No entanto não tem problema. Posso solucionar isso depois. Fiquei interessado mesmo nada parte que insere os dados. Vi que os códigos são parecidos com o que eu mostrei na minha primeira pergunta. Mas o seu sempre adiciona em uma linha abaixo no access, né? E vi também que você usa um Loop. No arquivo exemplo que você mandou deve ser rápido. Mas se tiver umas 10 mil linhas você acha que vai demorar muito? valeu a ajuda... -
Salvar base de dados do excel no access
Fernando.Igor respondeu ao tópico de Fernando.Igor em Microsoft Office e similares
Legal! Esse executável era tipo pequenas janelas que se abriam só com formulário? Sem os painéis de ferramentas do access? beleza! Vou formatar depois um arquivo e ver se consigo ajuda... valeu! -
Salvar base de dados do excel no access
Fernando.Igor respondeu ao tópico de Fernando.Igor em Microsoft Office e similares
Muito interessante. Mas no caso de inserção direto no Access seria necessário que todos os usuários tivessem access, né? porque no caso que citei na primeira pergunta, mesmo usuários sem access conseguem conectar no arquivo e fazer a alteração. Aqui nem todos possuem access e eu nem sei se faz parte do pacote simples do office. E o arquivo também não ficará na rede, mas esse nem seria um problema nesse caso. Outra pergunta: No caso de um formulário do access, ele executa cálculos? Por exemplo, campo A com valores, outro campo B com valores e um campo C que seria a "soma do total"? Ou seria necessário inserir somente os valores e realizar o cálculo à parte? -
Salvar base de dados do excel no access
Fernando.Igor respondeu ao tópico de Fernando.Igor em Microsoft Office e similares
Entendi. Nunca tinha pensado nisso. Vou analisar a viabilidade dessa alteração. O problema que o arquivo (excel) em questão já é usado há um bom tempo para lançamento de informações. E, quando o arquivo é fechado, ele já salva a base em txt. O que queria alterar era isso, ao invés de salvar em txt, salvar em um arquivo do access. Mas de qualquer forma, obrigado pela dica. Será bastante útil em outras situações. Abs! -
Salvar base de dados do excel no access
Fernando.Igor respondeu ao tópico de Fernando.Igor em Microsoft Office e similares
Como assim, @DJunqueira ? Não entendi. Preciso que terceiros insiram dados em um excel e a partir de um start (acho que quando fechar o excel ou algum botão) os dados sejam salvos no access. Como fazer isso "a partir do access"? valeu pela atenção! -
Salvar base de dados do excel no access
Fernando.Igor postou um tópico em Microsoft Office e similares
Pessoal, boa tarde. Estou querendo saber como salvar uma base de dados (uma aba simples com X colunas e Y linhas) em um arquivo access com uma macro. A ideia é que a partir de um start qualquer, a macro pegue os dados no excel e "cole" no access. Um colega já me ajudou a fazer algo parecido, mas salvando apenas uma linha. O código é: '_________________________________________________ Call Conecta Set Rst = New ADODB.Recordset Rst.Open "Delete * FROM Chave", Conexao, adOpenKeyset, adLockOptimistic, adCmdText Rst.Open "SELECT * FROM Chave", Conexao, adOpenKeyset, adLockOptimistic, adCmdText With Rst .AddNew .Fields("Aberto/Fechado") = "1" .Fields("Usuário") = Plan9.Range("as5") .Fields("Horário de Abertura") = Plan9.Range("as7") .Fields("Versão") = Plan9.Range("av3") .Update '_________________________________________________ Mas agora queria fazer com uma quantidade maior de dados (mais linhas) de uma só vez. Ainda tem o detalhe que o número de linhas é variável e tende a aumentar. Além disso, o arquivo vai sempre "colar por cima" no access. Sou até mais ou menos com programação no excel, mas essa integração com o access estou começando agora. Alguém poderia ajudar? Desde já, agradeço! Abs!!! -
EXCEL Localizar posição de célula não vazia
Fernando.Igor respondeu ao tópico de Fernando.Igor em Microsoft Office e similares
Minoso, então... tinha pensado mesmo no "=se". Mas como disse, ia ficar gigante porque são mais de 15 colunas. E o problema nem é escrever a fórmula, mas é que fica difícil de alguém entender e fácil de dar problema depois. Mas de qualquer forma valeu. Osvadomp, valeu, cara! A fórmula é perfeita mesmo! Muito simples! Obrigado! Na verdade, acabei resolvendo depois adaptando um "proch". Atendeu à necessidade, mas esse "=corresp" é bem melhor mesmo! valeu gente! Abs! -
EXCEL Localizar posição de célula não vazia
Fernando.Igor postou um tópico em Microsoft Office e similares
Pessoal, bom dia! Estou com um pequeno problema! Gostaria de uma fórmula que me desse a posição de uma célula não vazia em determinada linha. Exemplo: Supondo as colunas A, B, C e D. Gostaria que uma fórmula na coluna E sempre me retornasse 1, se houver um "x" na coluna A; 2, se houvesse um "x" na B e assim por diante. Pensei em um "se". Mas ficaria gigante, porque são mais de 4 colunas na verdade. Se alguém souber de um jeito mais fácil e mais seguro! Segue Exemplo em anexo. A coluna "E" está preenchida manualmente com o valor que eu gostaria de ter, mas queria que fosse por fórmula. valeu... Abs! Exemplo.xlsx
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