locked
duvida macro de copiar e colar RRS feed

  • Pergunta

  • Amigo,

    estou com uma duvida em VBA no excel.

    tenho uma planilha com 3 botões de opção ( TMA , trafego e volume) isso na aba capa.
    na aba desvios tenho a matriz a6:AF55

    o modelo deseia mais ou menos :

    dia 1/12 2/12 3/12 ... 31/12
    00:00
    00:30
    01:00
    .
    .
    .
    23:30

    esse é o formato da minha matriz

    eu queria fazer com que o usuario escolhesse a data inicial e a data final dos desvios que estão na aba desvios e colassem na aba "capa" apartir da celula A45

    tentei implementar mais não consegui e já estou a 1 semana tentando =/

    Sub Escolha()
    '
    ' escolha Macro
    ' Macro gravada em 10/12/2007 por flrleite
    '
    '
    Dim Escolha As String
    Dim ini As Integer
    Dim Fim As Integer


    Escolha = Range("A30").Value

    Select Case Escolha

     

    Case Is = 2
        ini = Application.InputBox("Digite a data INICIAL no qual deseja puxar os desvios de Trafego:", _
             "Number Entry", , 250, 75, "", , 1)
            
        Fim = Application.InputBox("Digite a data FINAL no qual deseja puxar os desvios de Trafego:", _
             "Number Entry", , 250, 75, "", , 1)
       
      
    ini = ini + 1

        For Row = 6 To 55
            For Col = ini To Fim
            Sheets("DESVIOS").Cells(Row, Col).Select
                        
        Selection.Copy
        Sheets("capa").Select
        Range("A45").Select
        ActiveSheet.Paste
        ActiveWindow.SmallScroll Down:=9
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Range("B42").Select
        Num = Num + 1
        Next
        Next
       
       
      Case Is = 1
     
       Sheets("DESVIOS").Select
        Range("A62:AF111").Select
        Selection.Copy
        Sheets("capa").Select
        Range("A45").Select
        ActiveSheet.Paste
        ActiveWindow.SmallScroll Down:=9
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Range("B42").Select
       
        Case Is = 3
       
         Sheets("DESVIOS").Select
        Range("A125:AF174").Select
        Selection.Copy
        Sheets("capa").Select
        Range("A45").Select
        ActiveSheet.Paste
        ActiveWindow.SmallScroll Down:=9
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Range("B42").Select
       
        End Select
       
       
     
    End Sub

     

    desde já agradeço a ajuda!

    quarta-feira, 12 de dezembro de 2007 18:13

Todas as Respostas

  • consegui consertar graças a meu amigo Maicon

     

     

    Sub Escolha()
    '
    ' escolha Macro
    ' Macro gravada em 10/12/2007 por flrleite
    '
    '
    Dim Escolha As String
    Dim ini As Integer
    Dim Fim As Integer
    Dim MyArray As Variant

    Escolha = Range("A30").Value
    Tipo = Range("A29").Value

    If Tipo = 2 Then

    Select Case Escolha

    'trafego

    Case Is = 2

        ini = Application.InputBox("Digite a data INICIAL no qual deseja puxar os desvios de Trafego:", _
             "Number Entry", , 250, 75, "", , 1) + 65
            
        Fim = Application.InputBox("Digite a data FINAL no qual deseja puxar os desvios de Trafego:", _
             "Number Entry", , 250, 75, "", , 1) + 65
       
            Sheets("DESVIOS").Range(IIf(Fim >= 90, Chr(ini) & "6:A" & Chr(Fim - 26) & "55", Chr(ini) & "329:" & Chr(Fim) & "378")).Copy
        Sheets("capa").Range("B47").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
         :=False, Transpose:=False
          
        

    'tma
      Case Is = 1

        ini = Application.InputBox("Digite a data INICIAL no qual deseja puxar os desvios de TMA:", _
             "Number Entry", , 250, 75, "", , 1) + 65
            
        Fim = Application.InputBox("Digite a data FINAL no qual deseja puxar os desvios de TMA", _
             "Number Entry", , 250, 75, "", , 1) + 65
       
             Sheets("DESVIOS").Range(IIf(Fim >= 90, Chr(ini) & "62:A" & Chr(Fim - 26) & "111", Chr(ini) & "329:" & Chr(Fim) & "378")).Copy
        Sheets("capa").Range("B47").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
         :=False, Transpose:=False
           
      
       
     'volume
        Case Is = 3
       
       
           ini = Application.InputBox("Digite a data INICIAL no qual deseja puxar os desvios de TMA:", _
             "Number Entry", , 250, 75, "", , 1) + 65
            
        Fim = Application.InputBox("Digite a data FINAL no qual deseja puxar os desvios de TMA", _
             "Number Entry", , 250, 75, "", , 1) + 65
       
            Sheets("DESVIOS").Range(IIf(Fim >= 90, Chr(ini) & "125:A" & Chr(Fim - 26) & "174", Chr(ini) & "329:" & Chr(Fim) & "378")).Copy
        Sheets("capa").Range("B47").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
         :=False, Transpose:=False
          
          
        End Select
        End If
       
        If Tipo = 1 Then

    Select Case Escolha

    'trafego

    Case Is = 2

        ini = Application.InputBox("Digite a data INICIAL no qual deseja puxar os desvios de Trafego:", _
             "Number Entry", , 250, 75, "", , 1) + 65
            
        Fim = Application.InputBox("Digite a data FINAL no qual deseja puxar os desvios de Trafego:", _
             "Number Entry", , 250, 75, "", , 1) + 65
       
        Sheets("DESVIOS").Range(IIf(Fim >= 90, Chr(ini) & "329:A" & Chr(Fim - 26) & "378", Chr(ini) & "329:" & Chr(Fim) & "378")).Copy
        Sheets("capa").Range("B47").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
         :=False, Transpose:=False

      
    'tma
      Case Is = 1

        ini = Application.InputBox("Digite a data INICIAL no qual deseja puxar os desvios de TMA:", _
             "Number Entry", , 250, 75, "", , 1) + 65
            
        Fim = Application.InputBox("Digite a data FINAL no qual deseja puxar os desvios de TMA", _
             "Number Entry", , 250, 75, "", , 1) + 65
       
          
          Sheets("DESVIOS").Range(IIf(Fim >= 90, Chr(ini) & "263:A" & Chr(Fim - 26) & "312", Chr(ini) & "329:" & Chr(Fim) & "378")).Copy
        Sheets("capa").Range("B47").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
         :=False, Transpose:=False
      
       
     'volume
        Case Is = 3
       
       
           ini = Application.InputBox("Digite a data INICIAL no qual deseja puxar os desvios de TMA:", _
             "Number Entry", , 250, 75, "", , 1) + 65
            
        Fim = Application.InputBox("Digite a data FINAL no qual deseja puxar os desvios de TMA", _
             "Number Entry", , 250, 75, "", , 1) + 65
       
         Sheets("DESVIOS").Range(IIf(Fim >= 90, Chr(ini) & "193:A" & Chr(Fim - 26) & "242", Chr(ini) & "329:" & Chr(Fim) & "378")).Copy
        Sheets("capa").Range("B47").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
         :=False, Transpose:=False
        
              
           
        End Select
        End If
       
     
    End Sub

     

     

     

    quarta-feira, 19 de dezembro de 2007 13:42