De formula a código

07/12/2007 - 20:27 por Daniel SL | Informe spam
Hola a todos

Me gustarían saber como convertir una formula a un valor real por medio de
código lo explico de esta forma:

en la celda [c2] tengo la siguiente formula ...
=INIDIRECTO(DIRECCION($A$2,1)) y el resultado quiero que me aparezca en la
celda [k2] pero en un valor real, se que con poner esto =c2 me jala el
resultado, pero eso es lo que no quiero sino que me de el resultado y creo
que eso solo se puede por código.

Si alguien me pudiera ayudar le agradecería mucho

Un saludo
Daniel SL

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
07/12/2007 - 22:23 | Informe spam
hola, Daniel !

... como convertir una formula a un valor real por medio de codigo lo explico de esta forma:
en la celda [c2] tengo la siguiente formula ... =INIDIRECTO(DIRECCION($A$2,1))
y el resultado quiero que me aparezca en la celda [k2] pero en un valor real
se que con poner esto  me jala el resultado, pero eso es lo que no quiero sino que me de el resultado ...



op1: [k2] = [c2]
op2: Range("k2") = Range("c2")

variantes (cualquiera de las anteriores agregando la propiedad .Value):
[k2].Value = [c2].Value

o... usando la secuencia "logica" cuando copias/pegas valores (mas lineas de codigo)
Range("c2").Copy
Range("k2").PasteSpecial xlPasteValues
Application.CutCopyMode = False

saludos,
hector.
Respuesta Responder a este mensaje
#2 Daniel SL
08/12/2007 - 03:51 | Informe spam
Gracias por contestar Héctor

Pero me la pones dificil de codigo casi no se ,,, como cpongo lo que me
indicas pliss

Gracias

Un saludo
DanielSL

"Héctor Miguel" escribió en el mensaje de
noticias:
hola, Daniel !

... como convertir una formula a un valor real por medio de codigo lo
explico de esta forma:
en la celda [c2] tengo la siguiente formula ...
=INIDIRECTO(DIRECCION($A$2,1))
y el resultado quiero que me aparezca en la celda [k2] pero en un valor
real
se que con poner esto  me jala el resultado, pero eso es lo que no
quiero sino que me de el resultado ...



op1: [k2] = [c2]
op2: Range("k2") = Range("c2")

variantes (cualquiera de las anteriores agregando la propiedad .Value):
[k2].Value = [c2].Value

o... usando la secuencia "logica" cuando copias/pegas valores (mas lineas
de codigo)
Range("c2").Copy
Range("k2").PasteSpecial xlPasteValues
Application.CutCopyMode = False

saludos,
hector.


Respuesta Responder a este mensaje
#3 Héctor Miguel
08/12/2007 - 05:07 | Informe spam
hola, Daniel !

... de codigo casi no se ,,, como ongo lo que me indicas pliss



(pues) normalmente en un modulo de codigo desde el editor de vba (atajo de teclado): {Alt}+{F11} -> insertar / modulo

Sub Valor_de_C2_en_K2()
[k2] = [c2]
End Sub

(probablemente) habria variaciones dependiendo de como necesites que se pasen los datos entre las celdas
(p.e. en automatico cada vez que se modifique alguna celda -cual ?-)
y/o de que tan real o hipotetico hubiera sido tu ejemplo -?-

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ las consultas anteriores __
... como convertir una formula a un valor real por medio de codigo lo explico de esta forma:
en la celda [c2] tengo la siguiente formula ... =INIDIRECTO(DIRECCION($A$2,1))
y el resultado quiero que me aparezca en la celda [k2] pero en un valor real
se que con poner esto  me jala el resultado, pero eso es lo que no quiero sino que me de el resultado ...



op1: [k2] = [c2]
op2: Range("k2") = Range("c2")

variantes (cualquiera de las anteriores agregando la propiedad .Value):
[k2].Value = [c2].Value

o... usando la secuencia "logica" cuando copias/pegas valores (mas lineas de codigo)
Range("c2").Copy
Range("k2").PasteSpecial xlPasteValues
Application.CutCopyMode = False
Respuesta Responder a este mensaje
#4 Daniel SL
08/12/2007 - 17:21 | Informe spam
Hola de nuevo..

Comento si mira lo que intento es sacar unas imagines ocupando unos délos
códigos que me has elaborado ya tiene algo de tiempo y la forma de sacar las
imágenes es poniendo el nombre de la imagen :) pongo el código y continuo
explicando:

