Prezados,
Tenho um formulário, na Plan3, que digito os dados nas textboxes para salva-as na Plan2.
Então os dados sã copiados para a Plan1.
Para tal, estava usando o código abaixo, que funcionava, onde as linhas de código que estão comentadas,
são as tentativas de formas diferentes, que fazem dar o mesmo erro na seção/linha que está em negrito:
Erro 1004 - O método select da classe range falhou.
e se trocar select por activate, dá o mesmo erro, porém com activate no lugar de select.
Public Sub salvar()
On Error Resume Next
Dim nprot As Variant
'Dim datapedido, dataresol, fimprazo As Date
Dim datapedido, dataresol, fimprazo As String
Dim assuntopedido, nomerequerente, lainlai, endresidencia, endbairro, _
destint, destext, acomp, acomp2, _
acomp3, acomp4, acomp5 As String
Dim fixo, cel As String
' controles principais ativados
nprot = Plan3.txtnumprotocolo
datapedido = Plan3.txtentradapedido
assuntopedido = Plan3.txtassunto
lainlai = Plan3.txtlai
fimprazo = Plan3.txtfimprazo
nomerequerente = Plan3.txtrequerente
endresidencia = Plan3.txtendereco
endbairro = Plan3.txtbairro
fixo = Plan3.txtfonefixo
cel = Plan3.txtcelular
destint = Plan3.txtdestinoint
destext = Plan3.txtdestinoext
dataresol = Plan3.txtdataresolucao
acomp = Plan3.txtacompanhamento
' controles desativados que só funcionarão se ativar a checkbox inserir acompanhamentos.
acomp2 = Plan3.txtacompanhamento2
acomp3 = Plan3.txtacompanhamento3
acomp4 = Plan3.txtacompanhamento4
acomp5 = Plan3.txtacompanhamento5
Plan3.txtacompanhamento2.Enabled = False
Plan3.txtacompanhamento3.Enabled = False
Plan3.txtacompanhamento4.Enabled = False
Plan3.txtacompanhamento5.Enabled = False
Dim molde As Worksheet
Set molde = Worksheets("Molde_botao_novo")
'campos que serão inseridos.
'Criação objeto worksheets
'Plan2.Activate
'Worksheets("Molde_botao_novo").Activate
With molde
'molde.Activate
.Activate
'Plan2.Range("A1:S1").ClearContents
'molde.Range("A1:S1").ClearContents
.Range("A1:S1").ClearContents
.Range("B1").Select
'molde.Range("B1").Select
'Plan2.Range("B1").Activate
'Worksheets("Molde_botao_novo").Range("B1").Select
ActiveCell.Value = nprot
.Range("C1").Select
'molde.Range("C1").Select
'Plan2.Range("C1").Activate
'Worksheets("Molde_botao_novo").Range("C1").Activate
ActiveCell.Value = datapedido
.Range("D1").Select
'molde.Range("D1").Select
'Plan2.Range("D1").Activate
'Worksheets("Molde_botao_novo").Range("D1").Activate
ActiveCell.Value = assuntopedido
.Range("E1").Select
'molde.Range("E1").Select
'Plan2.Range("E1").Activate
'Worksheets("Molde_botao_novo").Range("E1").Activate
ActiveCell.Value = lainlai
.Range("F1").Select
'molde.Range("F1").Select
'Plan2.Range("F1").Activate
'Worksheets("Molde_botao_novo").Range("F1").Activate
ActiveCell.Value = fimprazo
.Range("G1").Select
'molde.Range("G1").Select
'Plan2.Range("G1").Activate
'Worksheets("Molde_botao_novo").Range("G1").Activate
ActiveCell.Value = nomerequerente
.Range("H1").Select
'molde.Range("H1").Select
'Plan2.Range("H1").Activate
'Worksheets("Molde_botao_novo").Range("H1").Activate
ActiveCell.Value = endresidencia
.Range("I1").Select
'molde.Range("I1").Select
'Plan2.Range("I1").Activate
'Worksheets("Molde_botao_novo").Range("I1").Activate
ActiveCell.Value = endbairro
.Range("J1").Select
'molde.Range("J1").Select
'Plan2.Range("J1").Activate
'Worksheets("Molde_botao_novo").Range("J1").Activate
ActiveCell.Value = fixo
.Range("K1").Select
'molde.Range("K1").Select
'Plan2.Range("K1").Activate
'Worksheets("Molde_botao_novo").Range("K1").Activate
ActiveCell.Value = cel
.Range("L1").Select
'molde.Range("L1").Select
'Plan2.Range("L1").Activate
'Worksheets("Molde_botao_novo").Range("L1").Activate
ActiveCell.Value = destint
.Range("M1").Select
'molde.Range("M1").Select
'Plan2.Range("M1").Activate
'Worksheets("Molde_botao_novo").Range("M1").Activate
ActiveCell.Value = destext
.Range("N1").Select
'molde.Range("N1").Select
'Plan2.Range("N1").Activate
'Worksheets("Molde_botao_novo").Range("N1").Activate
ActiveCell.Value = dataresol
.Range("O1").Select
'molde.Range("O1").Select
'Plan2.Range("O1").Activate
'Worksheets("Molde_botao_novo").Range("O1").Activate
ActiveCell.Value = acomp
'campos que serão inseridos, quando houver dados para eles
.Range("P1").Select
'molde.Range("P1").Select
'Plan2.Range("P1").Activate
'Worksheets("Molde_botao_novo").Range("P1").Activate
ActiveCell.Value = acomp2
.Range("Q1").Select
'molde.Range("Q1").Select
'Plan2.Range("Q1").Activate
'Worksheets("Molde_botao_novo").Range("Q1").Activate
ActiveCell.Value = acomp3
.Range("R1").Select
'molde.Range("R1").Select
'Plan2.Range("R1").Activate
'Worksheets("Molde_botao_novo").Range("R1").Activate
ActiveCell.Value = acomp4
.Range("S1").Select
'molde.Range("S1").Select
'Plan2.Range("S1").Activate
'Worksheets("Molde_botao_novo").Range("S1").Activate
ActiveCell.Value = acomp5
End With
' apagar os dados das caixas de texto
Plan3.txtnumprotocolo = ""
Plan3.txtentradapedido = ""
Plan3.txtassunto = ""
Plan3.txtlai = ""
Plan3.txtfimprazo = ""
Plan3.txtrequerente = ""
Plan3.txtendereco = ""
Plan3.txtbairro = ""
Plan3.txtfonefixo = ""
Plan3.txtcelular = ""
Plan3.txtdestinoint = ""
Plan3.txtdestinoext = ""
Plan3.txtdataresolucao = ""
Plan3.txtacompanhamento = ""
Plan3.txtacompanhamento2 = ""
Plan3.txtacompanhamento3 = ""
Plan3.txtacompanhamento4 = ""
Plan3.txtacompanhamento5 = ""
' copiar os dados da plan2 para a plan1
Dim x As Long
x = Plan1.UsedRange.Rows.Count
Plan2.Range("A1:S1").Copy Destination:=Plan1.Range("A" & x)
Plan1.Select
Plan3.Visible = xlSheetHidden 'xlSheetVisible - xlSheetHidden
Call modplan1.atualizar_planilha
ActiveWorkbook.Save
MsgBox "Dados gravados com sucesso!", vbOKOnly, "Sucesso"
End Sub