Inquiridor
duvida macro de copiar e colar

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:AF55o modelo deseia mais ou menos :
dia 1/12 2/12 3/12 ... 31/12
00:00
00:30
01:00
.
.
.
23:30esse é 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").ValueSelect 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 + 1For 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 Subdesde 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 VariantEscolha = Range("A30").Value
Tipo = Range("A29").ValueIf 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 = 1ini = 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 ThenSelect 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 = 1ini = 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 Subquarta-feira, 19 de dezembro de 2007 13:42