Bom dia
Estou tentando fazer um botão para copiar valores de uma planilha para outra. Tentei fazer através do método de gravação de macros, porém estou tendo um problema:
A célula a ser copiada contém uma fórmula. Quero copiar apenas o valor, porém a macro não está respondendo conforme desejado…
REM ***** BASIC *****
Sub Teste
GetValueWhereEnterWhere "Plan1", "B5", "Plan2", "C3"
End Sub
'------- Pegar Valor Onde Digitar Onde
Sub GetValueWhereEnterWhere ( oSheet$, oCel$, oSheett$, oCell$ )
' Example Of Use: GetValueWhereEnterWhere "Plan1", "B5", "Plan2", "C3"
oValue = ThisComponent.Sheets.GetByName( oSheet ).getCellRangeByName( oCel ).Value
ThisComponent.Sheets.GetByName( oSheett ).getCellRangeByName( oCell ).Value = oValue
End sub
tiofrigs.ods (9.0 KB)
Só para completar o assunto: para texto e formula…
'------- Pegar Texto Onde Digitar Onde
Sub GetStringWhereEnterWhere ( oSheet$, oCel$, oSheett$, oCell$ )
' Example Of Use: GetStringWhereEnterWhere "Plan1", "B5", "Plan2", "C3"
oString = ThisComponent.Sheets.GetByName( oSheet ).getCellRangeByName( oCel ).String
ThisComponent.Sheets.GetByName( oSheett ).getCellRangeByName( oCell ).String = oString
End sub
'------- Pegar Formula Onde Digitar Onde
Sub GetFormulaWhereEnterWhere ( oSheet$, oCel$, oSheett$, oCell$ )
' Example Of Use: GetFormuleWhereEnterWhere "Plan1", "B5", "Plan2", "C3"
oFormula = ThisComponent.Sheets.GetByName( oSheet ).getCellRangeByName( oCel ).Formula
ThisComponent.Sheets.GetByName( oSheett ).getCellRangeByName( oCell ).Formula = oFormula
End sub
Bom dia sr Schiavinatto,
Obrigado pela ajuda.
Se puder solicitar mais um pouco, estou tentando inserir a macro (porém, como minha experiência é próxima de zero, estou com um pouco de dificuldade).
Poderia corrigir?
Quero copiar o resultado da fórmula contida na célula “A18” da Planilha “Cadastro” na célula “A2” da Planilha “PACIENTES”
REM ***** BASIC *****
Sub Programando_Gravar
GlobalScope.BasicLibraries.loadLibrary("LibreMacro")
InsertRows("PACIENTES", 2, 1)
**GetValueWhereEnterWhere "PACIENTES", "A2", "Cadastro", "A18"**
** oString = ThisComponent.Sheets.GetByName( oSheet ).getCellRangeByName( oCel ).String**
** ThisComponent.Sheets.GetByName( oSheett ).getCellRangeByName( oCell ).String = oString**
Cell("PACIENTES", "B2").String = Cell("Cadastro", "B18").String
Cell("PACIENTES", "C2").String = Cell("Cadastro", "C18").String
Cell("PACIENTES", "D2").String = Cell("Cadastro", "D18").String
Cell("PACIENTES", "E2").String = Cell("Cadastro", "E18").String
Cell("PACIENTES", "F2").String = Cell("Cadastro", "F18").String
Cell("PACIENTES", "G2").String = Cell("Cadastro", "G18").String
Cell("PACIENTES", "H2").String = Cell("Cadastro", "H18").String
Cell("PACIENTES", "I2").String = Cell("Cadastro", "I18").String
Cell("PACIENTES", "J2").String = Cell("Cadastro", "J18").String
Cell("PACIENTES", "K2").String = Cell("Cadastro", "K18").String
Cell("PACIENTES", "L2").String = Cell("Cadastro", "L18").String
Cell("PACIENTES", "M2").String = Cell("Cadastro", "M18").String
Cell("PACIENTES", "N2").String = Cell("Cadastro", "N18").String
Cell("PACIENTES", "O2").String = Cell("Cadastro", "O18").String
Cell("PACIENTES", "P2").String = Cell("Cadastro", "P18").String
Cell("PACIENTES", "Q2").String = Cell("Cadastro", "Q18").String
SortAsc("PACIENTES", "A2:Q10000", 17)
end sub
É de onde para onde…
Sub Teste
GetValueWhereEnterWhere "Cadastro", "A18", "PACIENTES", "A2"
End Sub
Obs… A macro ```
GetValueWhereEnterWhere
tem que constar no arquivo…
Muito obrigado!