
DANYY
Membros-
Total de itens
67 -
Registro em
-
Última visita
Tudo que DANYY postou
-
Boa tarde Pessoal, estou com o seguinte problema: Baixei no site da Receita Federal do Brasil uma planilha onde contém macros, essa planilha foi criada pelo Excel 2003, sua extensão é .xls, eu utilizo aqui no escritório a versão do Office 2007. Ao abrir essa planilha no Excel 2007 e pedir pra executar a macro ocorre o erro Subscrito fora do Intervalo, e a macro não é executada. Ao fazer o mesmo processo utilizando o Excel 2003 a macro é executada sem problemas. alguém pode me ajudar? Desde já agradeço!
-
Pessoal consegui fazer assim: Dim val As String Dim i, tam As Integer i = 5 val = Range("H6").Value tam = Len(val) While i < tam a = Mid(val, i, 5) If IsNumeric(a) Then Columns("I:I").Select Selection.Insert Shift:=xlToRight Range("I6").Value = Range("I6").Value & a i = i + 1 Else i = i + 1 End If Wend Dessa forma esta lendo a coluna H onde tem os caracteres alfanumericos e ai ele copia para a coluna I somente os caracteres numericos e a partir dai depois eu vou pedir pra classificar pela coluna I, até ai belezinha...Agora o problema esta sendo que quero que esse procedimento seja executado em todas as células da coluna H que é alfanumerica tentei alterar a linha onde esta o Range colocando Range("H6:H22").value, mais ai da erro... Como eu faço pra que esse procedimento seja executado em todas as celulas da coluna H que tiver o conteudo alfanumérico. Desde já Agradeço!
-
Bom dia, como devo proceder para localizar numeros iguais numa coluna, sendo que esses numeros iguais não estao sozinhos na célula. Por exemplo, preciso localizar numeros iguais de Notas Fiscais dentro da coluna H, só que na célula esta assim: "S/NF nº 0001", e ai tinha que ler somente o numero para localizar as notas iguais e ignorar os outros itens que estao na célula. Desde já agradeço!
-
brigadu deu certinhoo!!!
-
Boa tarde a todos! Pessoal, to com a seguinte duvida, estou exportando as informacoes de uma planilha do excel e salvando em um arquivo texto, até ai belezinha.. A célula que estou extraindo a informacao para o txt é uma soma, e ai quando o valor dessa soma é negativo ao gravar no txt esta trazendo o sinal negativo..e não queira que viesse o sinal, só o valor mesmo sem o sinal...Não sei como fazer parar gravar no txt esse valor sem o sinal...alguém pode me ajudar??? Desde já Agradeço!!
-
Nossaaa, brigadaooo deu super super certoooo!!! valeu mesmo!!
-
Bom dia Pessoal!!! Minha duvida é a seguinte, tem uma planilha com uns valores e ai to fazendo a soma desses valores na linha 250 da planilha e depois da soma estou extraindo essa informacao e gravando em um arquivo texto, sendo que no arquivo texto esse valor independente do tamanho dele deve ser gravado com 14 digitos sendo os mesmos complementados com zeros, entaum fiz assim: Dim l41c as String Dim complemento as Dtring Dim linha41c as String complemento = "000000000000000" linha41c = Range("M250") l41c = Right (complemento & linha41c, 14) Ai belezinha ta funcionando bonzinho até ai...só que apareceu duas situações que não sei como resolver....a primeira é a seguinte: no arquivo texto os valores não devem ser gravados com a virgula...então se por exemplo eu tenho o valor: 252,41 no arquivo texto teria que ser gravado 00000000025241 e ai não sei como fazer com que esse valor seja gravado no txt sem a virgula..eu tentei formatar no excel essa linha 250 para o valor ficar sem a virgula mais não consegui...e outra nessa linha é uma soma dos valores que estao acima. a outra situacao é que assim quando é um valor redondo, ou seja, não tem centavos por exemplo 420,00 quando grava no txt esta gravando como 00000000000420 e o correto seria considerar os zeros depois da virgula e gravar assim 00000000042000 tambem não sei como fazer isso....Desde já agradeço Pessoal!!!
-
Ahh entaum eu estava me esquecendo de fazer a referencia com o excel depois que fiz coloquei no codigo: Dim xlw As Excel.Workbook Dim xl As New Excel.Application Set xlw = xl.Workbooks.Open("u:\daniele\teste.xls") xlw.Application.Visible = True e ai consegui gerar o .exe Brigaduu Pessoaaall Bjs e bom FDS a todos!!!
-
então eu abri o form pelo vb mais quando mando executar pelo vb6 da um monte de erro...
-
Boa tarde pessoal!! andei fazendo umas pesquisas e nem sei se isso é possivel tambem... Fiz um formulario com um codigo no VBA e ta funcionando belezinha..não sei se existe a possibilidade..mais gostaria de criar um .exe e q ao ser executado leia um arquivo do excel que esta em uma determinada pasta..sera que tem como fazer issoo?? Brigaduu..
-
Boa tarde!!! Muito Obrigada viu deu certinhoo!! só fiz uma alteraçãozinha porque da forma que você me passou quando os tres ultimos caracteres é zero não esta trazendo nada na celula e teria q deixar a informacao como já estava, ficou assim: ActiveCell.FormulaR1C1 = "=+ If(Right(RC[1], 3) = ""000"", RC[-1], RC[-1] & Right(RC[1], 3))" Brigadão viu!!! Bjs
-
Bom diaaaa!!!! consegui concatenar os valores assim: Private Sub CommandButton6_Click() Sheets("Ativo").Select Range("B5:B65536").Select ActiveCell.FormulaR1C1 = "=+RC[-1]& right(RC[1], 3)" Range("B5").Select Selection.AutoFill Destination:=Range("B5:B65536"), Type:=xlFillDefault Range("B5:B65536").Select Columns("A:A").Select Selection.EntireColumn.Hidden = True End Sub Deu certo...porem tem um probleminhaa..rsrss...quando os tres ultimos caracteres for zero não deve concatenar...ai num sei como q eu faço isso...
-
Bom dia!! então seguindo o que você passou quase que consegui chegar la, só que o q aconteceu foi que ao invés de pegar a informacao da célula ao lado pra concatenar acabou pegando da primeira celula A1...preciso que pegue os tres ultimos caracteres da celula ao lado.... tipo assim: A1 = 1.1.1.01. B1 = 10000001 A2 = 1.1.1.02. B2 = 10000002 A3 = 1.1.1.03. B3 = 10000003 e assim sucessivamente..... Ai quando executar preciso que nas celulas da coluna A fique assim: A1 = 1.1.1.01.001 A2 = 1.1.1.02.002 A3 = 1.1.1.03.003 usei o codigo: Dim classificador As String, pesquisa As Range Dim junta As String For i = 1 To 1 junta = Cells(i, 2) classificador = Cells(i, 1) & Right(junta, 3) ActiveCell.FormulaR1C1 = "1.1.1.01" & classificador Antes eu usava essa formula aqui: =CONCATENAR("1.1.2.01.".DIREITA(B10.3)) e assim até a ultima linha que tinha informacao...Como que posso fazer isso pelo VBA?? Agradeço mais uma vez!!
-
Oiee Bom dia!! Kuroi, muito obrigada deu certinho o lance da pesquisa...Mais pra complementar com os tres ultimos digitos da coluna classificador não deu certo ao invés dele trazer os tres ultimos digitos aparece como "verdadeiro"...como que eu faço pra concatenar esses valores na celula? Brigadu mais uma vez!! Bjs
-
Boa tarde pessoal!! Estou com duas duvidas: to usando uma macro pra localizar valores e alterar a celula encontrada com o outro valor..: Cells.Find(What:="1005", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate ActiveCell.FormulaR1C1 = "1.1.2.01" Ai beleza esta funcionando certinho...só que como essa planilha tem q ser gerada todo mes tem meses que pode ocorrer desse codigo 1005 não ter mesmo na planilha...ai td bem..fui testar e quando na planilha não tem esse codigo ta dando erro..como que eu faço pra ignorar quando não tiver esse codigo? a outra duvida é assim a coluna b tem os os valores assim: 1010101001 na proxima celula 1010101002 e assim sucessivamente... e ai no mesmo codigo anterior quando encontrar o valor pesquisado ao alterar a celula com o valor que eu parametrizei teria que adicionar mais os tres ultimos digitos do valor da coluna B tentei fazer mais ta dando erro: Dim classificador as string classificador = cells(i,2) = Right (classificador, 3) Cells.Find(What:="1005", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate ActiveCell.FormulaR1C1 = "1.1.2.01" & classificador Bom são essas minhas duvidas!!! Brigaduu
-
Oiiiee, então estou com outra duvida olha só...fiz umas alterações naquele codigo e tava dando certinhoo td beleza até que apareceu outra situação que não sei como resolver: Private Sub corrige() Dim ws As Worksheet Dim vlrd As String Dim Vlrc As String Set ws = Application.Worksheets("plan1") Application.ScreenUpdating = False finalrow = Range("A65536").End(xlUp).Row For i = 1 To finalrow - 1 vlrd = Cells(i, 4) = "" Vlrc = Cells(i, 6) = "" If Cells(i, 7).Value = Cells(i + 1, 7).Value And vlrd Then 'aqui compara a coluna g com a proxima linha Cells(i, 4).Value = Cells(i + 1, 4).Value 'aqui copia a proxima linha da coluna d pra linha atual Cells(i, 3).Value = Cells(i + 1, 3).Value Cells(i, 5).Value = Cells(i + 1, 5).Value Rows(i + 1).Select Selection.Delete shift:=xlUp 'apaga a proxima linha End If If Cells(i, 7).Value = Cells(i + 1, 7).Value And Vlrc Then Cells(i, 6).Value = Cells(i + 1, 6).Value Cells(i, 3).Value = Cells(i + 1, 3).Value Cells(i, 5).Value = Cells(i + 1, 5).Value Rows(i + 1).Select Selection.Delete shift:=xlUp End If Next End Sub acontece que o arquivo tem situacao que nas celula g na sequencia tem tres valores iguais e quando for assim não deve ser excluida a linha, só quando for dois valores iguais...como que eu faço pra poder anular o procedimento quando o sistema encontrar mais de dois valores iguais na sequencia das celulas da coluna G?? Brigaduuu!!
-
nossaaaaa!!!! deu super certoooo!! exatamente o que eu precisavaaaa!!! Mestre Kuroi muito obrigadaaaaa!!! te amu S2
-
Boa tarde!! pessoal estou com uma duvida... preciso criar uma macro que veja se as linhas da coluna g tem valores iguais e se essa tiver valores iguais tem q pegar o conteudo da coluna D e recortar ele e colar na linha anterior da coluna D e depois excluir a linha que tiver com a coluna d e f vazias. por exemplo: linha 1 - coluna D esta vazia, coluna F tem valor linha 2 - coluna D tem valor, coluna F esta vazia Quando tiver nessa situação e a coluna G das duas linhas tiver o mesmo valor a macro deve recortar o conteudo da coluna D da linha 2 e colar na mesma coluna (D) na linha 1 e excluir a linha que esta sem informacao na coluna D e F, pois essa informacao foi recortada..preciso que a macro percorra todo o arquivo e quando encontrar essa situação fazer esse procedimento.. Sera q tem como fazer issoo?? Desde já agradeço!! não sei se vai dar certo o que to fazendo e tambem não sei como fazer pra que entenda que a informacao recortada da linha d seja colocada na mesma coluna só que na linha acima..pra ficar a coluna d e a coluna f preenchida: Sub corrige() Dim ws As Worksheet Dim celulaf As String Dim celulad As String Set ws = Application.Worksheets("plan1") Application.ScreenUpdating = False finalrow = Range("A65536").End(xlUp).Row For i = 1 To finalrow celulaf = Cells(i, 6) celulad = Cells(i, 4) For j = 1 To finalrow If celulaf = "" Then Range celulad.Select Selection.Cut Range celulad.Select ActiveSheet.Paste End Sub
-
hummm beleza agora deu certinhooo issooo valeu mesmo!!!!!!!!!!!
-
olha muito obrigada viu!! deu certinho o q eu você passou..só um probleminha..rs : Dim xl As New Excel.Application Dim xlw As Excel.Workbook Dim arq1 As String Dim complemento As String Dim str As String Dim data As String Dim ultimalinha As Long, i As Long Dim s As String Private Sub Command1_Click() Set xlw = xl.Workbooks.Open("u:\daniele\metrocar\lanc2010.xls") xlw.Sheets("Plan1").Select arq1 = FreeFile Open "u:\daniele\importacaometrocar\ctblctos1184.txt" For Output As #arq1 complemento = "00000000" numi = Val(contador) If numi = "0" Then contador = contador + 1 numf = Val(contador) str = Right(complemento & contador, 5) For contador = numi To numf Next ultimalinha = xlw.Application.Cells(xlw.Application.Cells.Rows.Count, 8).End(xlUp).Row For i = 2 To ultimalinha data = xlw.Application.Cells(i, 8).Value Print #arq1, "LC1" & str & Space(3) & data Next Close #arq1 End Sub o registro str não esta gerando com numeros sequenciais tipo inicia com 1 vai ate o final do arquivo conforme a numeracao de linhas que existe todos os registros estao sendo preenchidos com 00001...tem como fazer com que cada registro gerado fique na sequencia de numeros tipo de 1 até o ultimo registro gerado? obrigadaaa mais uma vez..
-
Bom diaa!! estou com a seguinte duvida: tenho um arquivinho texto com a seguinte estrutura 21110001 39.000,00 31240001 39.000,00 21110001 224,03 11310007 45,38 11310005 168,59 11240005 1,80 11240008 8,26 ai eu criei na sequencia conforme as colunas: dim posicaod as string dim posicaoc as string dim vlrlanc as string dim mdlanc as string e define com o mid a posicao conforme esta alinhado no arquivo texto: posicaod = Mid(s, 12, 8) posicaoc = Mid(s, 26, 8) vlrlanc = Mid(s, 34, 14) até ai beleza...agora preciso definir um outro registro q é o mdlanc, que vai depender do seguinte: fazendo a leitura do arquivo por linha, se a posicaod ou a posicaoc for vazia o sistema deve verificar se na proxima linha o vlrlanc é igual se for deve preencher o mdlanc = "1", se não deve ser mdlanc = "2"; se a posicaod e a posicaoc estiver preenchida preencher o mdlanc = "1" tentei: if posicaod = "" or posicaoc = "" then mdlanc = "1" mais não sei como colocar pra ele ler na proxima minha se o vlrlanc tem o mesmo valor no arquivo texto... obrigada pessoal!!!
-
Olha eu de novo aki...gente é o seguinte estou com o seguinte problema: como q eu faço pra ler todas as células de uma coluna do excel desde da linha 2 até a ultima? porque do jeito q eu to fazendo ta vindo só da célula 2 da coluna que eu to selecionando..: data = xlw.Application.Cells(2, 8) brigaduu!!
-
Ahhh valeu valewww brigadu de novoo!! bjs
-
ah entaum tava errado mesmo...mais ai arrumei só q mesmo assim num ta saindo do jeito q eu quero...rs valeww
-
Boa tarde pessoal, estou com a seguinte duvida: estou extraindo as informacoes de um arquivo texto e salvando em outro de acordo com a posicao que preciso dessas informacoes: posicaod = Mid(s, 9, 8) posicaoc = Mid(s, 34, 8) If posicaod = "" Or posicaoc = "" Then mdlanc = "2" Else mdlanc = "1" End If Print #arq2, "LC1" & str & Space(3) & mdlanc e ai quando não tiver nenhuma informacao nessa posicao q eu to pedindo no mdlanc deveria ser preenchido com 2 mais se tiver deve ser preenchido com 1..tentei fazer isso com o codigo acima mais na posicao mdlanc esta preenchendo todas as linhas com 1 valeu pessoall!!