A dica de hoje mostra uma maneira simples de contar, via VBA, a quantidade de linhas preenchidas de uma planilha. Utilizamos a propriedade End do objeto Range, que retorna a celula de um dos extremos do um intervalo.O trecho de codigo abaixo atribui a variavel Ultima_linha o numero da ultima linha preenchida da coluna A na planilha Plan1.Ultima_linha = ThisWorkbook.Worksheets("Plan1").Range("A1048576").End(xlUp).RowA ideia e simples: o comando faz o equivalente a selecionar a ultima linha da planilha (linha de numero 1048576 no Excel versoes 2007 e 2010) e pressionar CTRL + SETA PARA CIMA. A celula selecionada e a que esta na ultima linha da coluna A. Utilizamos entao a funcao Row que retorna o numero da linha. De maneira analoga podemos obter os extremos inferior, esquerdo e direito, alterando o parametro xlUp da funcao End pelos parametros xlDown, xlToLeft e xlToRight respectivamente.Abracos,Lucas Rodrigues Na ultima postagem exibimos um codigo para fazer o produto cartesiano entre tabelas no SPSS em versoes anteriores a 23. Na versao 23 foi introduzido a funcionalidade "Cartesian Product of Two Sets of Variables" que facilita esse trabalho. Vamos mostrar aqui como executar entao o produto cartesiano entre as duas tabelas utilizando esse novo recurso.Como exemplo utilizaremos as mesmas tabelas do post anterior: a tabela de clientes (contendo 10 clientes) e a tabela de lojas (com 5 lojas). Cada tabela possui as coordenadas geograficas (latitude e longitude) e queremos calcular a distancia entre os clientes e as lojas para uma campanha de CRM. As tabelas serao criadas via codigo.O comando que faz o que queremos e o STATS CARTPROD. O comando possui a seguinte estrutura:STATS CARTPROD VAR1 = variavel1 INPUT2 = nome_dataset VAR2 = variavel2 /SAVE OUTFILE = arquivoOnde:O parametro VAR1 recebe o nome da variavel (ou lista de variaveis, separada por espacos) do dataset ativo que queremos utilizar para o produto cartesiano.O parametro INPUT2 recebe o nome do dataset onde estao o outro conjunto de variaveis que serao utilizadas para o produto cartesiano. Se esse comando estiver ausente o SPSS assume que todas as variaveis estao no mesmo dataset.VAR2 recebe o nome da segunda variavel (ou lista de variaveis) para o produto cartesiano. Se INPUT2 estiver presente o SPSS assume que as variaveis estao no dataset indicado.Finalmente o comando SAVE OUTFILE indica o nome do arquivo SAV que sera gerado com o resultado do produto cartesiano. O arquivo gerado e aberto automaticamente pelo comando.Notei que ao utilizar esse comando utilizando um segundo dataset (ou seja, utilizando o parametro INPUT2 do comando) o nome das variaveis utilizadas no produto cartesiano devem estar em letras minusculas ou senao o comando nao consegue encontrar a variavel. Acredito que, como o comando STATS CARTPROD e uma extensao Python para o SPSS e a linguagem Python e case-sensitive ha algum problema no codigo fonte do comando que gera esse problema. Por esse motivo troquei o nome das variaveis dos arquivos para letras minusculas. Outras funcionalidades da janela de dialogo do comando parecem nao funcionar tambem (como alterar o nome do dataset gerado).Segue abaixo o codigo comentado executando o produto cartesiano entre as tabelas.* Criamos