Pesquisar na Comunidade
Mostrando resultados para as tags ''vba-excel''.
Encontrado 7 registros
-
Boa noite, estou iniciando no mundo do VBA no Excel e ainda não sei como realizar uma operação automática: A ideia é: assim que eu colar um conjunto de dados (cada dado com um conteúdo/nome padrão [001, 002... 009...] correspondente com a coluna A) da coluna hipotética X, eu quero que a célula exatamente à direita de cada dado respectivo copiado na coluna X vá pra uma posição exata na coluna B: Coluna A Coluna B Coluna X Direita de X 001. 002. Valor Z 002. Valor Z 004. Valor C 003. 009. Valor M 004. Valor C 005 ... 008 009. Valor M OBS: os nomes colados na coluna X sempre terão alguma correspondência com os nomes da coluna A (sempre serão códigos fixos) Alguém poderia me explicar como conseguir realizar esse processo? Muito obg!
-
Bom dia, estou tentando fazer uma function que pega como parâmetro duas datas e retorna os dias uteis desse período, entretanto não consigo entender o que estou fazendo de errado 'retorna os dias uteis Public Function DiasUteis(ByVal data_inicial As Date, ByVal data_final As Date) As Integer Ano_inicial = Year(data_inicial) Ano_final = Year(data_final) Aux = 0 Corridos = WorksheetFunction.NetworkDays(data_inicial, data_final) Feriados = 0 While Aux <= Ano_final If Aux = 0 Then Aux = Ano_inicial End If pascoa = WorksheetFunction.Floor(Day(Minute(Aux / 38) / 2 + 56) & "/5" & "/" & Aux, 7) - 34 pascoa = CDate(pascoa) Carnaval1 = CDate(pascoa - 48) Calnaval2 = CDate(canaval1 + 1) Paixao = CDate(pascoa - 2) Corpo = CDate(pascoa + 60) tiradentes = WorksheetFunction.Date(Aux, 4, 21) confraternizacao = WorksheetFunction.Date(Aux, 1, 1) Trabalho = WorksheetFunction.Date(Aux, 5, 1) Independencia = WorksheetFunction.Date(Aux, 9, 7) Senhora = WorksheetFunction.Date(Aux, 10, 12) Finados = WorksheetFunction.Date(Aux, 11, 2) proclamacao = WorksheetFunction.Date(Aux, 11, 15) Natal = WorksheetFunction.Date(Aux, 12, 25) If pascoa > data_inicial Then If pascoa < data_final Then Feriados = Feriados + 1 End If End If If pascoa > data_inicial Then If pascoa < data_final Then Feriados = Feriados + 1 End If End If If Carnaval1 > data_inicial Then If Carnaval1 < data_final Then Feriados = Feriados + 1 End If End If If Carnaval2 > data_inicial Then If Carnaval2 < data_final Then Feriados = Feriados + 1 End If End If If Paixao > data_inicial Then If Paixao < data_final Then Feriados = Feriados + 1 End If End If If Corpo > data_inicial Then If Corpo < data_final Then Feriados = Feriados + 1 End If End If If tiradentes > data_inicial Then If tiradentes < data_final Then Feriados = Feriados + 1 End If End If If confraternizacao > data_inicial Then If confraternizacao < data_final Then Feriados = Feriados + 1 End If End If If Trabalho > data_inicial Then If Trabalho < data_final Then Feriados = Feriados + 1 End If End If If Independencia > data_inicial Then If Independencia < data_final Then Feriados = Feriados + 1 End If End If If Senhora > data_inicial Then If Senhora < data_final Then Feriados = Feriados + 1 End If End If If Natal > data_inicial Then If Natal < data_final Then Feriados = Feriados + 1 End If End If If Finados > data_inicial Then If Finados < data_final Then Feriados = Feriados + 1 End If End If If proclamacao > data_inicial Then If proclamacao < data_final Then Feriados = Feriados + 1 End If End If Aux = Aux + 1 Wend Corridos = Corridos - Feriados DiasUteis = Corridos End Function
-
Boa tarde, Estou tentando fazer o download deste link "https://agentes.ons.org.br/download/operacao/hidrologia/arquivoMLTENAS_201709.pdf" Como a página é vazia e não tem desenvolvedor F12, eu tentei por SendKeys. Mas eu quando executo o código, a página abre e fecha mas não faz o download. Por que? E tem alguma outra forma de fazer este download? segue o código: Sub ENA_ONS() Dim ie As Object Set ie = CreateObject("InternetExplorer.Application") ie.Navigate "https://agentes.ons.org.br/download/operacao/hidrologia/arquivoMLTENAS_201709.pdf" ie.Visible = True Do Until (ie.readyState = 4 And Not ie.Busy) DoEvents Loop Application.SendKeys "%{S}" ie.Quit End Sub
-
Boa tarde, Estou tentando fazer o download deste link "https://agentes.ons.org.br/download/operacao/hidrologia/arquivoMLTENAS_201709.pdf" Como a página é vazia e não tem desenvolvedor F12, eu tentei por SendKeys. Mas eu quando executo o código, a página abre e fecha mas não faz o download. Por que? E tem alguma outra forma de fazer este download? segue o código: Sub ENA_ONS() Dim ie As Object Set ie = CreateObject("InternetExplorer.Application") ie.Navigate "https://agentes.ons.org.br/download/operacao/hidrologia/arquivoMLTENAS_201709.pdf" ie.Visible = True Do Until (ie.readyState = 4 And Not ie.Busy) DoEvents Loop Application.SendKeys "%{S}" ie.Quit End Sub
-
No rodapé deste site "http://sdro.ons.org.br/SDRO/DIARIO/index.htm" tem um ícone que faz o download de um arquivo .xls. Eu precisava clicar nele e salvar o arquivo, mas não sei como fazê-lo. Segue o código, adaptado de um outro fornecido pelo danieltakeshi, das duas formas que eu tentei fazer (a segunda marcada com *) nas duas a página abre e não acontece nada. Sub TesteBusca() Dim IE As Object Dim sWindows As Object Dim sJanelas As Object Dim sDados As String Dim doc As MSHTML.HTMLDocument Set IE = CreateObject("InternetExplorer.Application") IE.navigate "http://sdro.ons.org.br/SDRO/DIARIO/index.htm" IE.Visible = True EsperaIE IE, 2000 'Debug.Print IE.document.getElementsByTagName("frame")(1).contentDocument.getElementsByTagName("a").innerText i = 1 For Each link In IE.document.getElementsByTagName("frame")(1).contentDocument.getElementsByTagName("a") 'Debug.Print EXTRAIRELEMENTO(link.href, 8, "/") If EXTRAIRELEMENTO(link.href, 7, "/") = "DIARIO_18-03-2018.xlsx" Then i = i + 1 link.Click EsperaIE IE, 2000 If i = 2 Then Exit For End If Next link * i = 1 * For Each link In IE.document.getElementsByTagName("frame")(1).contentDocument.getElementsByTagName("a") * If link.getAttribute("scr") = "../img/exportxls.gif" Then * i = i + 1 * link.Click * EsperaIE IE, 2000 * If i = 2 Then Exit For * End If *Next link End Sub Public Sub EsperaIE(IE As Object, Optional time As Long = 250) 'Código de: https://stackoverflow.com/questions/33808000/run-time-error-91-object-variable-or-with-block-variable-not-set Dim i As Long Do Sleep time Debug.Print CStr(i) & vbTab & "Ready: " & CStr(IE.READYSTATE = 4) & _ vbCrLf & vbTab & "Busy: " & CStr(IE.Busy) i = i + 1 Loop Until IE.READYSTATE = 4 Or Not IE.Busy End Sub Function EXTRAIRELEMENTO(Txt As String, n, Separator As String) As String On Error GoTo ErrHandler: EXTRAIRELEMENTO = Split(Application.Trim(Mid(Txt, 1)), Separator)(n - 1) Exit Function ErrHandler: ' error handling code MsgBox "Erro, veriique os dados de entrada." EXTRAIRELEMENTO = CVErr(xlErrNA) On Error GoTo 0 End Function
-
No rodapé deste site "http://sdro.ons.org.br/SDRO/DIARIO/index.htm" tem um ícone que faz o download de um arquivo .xls. Eu precisava clicar nele e salvar o arquivo, mas não sei como fazê-lo. Segue o código, adaptado de um outro fornecido pelo danieltakeshi, das duas formas que eu tentei fazer (a segunda marcada com *) nas duas a página abre e não acontece nada. Sub TesteBusca() Dim IE As Object Dim sWindows As Object Dim sJanelas As Object Dim sDados As String Dim doc As MSHTML.HTMLDocument Set IE = CreateObject("InternetExplorer.Application") IE.navigate "http://sdro.ons.org.br/SDRO/DIARIO/index.htm" IE.Visible = True EsperaIE IE, 2000 'Debug.Print IE.document.getElementsByTagName("frame")(1).contentDocument.getElementsByTagName("a").innerText i = 1 For Each link In IE.document.getElementsByTagName("frame")(1).contentDocument.getElementsByTagName("a") 'Debug.Print EXTRAIRELEMENTO(link.href, 8, "/") If EXTRAIRELEMENTO(link.href, 7, "/") = "DIARIO_18-03-2018.xlsx" Then i = i + 1 link.Click EsperaIE IE, 2000 If i = 2 Then Exit For End If Next link * i = 1 * For Each link In IE.document.getElementsByTagName("frame")(1).contentDocument.getElementsByTagName("a") * If link.getAttribute("scr") = "../img/exportxls.gif" Then * i = i + 1 * link.Click * EsperaIE IE, 2000 * If i = 2 Then Exit For * End If *Next link End Sub Public Sub EsperaIE(IE As Object, Optional time As Long = 250) 'Código de: https://stackoverflow.com/questions/33808000/run-time-error-91-object-variable-or-with-block-variable-not-set Dim i As Long Do Sleep time Debug.Print CStr(i) & vbTab & "Ready: " & CStr(IE.READYSTATE = 4) & _ vbCrLf & vbTab & "Busy: " & CStr(IE.Busy) i = i + 1 Loop Until IE.READYSTATE = 4 Or Not IE.Busy End Sub Function EXTRAIRELEMENTO(Txt As String, n, Separator As String) As String On Error GoTo ErrHandler: EXTRAIRELEMENTO = Split(Application.Trim(Mid(Txt, 1)), Separator)(n - 1) Exit Function ErrHandler: ' error handling code MsgBox "Erro, veriique os dados de entrada." EXTRAIRELEMENTO = CVErr(xlErrNA) On Error GoTo 0 End Function
-
Olá, pessoal! Estou desenvolvendo um sisteminha vba excel com sqlite a título de aprendizagem e estou empacado no seguinte problema: Quando eu uso a query sql = "SELECT ALUNO, RA, RM, NASCIMENTO FROM turmas WHERE TIPO=4 and TERMO=" & txbRM.Text sql = sql & " ORDER BY turmas.ALUNO" rs.Open sql, cn dá o erro Erro em tempo de execução -2147467259(80004005): unreconized token: "3ºT"(1) obs: 3ºT é o que eu digitei na textbox. Será que alguém pode me dar uma ajuda. Como eu disse acima, estou aprendendo a mexer com vba excel. Grato.