Notifications
Clear all

CONVETER TEXTO PARA NUMERO

3 Posts
1 Usuários
0 Reactions
715 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Reinaldo, fiz uma macro para copia dados de uma outra planilha e colar na planilha e organizar o meu controle, pois bem, os dados copiados são extraídos do sistema da empresa através de uma exportação para excel, nesta exportação os dados que são números estão na formação de texto.
Preciso que todas as linhas do vba que contem "'horas de moagem diária, semanal, mensal e anual", pois vou utilizar formulas para buscar estes dados.
Os dados importados estão na Plan6 e esta sendo organizada na Plan2.
.

Segue o codigo que estou utilizando.

Sub Imp_Dados_boletim()

'Definições de variáveis

Dim linha
Dim name

'Definição de valores nas variáveis

linha = 3
name = "CONT_DISP-APR1.xlsm"
'frmProcessoboletim.Show
'Call contar_boletim
    Application.ScreenUpdating = False
    Workbooks.Open Filename:= _
    Plan1.Cells(3, 4).Text
    Windows("boletim.xls").Activate
    Range("A1:G100").Select
    Selection.Copy
    Windows(name).Activate
    Plan6.Activate
    Range("A1:G100").Select
    ActiveSheet.Paste
    Plan6.Cells(100, 1) = "FIM"
    Application.CutCopyMode = False
    Plan1.Activate
    Windows("boletim.xls").Activate
    ActiveWindow.Close
    Application.ScreenUpdating = True
    
    While (Plan2.Cells(linha, 2) <> "")
     linha = linha + 1
    Wend
                
      If (Plan6.Cells(8, 3).Text = "Revisão ") Then
          

          Plan2.Cells(linha, 1) = CDate(Mid(Plan6.Cells(9, 3).Text, 1, 6) & Mid(Plan6.Cells(9, 3).Text, 9, 2))
          Plan2.Cells(linha, 2) = Plan6.Cells(12, 3) 'horas de moagem diario geral
          Plan2.Cells(linha, 3) = Plan6.Cells(13, 3) 'horas pedidas ponderada diario geral
          Plan2.Cells(linha, 4) = Plan6.Cells(16, 3) 'tempo de aproveitamento diario geral
          Plan2.Cells(linha, 5) = Plan6.Cells(32, 3) 'cana moida por hora efetiva diario geral
          Plan2.Cells(linha, 6) = Plan6.Cells(31, 3) 'cana moida diario geral
          Plan2.Cells(linha, 7) = Plan6.Cells(19, 3) 'horas de moagem diario mda 54
          Plan2.Cells(linha, 8) = Plan6.Cells(20, 3) 'horas pedidas diario mda 54
          Plan2.Cells(linha, 9) = Plan6.Cells(23, 3) 'tempo de aproveitamento diario mda 54
          Plan2.Cells(linha, 10) = Plan6.Cells(49, 3) 'cana moida por hora efetiva diario mda 54
          Plan2.Cells(linha, 11) = Plan6.Cells(48, 3) 'cana moida diario mda 54
          Plan2.Cells(linha, 12) = Plan6.Cells(25, 3) 'horas de moagem diario mda 66
          Plan2.Cells(linha, 13) = Plan6.Cells(26, 3) 'horas pedidas diario mda 66
          Plan2.Cells(linha, 14) = Plan6.Cells(29, 3) 'tempo de aproveitamento diario mda 66
          Plan2.Cells(linha, 15) = Plan6.Cells(73, 3) 'cana moida por hora efetiva diario mda 66
          Plan2.Cells(linha, 16) = Plan6.Cells(72, 3) 'cana moida diario mda 66
                       
          Plan2.Cells(linha, 17).FormulaR1C1 = "=IF(ISERROR(VLOOKUP(RC[-16],Parâmetros!R1C4:R365C8,2)),"""",VLOOKUP(RC[-16],Parâmetros!R1C4:R365C8,2))"
          Plan2.Cells(linha, 18) = Trim(Plan6.Cells(12, 4)) 'horas de moagem semanal geral
          Plan2.Cells(linha, 19) = Trim(Plan6.Cells(13, 4)) 'horas pedidas ponderada semanal geral
          Plan2.Cells(linha, 20) = Trim(Plan6.Cells(16, 4)) 'tempo de aproveitamento semanal geral
          Plan2.Cells(linha, 21) = Trim(Plan6.Cells(32, 4)) 'cana moida por hora efetiva semanal geral
          Plan2.Cells(linha, 22) = Trim(Plan6.Cells(31, 4)) 'cana moida semanal geral
          Plan2.Cells(linha, 23) = Trim(Plan6.Cells(19, 4)) 'horas de moagem semanal mda 54
          Plan2.Cells(linha, 24) = Trim(Plan6.Cells(20, 4)) 'horas pedidas semanal mda 54
          Plan2.Cells(linha, 25) = Trim(Plan6.Cells(23, 4)) 'tempo de aproveitamento semanal mda 54
          Plan2.Cells(linha, 26) = Trim(Plan6.Cells(49, 4)) 'cana moida por hora efetiva semanal mda 54
          Plan2.Cells(linha, 27) = Trim(Plan6.Cells(48, 4)) 'cana moida semanal mda 54
          Plan2.Cells(linha, 28) = Trim(Plan6.Cells(25, 4)) 'horas de moagem semanal mda 66
          Plan2.Cells(linha, 29) = Trim(Plan6.Cells(26, 4)) 'horas pedidas semanal mda 66
          Plan2.Cells(linha, 30) = Trim(Plan6.Cells(29, 4)) 'tempo de aproveitamento semanal mda 66
          Plan2.Cells(linha, 31) = Trim(Plan6.Cells(73, 4)) 'cana moida por hora efetiva semanal mda 66
          Plan2.Cells(linha, 32) = Trim(Plan6.Cells(72, 4)) 'cana moida semanal mda 66

          Plan2.Cells(linha, 33).FormulaR1C1 = "=IF(ISERROR(VLOOKUP(RC[-32],Parâmetros!R1C4:R365C8,4)),"""",VLOOKUP(RC[-32],Parâmetros!R1C4:R365C8,4))"
          Plan2.Cells(linha, 34) = Trim(Plan6.Cells(12, 6)) 'horas de moagem mensal geral
          Plan2.Cells(linha, 35) = Trim(Plan6.Cells(13, 6)) 'horas pedidas ponderada mensal geral
          Plan2.Cells(linha, 36) = Trim(Plan6.Cells(16, 6)) 'tempo de aproveitamento mensal geral
          Plan2.Cells(linha, 37) = Trim(Plan6.Cells(32, 6)) 'cana moida por hora efetiva mensal geral
          Plan2.Cells(linha, 38) = Trim(Plan6.Cells(31, 6)) 'cana moida mensal geral
          Plan2.Cells(linha, 39) = Trim(Plan6.Cells(19, 6)) 'horas de moagem mensal mda 54
          Plan2.Cells(linha, 40) = Trim(Plan6.Cells(20, 6)) 'horas pedidas mensal mda 54
          Plan2.Cells(linha, 41) = Trim(Plan6.Cells(23, 6)) 'tempo de aproveitamento mensal mda 54
          Plan2.Cells(linha, 42) = Trim(Plan6.Cells(49, 6)) 'cana moida por hora efetiva mensal mda 54
          Plan2.Cells(linha, 43) = Trim(Plan6.Cells(48, 6)) 'cana moida mensal mda 54
          Plan2.Cells(linha, 44) = Trim(Plan6.Cells(25, 6)) 'horas de moagem mensal mda 66
          Plan2.Cells(linha, 45) = Trim(Plan6.Cells(26, 6)) 'horas pedidas mensal mda 66
          Plan2.Cells(linha, 46) = Trim(Plan6.Cells(29, 6)) 'tempo de aproveitamento mensal mda 66
          Plan2.Cells(linha, 47) = Trim(Plan6.Cells(73, 6)) 'cana moida por hora efetiva mensal mda 66
          Plan2.Cells(linha, 48) = Trim(Plan6.Cells(72, 6)) 'cana moida mensal mda 66

          Plan2.Cells(linha, 49).FormulaR1C1 = "=IF(ISERROR(VLOOKUP(RC[-48],Parâmetros!R1C4:R365C8,5)),"""",VLOOKUP(RC[-48],Parâmetros!R1C4:R365C8,5))"
          Plan2.Cells(linha, 50) = Trim(Plan6.Cells(12, 7)) 'horas de moagem anual geral
          Plan2.Cells(linha, 51) = Trim(Plan6.Cells(13, 7)) 'horas pedidas ponderada anual geral
          Plan2.Cells(linha, 52) = Trim(Plan6.Cells(16, 7)) 'tempo de aproveitamento anual geral
          Plan2.Cells(linha, 53) = Trim(Plan6.Cells(32, 7)) 'cana moida por hora efetiva anual geral
          Plan2.Cells(linha, 54) = Trim(Plan6.Cells(31, 7)) 'cana moida anual geral
          Plan2.Cells(linha, 55) = Trim(Plan6.Cells(19, 7)) 'horas de moagem anual mda 54
          Plan2.Cells(linha, 56) = Trim(Plan6.Cells(20, 7)) 'horas pedidas anual mda 54
          Plan2.Cells(linha, 57) = Trim(Plan6.Cells(23, 7)) 'tempo de aproveitamento anual mda 54
          Plan2.Cells(linha, 58) = Trim(Plan6.Cells(49, 7)) 'cana moida por hora efetiva anual mda 54
          Plan2.Cells(linha, 59) = Trim(Plan6.Cells(48, 7)) 'cana moida mensal anual 54
          Plan2.Cells(linha, 60) = Trim(Plan6.Cells(25, 7)) 'horas de moagem mensal anual 66
          Plan2.Cells(linha, 61) = Trim(Plan6.Cells(26, 7)) 'horas pedidas mensal anual 66
          Plan2.Cells(linha, 62) = Trim(Plan6.Cells(29, 7)) 'tempo de aproveitamento anual mda 66
          Plan2.Cells(linha, 63) = Trim(Plan6.Cells(73, 7)) 'cana moida por hora efetiva anual mda 66
          Plan2.Cells(linha, 64) = Trim(Plan6.Cells(72, 7)) 'cana moida mensal anual 66
    
      End If
      
 End Sub

silvajmp

 
Postado : 15/11/2013 12:30 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Pessoal não enviei o arquivo, porque mesmo compactado esta excedendo os 500kb do forum, vou enviar um link vê se da para abrir.

silvajmp

http://www.4shared.com/rar/2e94Z3K_/CONT_DISP-APR1.html

 
Postado : 15/11/2013 12:54 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Uma possibilidade
Para valores referente a horas expressos inteiros (por exemplo 24 ; 106 ....)
Pode-se utilizar-->Plan2.Cells(linha, 2) = Format(Plan6.Cells(12, 3) & ":00", "hh:mm")
Para valores que tenham os dois pontos (por exemplo: 8:25 ; 22:20)
Pode-se utilizar--> Plan2.Cells(linha, 3) = Format(Plan6.Cells(13, 3), "hh:mm")
Para porcentuais-->Plan2.Cells(linha, 4) = Format(Plan6.Cells(16, 3) / 100, "0.00%")

 
Postado : 16/11/2013 7:53 am