Ir para conteúdo
Fórum Script Brasil

João.Neto

Membros
  • Total de itens

    139
  • Registro em

  • Última visita

Tudo que João.Neto postou

  1. Duas perguntas que podem ajudá-lo: 1) Você realmente tem uma Worksheet (planilha) chamada "1", ou você está dizendo ao seu código para colar as informações na primeira Worksheet (planilha) que ele encontrar? Se for esta última, então retire as aspas duplas (") e deixe somente o número 1 mesmo. Set r = Worksheets(1).Range("A2").CurrentRegion 2) A Worksheet (planilha) está na mesma pasta de trabalho (arquivo .xls) onde está o formulário? Se não, então diga qual é a pasta de trabalho no código: Set r = Workbooks("arquivo_feliz.xls").Worksheets("1").Range("A2").CurrentRegion
  2. Segue o código para o botão que adicionará os itens em outro ListBox Private Sub btnAdicionar_Click() Dim j As Integer For j = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(j) Then If Not temItem(ListBox1.list(j), Me.ListBox2) Then adicionaItem ListBox1.list(j), Me.ListBox2 End If End If Next j End Sub Private Function temItem(ByVal textoItem As String, ByRef listControl As Object) As Boolean If Not TypeName(listControl) = "ListBox" Then Exit Function Dim intContador As Integer For intContador = 0 To listControl.ListCount - 1 If listControl.list(intContador) = textoItem Then temItem = True Exit Function End If Next intContador temItem = False End Function Private Sub adicionaItem(ByVal textoItem As String, ByRef listControl As Object) If Not TypeName(listControl) = "ListBox" Then Exit Sub listControl.AddItem textoItem End Sub
  3. Amigo, Você pode usar este código abaixo: Sub x() Dim ie As InternetExplorer Dim ULogin As Boolean, ieForm Dim out_94 As Integer, nov_94 As Integer out_94 = [A1] nov_94 = [A2] Set ie = New InternetExplorer ie.Visible = True ie.Navigate "http://www010.dataprev.gov.br/cws/contexto/conrmi/index.html" Do Until ie.document.all("principal").ReadyState = "complete" Loop ie.document.all("principal").contentwindow.document.all("DD_2010_5").innerText = out_94 ie.document.all("principal").contentwindow.document.all("DD_1994_11").innerText = nov_94 Set ie = Nothing End Sub Obs.: "principal" é o nome do frame onde estão os controles do formulário
  4. Posta todo o código, por favor, que agora cê falou grego para mim... rsrsrsrs :wacko:
  5. Se você quer filtrar uma lista com várias palavras tente usar o próprio recurso de Filtro Avançado do Excel. http://www.juliobattisti.com.br/excel120av...lo1/licao14.htm
  6. total = ThisWorkbook.Worksheets("Plan3").UsedRange.Rows.Count cmb_mat_situ.RowSource = ThisWorkbook.Worksheets("Plan3").Range("A2:A" & total).Rows
  7. Seguinte: Você vai ter uma planilha no seguinte formato: Coluna A Coluna B COD_CLIENTE NOME_CLIENTE 1 Fulano da Silva Santos 2 SteveWonder da Silva 3 Arnold Schaswneger Na coluna B, que são os nomes, você criará simples hiperlinks apontandos para a própria célula (apenas para dizer que é um hiperlink). Botão Direito na célula -> Hiperlink -> Colocar Neste Documento -> No campo Digite a Referência de Célula deixe a própria célula. Abra o fonte da planilha que você terá os hiperlinks, e vá no objeto correspondente à Planilha. Em Microsoft Excel Objetos, você verá EstaPasta_de_Trabalho, Plan 1, Plan 2, Plan 3 e etc. Clique na Plan 1 (supomos que os hiperlinks estejam nela) e na janela de eventos selecione o evento FollowHiperlinks. O código deverá ficar parecido com o abaixo: 'Target.Range.Offset(0, -1).Value = Vai pegar o valor da célula anterior à célula hiperlink clicada, no caso o código do cliente 'Crie um método para abertura da nota fiscal que recebe o código do cliente. Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) AbreNF (Target.Range.Offset(0, -1).Value) End Sub Tudo bem? Não se esqueça de nos confirmar se esta solução o ajudou, beleza?
  8. Sub CA() Dim i As Integer i = 2 While Cells(i,"I") <> "" If Cells(i,"I") = "não" Then Range("B" & i & ":" & "H" & i).Copy _ Worksheets("CRÉDITOS EM ABERTO").Range("A1048576").End(xlUp).Offset(1, 0) End If i = i +1 Wend End Sub
  9. Veja se a propriedade LinkedCell ou ControlSource dos TextBoxes estão apontando para alguma célula. Se sim, apague os dados da propriedade e deixe em branco.
  10. Que coisa caótica hein?! Bem, veja se o UserForm1 está no mesmo arquivo onde está a Macro1. Se sim, então faça a seguinte gambiarra: Crie um novo arquivo e copie tudo do antigo para o novo. Já tive um monte de problemas com o Excel que nunca consegui explicar logicamente. Às vezes, parece que baixa um encosto no arquivo e já era. Mas, na maior parte era só copiar tudo para um novo arquivo e resolvia.
  11. João.Neto

    Formatar data

    Tenta isso e nos confirme se funcionou: Workbooks("Allan.xls").Worksheets("plan15").Range("b2") = Format(TextBox1.Value, "dd/mmm")
  12. João.Neto

    Erro de objeto

    Tenta isso: Workbooks("Allan.xls").Worksheets("plan15").Range("b2") = TextBox1.Value E faz para as demais linhas também.
  13. João.Neto

    DBGrid no VBA

    Já tentou utilizar o ListView? No VBA Excel é possível.
  14. Bom, entendo que você já saiba criar um formulário com TextBox e CommandButton. Se sim, então para gravar na planilha você pode colocar este código num botão "Salvar", por exemplo: Workbooks("NomeDaPastaDeTrabalho.xls").Worksheets("NomeDaPlanilha").Range("A65536").End(xlUp).Offset(1,0) = UserForm1.TextBox1.Value Workbooks("NomeDaPastaDeTrabalho.xls").Worksheets("NomeDaPlanilha").Range("A65536").End(xlUp).Offset(0,1) = UserForm1.TextBox2.Value Workbooks("NomeDaPastaDeTrabalho.xls").Worksheets("NomeDaPlanilha").Range("A65536").End(xlUp).Offset(0,2) = UserForm1.TextBox3.Value
  15. João.Neto

    VBA x Excel

    Da maneira que te passei é possível fazer dessa forma também. Se o formulário está em um arquivo e onde você quer gravar está em outro arquivo: Workbooks("PastaDeTrabalho.xls").Worksheets("PlanilhaEscondida").Range("A1")=UserForm1.TextBox1.Value Workbooks("PastaDeTrabalho.xls").Worksheets("PlanilhaEscondida").Range("A2")=UserForm1.TextBox2.Value
  16. João.Neto

    VBA x Excel

    ThisWorkbook.Worksheets("PlanilhaEscondida").Range("A1")=UserForm1.TextBox1.Value ThisWorkbook.Worksheets("PlanilhaEscondida").Range("A2")=UserForm1.TextBox2.Value
  17. João.Neto

    VBA - Excell

    dim a as integer a = 2 'Estou começando da linha 2 do while cells(a,1) <> "" 'faça enquanto for diferente de branco 'executo meus códigos aqui loop
  18. opa!!! com certeza ... 200, 2 mil, 2 milhões de imagens, a gosto do freguês... rsrsrsrsrsrs...
  19. João.Neto

    Abrir Diretorio

    Existem coisas inexplicáveis mesmo no VBA Excel. Aconselho criar uma nova planilha e copiar e colar todo os códigos desta antiga.
  20. Crie um formulário com um controle ListBox e um Image e utilize como base o seguinte código: Private Sub ListBox1_Change() If Me.ListBox1.ListIndex >= 0 Then Me.Image1.Picture = LoadPicture(Me.ListBox1.Value) End If End Sub Private Sub UserForm_Initialize() 'Você vai precisar carregar numa matriz bidimensional os dados da imagem Dim arrLista(3, 1) As String arrLista(0, 0) = "C:\imagem1.bmp" arrLista(0, 1) = "Nome da Imagem1 a ser exibida" arrLista(1, 0) = "C:\imagem2.bmp" arrLista(1, 1) = "Nome da Imagem2 a ser exibida" arrLista(2, 0) = "C:\imagem3.bmp" arrLista(2, 1) = "Nome da Imagem3 a ser exibida" arrLista(3, 0) = "C:\imagem4.bmp" arrLista(3, 1) = "Nome da Imagem4 a ser exibida" Me.ListBox1.ColumnCount = 2 Me.ListBox1.ColumnWidths = "0;500" Me.ListBox1.BoundColumn = 1 Me.ListBox1.TextColumn = 2 Me.ListBox1.List = arrLista End Sub
  21. João.Neto

    Execução muuito lenta

    Isaa, Provavelmente sua planilha deve possuir fórmulas gigantescas , mas você pode adicionar algumas linhas de comando no começo da execução do seu código que vão quebrar um galho (dependendo derrubam uma árvore inteira!). Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Ah, esta aqui você adiciona no após todos os comandos: Application.Calculation=xlCalculationAutomatic
  22. Veja se resolve, mude apenas a parte destacada em negrito: . . . ActiveWorkbook.Worksheets.Add With ActiveSheet.QueryTables.Add(Connection:= _ "TEXT;" & Text.Value, _ Destination:=Range("A1")) .Name = "Table" . . .
  23. Amigo, Dá uma olhada nas APIs do Windows que acredito que a resposta para seu problema está nelas. http://www.macoratti.net/vb_api.htm Para adiantar, você vai usar as APIs: Esta você manda o comando para a janela: Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Esta você usará para localizar a janela para a qual você vai mandar os comandos: Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName as String , ByVal lpWindowName as String) As Long
  24. Olá, O recurso "Texto para Colunas" do Excel não resolve? Ele quebra os dados em colunas utilizando largura fixa ou delimitador (ponto-e-vírgula, dois pontos e etc...). Mas se você precisar de código mesmo, segue uma rotina que lê linha a linha o arquivo de texto e joga as informações uma em baixo da outra (como não temos um exemplo do arquivo .txt disponível, fica mais difícil ajudá-lo): Sub éNois() Dim fso As FileSystemObject Dim text As TextStream Dim aux As String Set fso = New FileSystemObject Set text = fso.OpenTextFile("C:\meuarquivo.txt", ForReading, False) While Not text.AtEndOfStream aux = text.ReadLine ThisWorkbook.Worksheets(1).Range("a65536").End(xlUp).Offset(1, 0) = aux 'aqui _ estou jogando as informações do arquivo de texto uma em baixo da outra Wend text.Close Set text = Nothing Set fso = Nothing End Sub Adicionar Referência à Biblioteca "Microsoft Scripting Runtime" (vá em Ferramentas -> Referências -> marque a opção "Microsoft Scripting Runtime" -> clique em OK).
  25. Raziel, Estes problemas eu geralmente consigo resolver mandando instruções em javascript para o site. Ex.: Digamos que "ie" seja minha variável para interagir com o Internet Explorer. ie.document.all.parentwindow.execscript("dosubmit('aaaa','aaaaaaa')") 'Aqui eu coloco minha instrução javascript.
×
×
  • Criar Novo...