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. João.Neto

    Ajuda em tela de erro

    cara, verifica se você tem alguma planilha chamada "TR", senão então renomeie esta planilha. Set codigochapa = Workbooks(1).Sheets("TR").Range("A1:A300").Find(procurar, , , xlWhole)
  2. João.Neto

    Excel com VBA

    Muito provável que o Excel esteja salvando este dado no formato texto e sua fórmula depois não reconheça como data. Faça o seguinte: na instrução que salva este dado na planilha, utilize a função cDate() para converter para data. Ex.: Range("A5").Value = cDate(txtDataDeNascimento.Text) beleza?! :D
  3. João.Neto

    Excel

    Desabilitar o SalvarComo: Coloque esse cara no evento beforeSave da sua pasta de trabalho: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If SaveAsUI = True Then Cancel = True End Sub :ninja: e haiiiiaaaaaaa....
  4. Cara, já fiz o código que você precisa, é só adaptar conforme a estrutura abaixo: Código para carregar as comboboxes Private Sub UserForm_Initialize() Dim rngNome As Range, rng As Range Set rngNome = ThisWorkbook.Worksheets("Dados").Range("A1").CurrentRegion.Offset(1, 0).Resize( _ ThisWorkbook.Worksheets("Dados").Range("A1").CurrentRegion.Offset(1, 0).Rows.Count - 1, 1) For Each rng In rngNome.Rows listaNomes.AddItem rng.Cells(1, 1) Next End Sub Código para atualizar os campos conforme os que for selecionado na listbox: Private Sub listaNomes_Change() On Error GoTo nao_encontrado Dim intRegistro As Integer intRegistro = ThisWorkbook.Worksheets("Dados").Range("A:A"). _ Find(listaNomes.Value).Row Me.txtEndereco = ThisWorkbook.Worksheets("Dados").Cells(intRegistro, 2) Me.txtTelefone = ThisWorkbook.Worksheets("Dados").Cells(intRegistro, 3) Me.txtEmail = ThisWorkbook.Worksheets("Dados").Cells(intRegistro, 4) Exit Sub nao_encontrado: MsgBox "Registro não encontrado, verifique se o mesmo existe.", vbCritical _ + vbDefaultButton1, "Cadastro de Clientes" End Sub Obs.: crie uma planilha chamada Dados e nela coloque as informações como nome, end e etc..., dai para acrescentar é só utilizar o me."nome da txtbox" = ThisWorkbook.Worksheets("Dados").Cells(intRegistro, "número da coluna onde está o registro") beleza? :ninja:
  5. Demorou, mas o código chegou :D ... (em vermelho): Dim rngA As Variant Dim intCount As Integer intCount = 6 'coluna 6, ou seja, coluna F For i = 2 To 366 rngA = Cells(2, intCount).Address rngB = Cells(182, intCount).Address Application.Run "ATPVBAEN.XLAM!Regress", ActiveSheet.Range(rngA & ":" & rngB), _ ActiveSheet.Range("$C$2:$E$182"), False, False, , "", False, False, _ False, False, , False Range("B17:B20").Select Selection.Copy ActiveSheet.Next.Select ActiveSheet.Next.Select Range("B" & i).Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=True ActiveSheet.Previous.Select intCount = intCount + 1 Next ... espero que tenha ajudado... B)
  6. João.Neto

    Consultando com VBA

    Tenho uma sugestão: este userform no excel deve, ao invés de alimentar um banco de dados no excel, salvar os registros num banco de dados do access via ADO. Depois é só utilizar o ADO numa planilha que ele recupera todos os registros para ele, e o melhor, você pode até usar o SQL para criar critérios nesta recuperação, apenas trazendo os registros que você quer.
  7. João.Neto

    SendKeys "{DOWN}

    Adalto, boa noite, Não entendi claramente o que você precisa fazer, mas desenvolvi um código que sempre seleciona o Range da linha abaixo, mesmo com filtragem (entendo que você esteja falando do AutoFiltro ou Filtro Avançado). Sub SelecionaPrimeiraLinha() Range("A1").CurrentRegion.Offset(1, 0).Resize(1, Range("A1").CurrentRegion.Columns.Count).Select 'Estou supondo que você possua uma base para filtrar onde os nomes de campos estão na primeira linha, apartir da célula A1 End Sub :huh:
  8. Eu criei um código de exemplo, onde a macro verifica o valor que está escrito na célula A1 e com base neste valor executa uma determinada macro. Favor analisar se isto lhe ajuda: Sub GeraMacro() If Cells(1, 1) = "CONTR" Then Application.Run "MacroCONTR" 'o nome da macro vem entre aspas ElseIf Cells(1, 1) = "CALCUL" Then Application.Run "MacroCALCUL" 'o nome da macro vem entre aspas End If End Sub Sub MacroCONTR() ' ..... Executo aqui os comandos End Sub Sub MacroCALCUL() ' ..... Executo aqui os comandos End Sub , :closedeyes:
  9. Ok, tenho uma sugestão, espero que ajude. Uma forma de usar fórmula sem precisar colocar numa célula é através o WorksheetFunction, no caso da PROCV, seria assim: resultado = Application.WorksheetFunction.Vlookup(arg1, arg2, arg3, arg4) arg1=valor procurado arg2=matriz arg3=coluna a qual retornar arg4=0 se dados não estão organizados em alguma ordem: crescente ou decrescente; 1 para caso positivo. :unsure:
  10. Se na variável data você irá inserir uma Data então deverá declará-la como Date: Dim data As Date Se na variável ticker você realizará operações matemáticas, então deverá declará-la ou do tipo Integer (números inteiros), Double (números decimais), Long e etc... Dim ticker As Double
  11. João.Neto

    Macro Substituir #N/D

    A macro entende o erro N/D# como um erro realmente, você pode utilizar um loop e verificar se é erro - IsError() - e então substituir, exemplo: Sub retiraND() a = 1 Do While Cells(a, 1) <> "" If IsError(Cells(a, 2)) Then Cells(a, 2) = "" End If a = a + 1 Loop End Sub Tabela de Exemplo (cole apartir da célular A1): a a a a a #N/D a a a a a a a #N/D a #N/D a #N/D a #N/D a #N/D
  12. Desculpe, eu não havia entendido plenamente sua necessidade. Segue o código abaixo, favor analisar: Sub GeraArquivosTXT() Application.DisplayAlerts = False Dim wkbName As String For i = 1 To Range("D1").CurrentRegion.Rows.Count wkbName = Range("D" & i).Value Range("D" & i & ":AQ" & i).Copy Workbooks.Add Range("A1").Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=True Application.CutCopyMode = False ActiveWorkbook.SaveAs Filename:= _ "F:\Teste\" & wkbName & ".txt", FileFormat:=xlText, _ CreateBackup:=False ActiveWorkbook.Save ActiveWindow.Close Next End Sub :blush:
  13. João.Neto

    Apagar celula

    Você pode usar um MsgBox. Dim intQuestion as Integer intQuestion = MsgBox("Deseja realmente apagar o counteúdo selecionado?",VbYesNo) If intQuestion = VbYes Then 'VbYes é uma constante, que representa quando você clica no "Sim" da MsgBox .... Executa Ação de Limpar .... End If :closedeyes:
  14. Tente o código abaixo: Sub somadata() Dim data As Date Dim dia As Date Dim mes As Date Dim ano As Date Dim soma As Integer data = #4/20/2008# 'coloque aqui qualquer data, ou um input box, ou um text box dia = Day(data) mes = Month(data) ano = Year(data) soma = dia + mes + ano MsgBox soma 'no lugar do msgbox poder ser uma textbox ou qlquer coisa End Sub
×
×
  • Criar Novo...