Sub RestablecerEventos()
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range):
If Not Application.Intersect(Target, Range("a5:au1999")) Is Nothing _
Then Range("A2") = Target.Row
Range("b3").Formula = Range("b2").Formula
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target.Address = "$J$2" Then Exit Sub
Dim De_donde As String, Foto As Object, _
Arriba As Double, Izquierda As Double, Ancho As Double, Alto As
Double
Application.ScreenUpdating = False
On Error Resume Next
Me.Shapes("La_Foto").Delete
De_donde = "C:\Inventario2007\" & [j2] & ".jpg" 'Aquí va la ruta donde
están las imágenes
If Dir(De_donde) = "" Then Exit Sub
Set Foto = Me.Pictures.Insert(De_donde)
With Me.Range("g5:k24")
Arriba = .Top
Izquierda = .Left
Ancho = .Offset(0, .Columns.Count).Left - .Left
Alto = .Offset(.Rows.Count, 0).Top - .Top
End With
With Foto
.Name = "La_Foto"
.Top = Arriba
.Left = Izquierda
.Width = Ancho
.Height = Alto
End With
Set Foto = Nothing

Range("c2").Copy
Range("J2").PasteSpecial xlPasteValues
Application.CutCopyMode = False

End sub

ahora bien como puedes darte cuenta las imagenes solo aparecen si tu
escribes su nombre, y bueno ami se me ocurrio poner la siguiente formula en
la celda [c2] =INIDIRECTO(DIRECCION($A$2,1)) pero al ver que no salia nada
pues se me ocurrio en otra celda las [j2] poner esta una macro que el
resultado de la celda [c2] lo refleje en su valor real y no en formula ya
que la macro que me diste solo funciona poniendo en el nombre de la imagen
uff no se si me di ha entender espero y me puedan ayudar gracias y bueno la
formula que me diste al final pues en ocaciones saca el resultado y en tras
no :(


Sub Valor_de_c2_en_j2()
[c2] = [j2]
End Sub

esta la puse al final del codigo

gracias por tu ayuda

un saludo
DanielSL
Respuesta Responder a este mensaje
#5 Héctor Miguel
11/12/2007 - 06:54 | Informe spam
hola, Daniel !

(creo que) te estas complicando con codigos innecesarios -?-
por que no expones cual es la relacion del rango "a5:au1999" con las imagenes y las intenciones de tu codigo ?

es probable que podamos aligerar las lineas (dependiendo de la informacion des/conocida de tus exposiciones) -???-

saludos,
hector.

__ la consulta original __
... intento... sacar unas imagines... y la forma... es poniendo el nombre de la imagen
pongo el codigo y continuo explicando:
Sub RestablecerEventos()
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range):
If Not Application.Intersect(Target, Range("a5:au1999")) Is Nothing _
Then Range("A2") = Target.Row
Range("b3").Formula = Range("b2").Formula
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target.Address = "$J$2" Then Exit Sub
Dim De_donde As String, Foto As Object, _
Arriba As Double, Izquierda As Double, Ancho As Double, Alto As Double
Application.ScreenUpdating = False
On Error Resume Next
Me.Shapes("La_Foto").Delete
De_donde = "C:\Inventario2007\" & [j2] & ".jpg" 'Aquí va la ruta donde estan las imagenes
If Dir(De_donde) = "" Then Exit Sub
Set Foto = Me.Pictures.Insert(De_donde)
With Me.Range("g5:k24")
Arriba = .Top
Izquierda = .Left
Ancho = .Offset(0, .Columns.Count).Left - .Left
Alto = .Offset(.Rows.Count, 0).Top - .Top
End With
With Foto
.Name = "La_Foto"
.Top = Arriba
.Left = Izquierda
.Width = Ancho
.Height = Alto
End With
Set Foto = Nothing

Range("c2").Copy
Range("J2").PasteSpecial xlPasteValues
Application.CutCopyMode = False

End sub

... las imagenes solo aparecen si tu escribes su nombre, y bueno ami se me ocurrio poner la siguiente formula en la celda
[c2] =INIDIRECTO(DIRECCION($A$2,1)) pero al ver que no salia nada pues se me ocurrio en otra celda la
[j2] poner esta una macro que el resultado de la celda [c2] lo refleje en su valor real y no en formula
ya que la macro que me diste solo funciona poniendo en el nombre de la imagen
uff no se si me di ha entender espero y me puedan ayudar gracias y bueno la formula que me diste al final
pues en ocaciones saca el resultado y en tras no :(

Sub Valor_de_c2_en_j2()
[c2] = [j2]
End Sub

esta la puse al final del codigo...
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida