Tabela de Dados no ExcelUma "Tabela de Dados" e um intervalo de celulas nas quais podemos alterar valores nas celulas e obter diferentes resultados para um problema.No video a seguir, podemos ver como fazer para utilizar uma funcao financeira e a partir dela, criar uma tabela que simule diferentes resultados obedecendo alguns criterios.Veja o video a seguir:Aproveite e inscreva-se em meu canal no Youtube para receber informacoes de novas aulas:Meu_Canal_no_YouTube: IVAIRFERRARIObrigado por estar aqui.Abraco a todos!Ivair FerrariExcelmax Solucoes Serie: ListView para Excel e VBA - Modificando Dados (2)Na postagem: Serie: ListView para Excel e VBA - Modificando Dados (1) foram abordados varios aspectos para a utilizacao de um objeto ListView.Esta postagem dara continuidade e sera composta pelas macros (codigos) com as opcoes: Incluir, Alterar, Excluir, Limpar e Sair.Macro: Inicialize (Initialize)Esta macro preenche o campo 'cdSexo', cria as colunas do objeto ListView e preenche o Objeto ListView com os dados contidos na base. Para atribuir a macro ao formulario 'CxCadstro', de dois cliques sobre o formulario (cxCadastro) e altere o evento sugerido para o evento 'Initialize'. Private Sub UserForm_Initialize() cdSexo.AddItem "M" cdSexo.AddItem "F" 'Adiciona as colunas With lsLista .Gridlines = True .View = lvwReport .FullRowSelect = True .HotTracking = True 'Bloqueia a primeira coluna da ListView .ColumnHeaders.Add Text:="ID", Width:=40 .ColumnHeaders.Add Text:="Nome", Width:=100 .ColumnHeaders.Add Text:="Sexo", Width:=30 .ColumnHeaders.Add Text:="Data Nasc.", Width:=70 .ColumnHeaders.Add Text:="Email", Width:=135 End With 'Adiciona os itens no ListView ultimaLinha = Plan1.Cells(Plan1.Cells.Rows.Count, "a").End(xlUp).Row lsLista.ListItems.Clear For x = 2 To ultimaLinha Set li = lsLista.ListItems.Add(Text:=Plan1.Cells(x, "a").Value) li.ListSubItems.Add Text:=Plan1.Cells(x, "b").Value li.ListSubItems.Add Text:=Plan1.Cells(x, "c").Value li.ListSubItems.Add Text:=Plan1.Cells(x, "d").Value li.ListSubItems.Add Text:=Plan1.Cells(x, "e").Value Next End SubMacro: ListView Item ClickEsta macro preenche os campos TextBox e ComboBox, ou seja, Ao clicar em um item na ListView, todos os objetos: ID, Nome, Sexo, Data Nascimento e E-mail sao preenchidos com suas respectivas informacoes. Para atribuir a macro ao formulario 'cxCadastro', de dois cliques sobre o formulario (cxCadastro) e altere o evento sugerido para o evento 'ItemClick'. Private Sub lsLista_ItemClick(ByVal Item As MSComctlLib.ListItem) cdID = lsLista.SelectedItem cdNome = lsLista.SelectedItem.ListSubItems.Item(1) cdSexo = lsLista.SelectedItem.ListSubItems.Item(2) cdDataNasc = lsLista.SelectedItem.ListSubItems.Item(3) cdEmail = lsLista.SelectedItem.ListSubItems.Item(4) End SubBotao: IncluirEste botao faz a inclusao de novos dados na base de dados. O 'ID' e inserido automaticamente nao permitindo a repeticao utilizando como base o 'ID' inserido para o item anterior (ultimo item inserido na base). Para atribuir a macro ao botao 'btIncluir', de dois cliques sobre o botao (btIncluir). Private Sub btIncluir_Click() ultimaLinha = Plan1.Cells(Plan1.Cells.Rows.Count, "a").End(xlUp).Row + 1 If ultimaLinha - 1 = "ID" Then Cells(ultimaLinha, 1) = Format(1, "00000") ID = Format(1, "00000") Else Cells(ultimaLinha, 1) = Format(Cells(ultimaLinha - 1, 1) + 1, "00000") ID = Format(Cells(ultimaLinha - 1, 1) + 1, "00000") End if Plan1.Cells(ultimaLinha, 2) = UCase(cdNome) Plan1.Cells(ultimaLinha, 3) = UCase(cdSexo) Plan1.Cells(ultimaLinha, 4) = CDate(cdDataNasc) Plan1.Cells(ultimaLinha, 5) = cdEmail i = lsLista.ListItems.Count + 1 Set li = lsLista.ListItems.Add(Text:=ID) li.ListSubItems.Add Text:=UCase(cdNome) li.ListSubItems.Add Text:=UCase(cdSexo) li.ListSubItems.Add Text:=CDate(cdDataNasc) li.ListSubItems.Add Text:=cdEmai End SubBotao: AlterarEste botao faz a alteracao de um item selecionado na base de dados. O 'ID' nao pode ser alterado. Para atribuir a macro ao botao 'btAlterar', de dois cliques sobre o botao (btAlterar). Private Sub btAlterar_Click() ultimaLinha = Plan1.Cells(Plan1.Cells.Rows.Count, "a").End(xlUp).Row