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. Você tem de dizer à macro, à qual planilha o combobox pertence. Tipo assim: Private Sub Workbook_Open() Worksheets("Plan1").ComboBox1.AddItem "Olá," Worksheets("Plan1").ComboBox1.AddItem "Consegui, heeeeeee" Worksheets("Plan1").ComboBox1.AddItem "hurruuuuuu!!!" End Sub
  2. João.Neto

    SOMASE

    Ou você pode usar: Range("A10") = Application.WorksheetFunction.SumIf(arg1, arg2, arg3)
  3. João.Neto

    Ajuda

    O que você precisa é fazer conforme abaixo: Private Sub exibeConfigPag() Dim dlgAnswer As Variant dlgAnswer = Application.Dialogs(xlDialogPageSetup).Show End Sub
  4. "Necessito apagar as abas antigas do arquivo destino para ai sim incluir as novas." Você pode fazer assim: Dim w as Worksheet For each w in Workbooks("PlanilhaDestino.xls").Worksheets w.cells.clear Next w
  5. Tenta fazer desta forma: Sub setDataFormat() Dim s As String s = Format(ThisWorkbook.Worksheets(1).Range("D6"), "00-00-0000") ThisWorkbook.Worksheets(1).Range("A1") = CDate(s) End Sub
  6. Tenta esse código: workbooks.Open "caminho/meuarquivo.xls",Password:="minhasenha"
  7. Pra que sofrer? Usa um For Each: Sub selectChart() Dim c As ChartObject For Each c In ThisWorkbook.Worksheets(1).ChartObjects c.Select With Selection.Border .Weight = xlHairline .LineStyle = xlNone End With Selection.Shadow = False Selection.Fill.OneColorGradient Style:=msoGradientHorizontal, Variant:=1, _ Degree:=0.231372549019608 With Selection .Fill.Visible = True .Fill.ForeColor.SchemeColor = 42 End With Next c End Sub
  8. João.Neto

    lista detalhada

    Se você está querendo navegar entre os diretórios do windows para abrir ou salvar um arquivo, você pode utilizar as funções abaixo que abrem a janela do "Abrir" e "Salvar Como" e te retornar o endereço: b = Application.GetOpenFilename ou b = Application.GetSaveAsFilename
  9. João.Neto

    VBA ACCESS

    A tabela é num arquivo do Access (ou outro banco de dados) ou no próprio excel?
  10. João.Neto

    Erro Cruel

    Usa este código: Dim lista() As String Private Sub UserForm_initialize() Dim rng As Range, r As Range Set rng = ThisWorkbook.Worksheets("Plan1").Range("A2").CurrentRegion.Offset(1, 0) _ .Resize(ThisWorkbook.Worksheets("Plan1").Range("A2").CurrentRegion.Offset(1, 0).Rows.Count, _ ThisWorkbook.Worksheets("Plan1").Range("A2").CurrentRegion.Offset(1, 0).Columns.Count) ReDim lista(0) For Each r In rng.Rows If verificaItem(r.Value) = False Then ListBox1.AddItem r.Value End If Next r End Sub Public Function verificaItem(item As String) As Boolean Dim i As Integer For i = LBound(lista) To UBound(lista) If lista(i) = item Then verificaItem = True Exit Function End If Next i ReDim Preserve lista(UBound(lista, 1) + 1) lista(UBound(lista)) = item End Function
  11. Eu usaria um For Each: Private Sub cmdproc_Click() Dim CAMINHO_ARQUIVO As String Dim w As Workbook For Each w In Workbooks If w.Name = "Planilha2.xls" Then Workbooks("Planilha2.xls").Worksheets("Plan1").Range("A1:B5").Copy _ Workbooks("Planilha1.xls").Worksheets("Plan1").Range("A1") Exit Sub End If Next w Application.ScreenUpdating = False ' o usuário informa onde está a planilha2 CAMINHO_ARQUIVO = Application.GetOpenFilename Workbooks.Open Filename:=CAMINHO_ARQUIVO, UpdateLinks:=2, Notify:=False, ReadOnly:=False Workbooks("Planilha2.xls").Worksheets("Plan1").Range("A1:B5").Copy _ Workbooks("Planilha1.xls").Worksheets("Plan1").Range("A1") Workbooks("Planilha2.xls").Close SaveChanges:=False End Sub
  12. Viiixxeee, outra mancada... acho q vou pedir as contas... rs... Erro ... intLinha = ThisWorkbook.Worksheets("Plan1").Range("A65536").End(xlUp).Offset(1, 0).Row Solucao... intLinha = ThisWorkbook.Worksheets(ComboBox1.Value).Range("A65536").End(xlUp).Offset(1, 0).Row Que coisa... :(
  13. Voce pode usar o codigo abaixo, Private Sub cmdproc_Click() Dim CAMINHO_ARQUIVO, As String Application.ScreenUpdating = False ‘ o usuário informa onde está a planilha2 CAMINHO_ARQUIVO = Application.GetOpenFilename Workbooks.Open Filename:=CAMINHO_ARQUIVO, UpdateLinks:=2, Notify:=False, ReadOnly:=False Workbooks("Planilha2.xls").Worksheets("Plan1").Range("A1:B5").Copy _ Workbooks("Planilha1.xls").Worksheets("Plan1").Range("A1") Workbooks("Planilha2.xls").Close SaveChanges:=False End Sub :ninja:
  14. Um dos melhores truques é armazenar na planilha ou no banco de dados o caminho da figura, e então carregar o Image através deste endereço. Por exemplo, você pode criar uma pasta padrão para as figuras que fique no mesmo diretório que a planilha. E então, referenciar a esta pasta desta forma: Image1.Picture = LoadPicture(ThisWorkbook.Path & "\images\Img00002_.jpg") O nome da figura poderia ser o nome da célula onde está o caminho referenciado, uma variável que guarde o endereço ou qualquer outra coisa que indique o caminho da figura, seu nome e sua extensão (.gif, .jpg e etc...). Acho que já te dei o caminho das pedras, boa sorte!!! B) Só para complementar o que informei, se você armazenar o nome da figura junto de seu caminho completo então você não precisa utilizar a propriedade ThisWorkbook.Path . Mas, se você utilizar um diretório padrão - o mesmo em que a planilha se encontra -, armazene apenas o nome da figura e carrega-a no Image como informei acima. Abs... :D
  15. Robert se você quer deletar os dados DO LISTBOX você pode utilizar os comandos abaixo: ListBox1.RemoveItem 0 'Deleta o Item determinado ListBox1.Clear 'Deleta todos os Itens Agora, se você quer deletar os dados DA PLANILHA, sugiro que você crie um campo que defina o registro na planilha como único (uma espécie de chave primária) e quando o usuário clicar em "apagar", o código utiliza o método Find para retornar a linha em que o registro está, e sabendo a linha você utiliza o método Clear para limpar os dados da planilha ou Row(Linha).Delete para excluir toda a linha. Qualquer dúvida, grite... :ninja:
  16. Não, é que eu me empolguei a acabei colocando um "s" onde não deveria ter: For Each w in ThisWorkbooks.Worksheets O certo é o fonte abaixo: Private Sub CommandButton1_Click() Dim intLinha As Integer intLinha = ThisWorkbook.Worksheets("Plan1").Range("A65536").End(xlUp).Offset(1, 0).Row ThisWorkbook.Worksheets(ComboBox1.Value).Cells(intLinha, 1) = TextBox1 ThisWorkbook.Worksheets(ComboBox1.Value).Cells(intLinha, 2) = TextBox2 ThisWorkbook.Worksheets(ComboBox1.Value).Cells(intLinha, 3) = TextBox3 ThisWorkbook.Worksheets(ComboBox1.Value).Cells(intLinha, 4) = TextBox4 ThisWorkbook.Worksheets(ComboBox1.Value).Cells(intLinha, 5) = TextBox5 ThisWorkbook.Worksheets(ComboBox1.Value).Cells(intLinha, 6) = TextBox6 ThisWorkbook.Worksheets(ComboBox1.Value).Cells(intLinha, 7) = TextBox7 End Sub Private Sub UserForm_Initialize() Dim w As Worksheet For Each w In ThisWorkbook.Worksheets ComboBox1.AddItem w.Name Next End Sub Agora, o negócio "fonuncia" desta vez... :lol:
  17. Paulo, no próprio comando printOut você especifica qual impressora utilizar. Assim: ActiveWindow.SelectedSheets.PrintOut ActivePrinter:="HP DeskJet 640C/642C/648C" abs... :ninja:
  18. Renato, todas as datas em vb deve vir juntas com o símbolo #. Ex.: data1 = #12/15/2008# (o padrão é mm/dd/aaaa, mas você pode digitar no padrão dd/mm/aaaa que o vb arruma sozinho). Agora, para saber a diferença entre as datas, você pode utilizar a função DateDiff: Sub MostraDiferencaEntreDatas() Dim data1 As Date, data2 As Date, diferenca As Integer data1 = #1/20/2008# data2 = #3/20/2008# diferenca = DateDiff("d", data1, data2) MsgBox "A diferença em dias é: " & diferenca End Sub O DateDiff mostra a diferença em intervalos anuais, semanais e etc... Utilize o ajuda e você conseguirá as expressões para retornar o intervalo. abs... B)
  19. Usa este código: Sub RetornaEnderecoDoArquivoNaVariavel() Dim CAMINHO_ARQUIVO As String CAMINHO_ARQUIVO = Application.GetOpenFilename End Sub :ninja:
  20. João.Neto

    Limpar celulas

    Usa este código: Sub ApagaCelulaAbaixoDaSelecionada() Dim celulaAtual As String celulaAtual = ActiveCell.Address(RowAbsolute:=False, _ ColumnAbsolute:=False, ReferenceStyle:=xlA1) Range(celulaAtual & ":H72").ClearContents End Sub :ninja:
  21. Michelle, você pode usar o código abaixo como exemplo: Private Sub CommandButton1_Click() Dim intLinha As Integer intLinha = ThisWorkbook.Worksheets("Plan1").Range("A65536").End(xlUp).Offset(1, 0).Row ThisWorkbook.Worksheets("Plan1").Cells(intLinha, 1) = TextBox1 ThisWorkbook.Worksheets("Plan1").Cells(intLinha, 2) = TextBox2 ThisWorkbook.Worksheets("Plan1").Cells(intLinha, 3) = TextBox3 ThisWorkbook.Worksheets("Plan1").Cells(intLinha, 4) = TextBox4 ThisWorkbook.Worksheets("Plan1").Cells(intLinha, 5) = TextBox5 ThisWorkbook.Worksheets("Plan1").Cells(intLinha, 6) = TextBox6 ThisWorkbook.Worksheets("Plan1").Cells(intLinha, 7) = TextBox7 End Sub beleza?! :ninja:
  22. Usa o código abaixo como exemplo: Private Sub VerificaSheetAtiva() If ActiveSheet.Name = "Plan1" Then MsgBox "Plan 1 Ativa!" End If End Sub :ninja:
  23. Eu consegui resolver este problema baixando uma dll chamada Redemption...
  24. Que tal em uma coluna ao lado você concatenar (juntar) o nome e o sobrenome, daí utiliar a função Find (se não souber, grave a macro do Localizar) utilizando no argumento "What" o nome e o sobrenome concatenados que você está procurando? :ninja:
  25. João.Neto

    FUNCAO RANGE()

    Cara, na verdade isso daí é uma célula nomeada (lembra-se do Inserir -> Nome -> Definir -> Adicionar ?). Então, o que você tem de fazer é: nomear uma célula que mostre de alguma forma o número da linha do registro atual (que tal um CONT.SE()?). beleza?! :ninja:
×
×
  • Criar Novo...