Ir para conteúdo
Fórum Script Brasil

evandroeco

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Tudo que evandroeco postou

  1. Bem pessoal, estou com um certo problema que não consigo entender; provavelmente, por não conhecer muito de VB. Quero realizar a seguinte operação: ‘ Com a referencia selecionada Selection.Names="selecao" Range("selecao").Value = Value * 1 1. Ou seja, minha intenção é: Uma referência de células selecionados, por exemplo, M1:Q10, seria nomeado "selecao". 2. Aconteceria uma multiplicação, os seus próprios valores seriam multiplicados por 1. Por exemplo: Selecionado: A1:C3 2.........0.........1 3,4......7.........4 1.........1.23....2 é nomeado de "Selecao" então é feito a multiplicação, e como é x1. Então ficariam os mesmos valores: 2.........0.........1 3,4......7.........4 1.........1.23....2 Se fosse x2: 4.........0.........2 6,8.....14.........8 2.........2.46.....4 Objetivo de fazer isso, é meramente, porque alguns numeros estão como texto. E dessa forma os transformo em números. O estranho, é que algumas vezes funcionaram. Mas agora, sei lá por que, o resultado fica tudo zero ou em branco; ou apresenta algum erro na linha de comando. E não entendo por que, ele não faz a operação (diz haver erro de contextualização), a expressão: Range("selecao").Value = Range("selecao") * 1 Se alguém tiver algum modo, talvez alternativo, de resolver isso, eu agradeceria. obrigado
  2. Já consegui resolver.... Depois de abrir um livro de VBA... e ler umas funcionalidades, tive uma idéia... Bem, o que faço, é primeiro, nomear a seleção. E depois, uso um Range nessa seleçao (nome), e mando que tais celulas sejam multiplicadas por 1; fazendo a mesma função, do colar especial... e um código bem simples: ActiveWorkbook.Names.Add Name:="selecao", RefersToR1C1:= _ "=INSERT!R1C13:R3907C67" Range("selecao").Value = Value * 1 Eee bingo. No meu modelo. A planilha tal, onde há essas modificações será fechada sem salvar. Se salvar, talvez haja um problema, eu não sei, quanto a nomear coisas com nomes já existentes.
  3. Estou com o mesmo problema. Alguns dados que são gerados pelo SAP entram como numero em formato de texto. O engraçado é que se eu abrir a pasta tal, automaticamente, eles já são convertidos para numero. Contudo, uso uma outra pasta que importa tais dados. Para fazer isso criei a seuginte macro (trecho de tal ação). Workbooks.Open ("Z:\Intranet\controlling\restrito2\INSERT.XLS") Windows("INSERT.XLS").Activate 'Ajeitando a tabela de dados Rows("1:13").Select Selection.Delete Shift:=xlUp Range("A:A,F:F").Select Selection.Delete Shift:=xlToLeft 'Substituindo valores para data Columns("D:D").Select Selection.Replace What:=".", Replacement:="/", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False ' Convertendo numeros em texto em números Range("BQ3").Select ActiveCell.FormulaR1C1 = "1" Range("BQ3").Select Selection.Copy Range("M1:BO1").Select Range("BO1").Activate Range(Selection, Selection.End(xlDown)).Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _ SkipBlanks:=False, Transpose:=False Range("BQ4").Select Application.CutCopyMode = False Range("BQ3").Select Selection.ClearContents 'Copiando tabela Range("A1:BN1").Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy 'Colando dados da tabela INSERT na KE Windows("KE30_200809.xls").Activate Range("A2").Select ActiveSheet.Paste Range("H2").Select Application.CutCopyMode = False ' Workbooks("INSERT.XLS").Close SaveChanges:=False ........... Se eu abrir a pasta INSERT.XLS, ocorre tudo perfeitamente; nem precisaria ter incluido esse código. Mas como pode ver, nessa macro, ela é que abre e fecha o arquivo; e desse modo não funciona; ao abrir, pela macro, a conversão não ocorre automaticamente. Então vem o trecho do código para fazer. No trecho em vermelho seria o trecho do código responsável por esse colar especial, o que indica o 'Ajuda' como modo de resolver o problema. Fazendo manualmente, perfeito. Aliás, ao fazer a macro deu certo. Contudo, ao se usar a macro dá errado! O código simplesmente não funciona. É como se a linha de código em vermelho fosse pulada!!! O colar em especial não ocorre. Verifiquei isso. Creio que seja alguma linha de comando do tipo "Executar essa cola especial"; que a Macro não gravou. Que provavelmente, seria o que acontece quando, manualmente, no "Colar especial" clicamos no OK, ou se dá um ENTER. Assim, como a Macro não grava se usarmos o AutoCorreção. Isso é pelo menos o que ocorre na versão XP - Office 2003. Creio que no 2007 já tenham resolvido isso. Help-me. Please.
  4. Olá.... Estou com o mesmo problema. Alguns dados que são gerados pelo SAP entram como numero em formato de texto. O engraçado é que se eu abrir a pasta tal, automaticamente, eles já são convertidos para numero. Contudo, uso uma outra pasta que importa tais dados. Para fazer isso criei a seuginte macro (trecho de tal ação). Workbooks.Open ("Z:\Intranet\controlling\restrito2\INSERT.XLS") Windows("INSERT.XLS").Activate 'Ajeitando a tabela de dados Rows("1:13").Select Selection.Delete Shift:=xlUp Range("A:A,F:F").Select Selection.Delete Shift:=xlToLeft 'Substituindo valores para data Columns("D:D").Select Selection.Replace What:=".", Replacement:="/", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False ' Convertendo numeros em texto em números Range("BQ3").Select ActiveCell.FormulaR1C1 = "1" Range("BQ3").Select Selection.Copy Range("M1:BO1").Select Range("BO1").Activate Range(Selection, Selection.End(xlDown)).Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _ SkipBlanks:=False, Transpose:=False Range("BQ4").Select Application.CutCopyMode = False Range("BQ3").Select Selection.ClearContents 'Copiando tabela Range("A1:BN1").Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy 'Colando dados da tabela INSERT na KE Windows("KE30_200809.xls").Activate Range("A2").Select ActiveSheet.Paste Range("H2").Select Application.CutCopyMode = False ' Workbooks("INSERT.XLS").Close SaveChanges:=False ........... Se eu abrir a pasta INSERT.XLS, ocorre tudo perfeitamente; nem precisaria ter incluido esse código. Mas como pode ver, nessa macro, ela é que abre e fecha o arquivo; e desse modo não funciona; ao abrir, pela macro, a conversão não ocorre automaticamente. Então vem o trecho do código para fazer. No trecho em vermelho seria o trecho do código responsável por esse colar especial, o que indica o 'Ajuda' como modo de resolver o problema. Fazendo manualmente, perfeito. Aliás, ao fazer a macro deu certo. Contudo, ao se usar a macro dá errado! O código simplesmente não funciona. É como se a linha de código em vermelho fosse pulada!!! O colar em especial não ocorre. Verifiquei isso. Creio que seja alguma linha de comando do tipo "Executar essa cola especial"; que a Macro não gravou. Que provavelmente, seria o que acontece quando, manualmente, no "Colar especial" clicamos no OK, ou se dá um ENTER. Assim, como a Macro não grava se usarmos o AutoCorreção. Isso é pelo menos o que ocorre na versão XP - Office 2003. Creio que no 2007 já tenham resolvido isso. Mas a questão continua? Como eu faço isso?
×
×
  • Criar Novo...