Como eu arrasto cálculos complexos em um escritório aberto.

1

Por exemplo, se A1 contiver 30 e, em A2, eu escrever =A1-6 , então receberei 27 em A2 e, se eu clicar no pequeno squair preto no canto inferior direito de A2 e arrastá-lo para baixo, recebo uma coluna que se parece com isso:

30
27
24
21
18
15
12

E assim por diante.

Se eu tentar fazer isso com uma fórmula de múltiplas variáveis, não funcionará. Por exemplo, se eu digitar em A2 = (A1 - B1)*C1 e arrastar para baixo da mesma maneira, a próxima célula terá a fórmula = (A2 - B2)*C2 . Mas eu só quero que o A # seja incrementado.

Como faço isso?

    
por David 14.07.2013 / 23:58

2 respostas

1

O "$" antes de uma letra (coluna) ou número (linha) impedirá o incremento automático. "$ a $ 2" nunca será incrementado. "a $ 2" a coluna só incrementa. "$ a2" a linha só incrementa

type in A2 = (A1 - B1)*C1
 I only want the A# to get incremented
        a2 = ($a1-$b$1)*$c$1
    
por 15.07.2013 / 01:07
0

Aqui está uma macro para você:

REM  *****  BASIC  *****

Sub Main


End Sub


sub arg
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$4"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "StringName"
args2(0).Value = "30"


dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args2())
dim args4(0) as new com.sun.star.beans.PropertyValue

for a=0 to 100
args1(0).Name="ToPoint"
args1(0).Value="a"+(a+4)

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:JumpToNextCell", "", 0, Array())

rem ----------------------------------------------------------------------

args4(0).Name = "StringName"
args4(0).Value = "="&30-(3*a)


dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args4())
next a
rem ----------------------------------------------------------------------

end sub
    
por 15.07.2013 / 00:55