Página 1 de 1

Botão de opção e Macros

Enviado: 22 Mar 2016 às 14:55
por alanisfcsm
Boa tarde.
Preciso que o botão de opção esteja na planilha "A", mas a execução em vba seja na planilha "B".
Estou meio perdido aqui.
Grato.



Sub EMPRESA01()
'
' empresa01
'

'
Range("B19:I22").Select
Selection.ClearContents
Range("B25:I28").Select
Selection.Copy
Range("B19:I22").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("B18").Select
End Sub




Sub EMPRESA02()
'
' empresa02
'

'
Range("B19:I22").Select
Selection.ClearContents
Range("B31:I34").Select
Selection.Copy
Range("B19:I22").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("B18").Select
End Sub

Botão e Macros

Enviado: 22 Mar 2016 às 15:13
por Jonathaluis
Boa tarde!

Primeiro comando antes de todos os restantes:

Worksheets("Plan2").Select

Botão e Macros

Enviado: 22 Mar 2016 às 15:21
por alanisfcsm
Obrigado Jonathaluis
Esqueci de dizer que o botão é de opção, desculpe.
O comando descrito por você funciona, mas ele muda de planilha. gostaria que a visualização permanecesse na planilha "A", tem como?

Re: Botão e Macros

Enviado: 22 Mar 2016 às 15:25
por alanisfcsm
Jonathaluis escreveu:Boa tarde!

Primeiro comando antes de todos os restantes:

Worksheets("Plan2").Select

Obrigado Jonathaluis
Esqueci de dizer que o botão é de opção, desculpe.
O comando descrito por você funciona, mas ele muda de planilha. gostaria que a visualização permanecesse na planilha "A", tem como?
Resposta Rápida
Resposta

Botão de opção e Macros

Enviado: 22 Mar 2016 às 15:40
por Jonathaluis
Alanisfcsm,

Vê se atende sua necessidade:

Sub EMPRESA01()

Dim A As Worksheet 'Plan 2
Set A = Worksheets("Plan2") 'A representa planilha 2

A.Range(A.Cells(19, 2), A.Cells(22, 9)).ClearContents
A.Range(A.Cells(19, 2), A.Cells(22, 9)) = A.Range(A.Cells(25, 2), A.Cells(28, 9))

End Sub

Sub EMPRESA02()

Dim A As Worksheet 'Plan 2
Set A = Worksheets("Plan2") 'A representa planilha 2

A.Range(A.Cells(19, 2), A.Cells(22, 9)).ClearContents
A.Range(A.Cells(19, 2), A.Cells(22, 9)) = A.Range(A.Cells(31, 2), A.Cells(34, 9))

End Sub

Botão de opção e Macros

Enviado: 22 Mar 2016 às 15:47
por Jonathaluis
Alanisfcsm,

Faltou um detalhe, o value, se não ele não copia o valor, e agora com descrição das funções:

Sub EMPRESA01()

Dim A As Worksheet 'Plan 2
Set A = Worksheets("Plan2") 'A representa planilha 2

A.Range(A.Cells(19, 2), A.Cells(22, 9)).ClearContents 'Limpa o range da coluna B19 até I22
A.Range(A.Cells(19, 2), A.Cells(22, 9)) = A.Range(A.Cells(25, 2), A.Cells(28, 9)).value 'Copia o conteúdo do Range B25 até o I28 para B19 até B22

End Sub

Sub EMPRESA02()

Dim A As Worksheet 'Plan 2
Set A = Worksheets("Plan2") 'A representa planilha 2

A.Range(A.Cells(19, 2), A.Cells(22, 9)).ClearContents 'Limpa o range da coluna B19 até I22
A.Range(A.Cells(19, 2), A.Cells(22, 9)) = A.Range(A.Cells(31, 2), A.Cells(34, 9)).value 'Copia o conteúdo do Range B31 até o I34 para B19 até B22

End Sub

Re: Botão de opção e Macros

Enviado: 22 Mar 2016 às 15:54
por alanisfcsm
Jonathaluis escreveu:Alanisfcsm,

Vê se atende sua necessidade:

Sub EMPRESA01()

Dim A As Worksheet 'Plan 2
Set A = Worksheets("Plan2") 'A representa planilha 2

A.Range(A.Cells(19, 2), A.Cells(22, 9)).ClearContents
A.Range(A.Cells(19, 2), A.Cells(22, 9)) = A.Range(A.Cells(25, 2), A.Cells(28, 9))

End Sub

Sub EMPRESA02()

Dim A As Worksheet 'Plan 2
Set A = Worksheets("Plan2") 'A representa planilha 2

A.Range(A.Cells(19, 2), A.Cells(22, 9)).ClearContents
A.Range(A.Cells(19, 2), A.Cells(22, 9)) = A.Range(A.Cells(31, 2), A.Cells(34, 9))

End Sub

Funcionou! :D
Obrigado Jonathaluis!
Valeu mesmo!

Re: Botão de opção e Macros

Enviado: 22 Mar 2016 às 15:56
por alanisfcsm
alanisfcsm escreveu:
Jonathaluis escreveu:Alanisfcsm,

Vê se atende sua necessidade:

Sub EMPRESA01()

Dim A As Worksheet 'Plan 2
Set A = Worksheets("Plan2") 'A representa planilha 2

A.Range(A.Cells(19, 2), A.Cells(22, 9)).ClearContents
A.Range(A.Cells(19, 2), A.Cells(22, 9)) = A.Range(A.Cells(25, 2), A.Cells(28, 9))

End Sub

Sub EMPRESA02()

Dim A As Worksheet 'Plan 2
Set A = Worksheets("Plan2") 'A representa planilha 2

A.Range(A.Cells(19, 2), A.Cells(22, 9)).ClearContents
A.Range(A.Cells(19, 2), A.Cells(22, 9)) = A.Range(A.Cells(31, 2), A.Cells(34, 9))

End Sub

Funcionou! :D
Obrigado Jonathaluis!
Valeu mesmo!
Cara, você é rápido!
Não sabia que poderia fazer assim (A.Range(A.Cells(19, 2), A.Cells(22, 9)).ClearContents )
Muito obrigado!