hola a todos, tengo un pequeño problemita con una programa en VBA de excel.
La idea es que dependiendo de dos valores (numeros) en 2 celdas, arroje un resultado a otra celda.
lo tengo hecho pero utiliza celdas específicas y eso no es lo que quiero.
les dejo el código a ver si ayuda:
Sub prueba()
Dim v1 As Integer
Dim v2 As Integer
Dim res As Integer
Dim dil1 As Integer
Dim dil2 As Integer
v1 = Range("I2").Value
v2 = Range("I3").Value
dil1 = Range("N2").Value
dil2 = Range("N3").Value
If (v1 >= 30 And v1 <= 80) Then
If (v2 >= 30 And v2 <= 80) Then
res = 1
Else
res = dil1
End If
ElseIf (v2 >= 30 And v2 <= 80) Then
If (v1 >= 30 And v1 <= 80) Then
res = 1
Else
res = dil2
End If
Else
res = 10
End If
Range("J2").Value = res
End Sub
si se fijan, trabaja con celdas específicas (I2, I3, N2, N3, y el resultado en J2), el problema está en que si quiero agregar otros datos, por ejemplo, en las celdas I4, I5, N4, N5, y el resultado en J4, no tenga que agregarlos al codigo.
no se si me entenderan XD
basicamente lo que quiero es que pueda trabajar con celdas no específicas.
Info adicional: las columnas siempre serán las mismas
I - para leer los datos (numeros)
N - tambien son datos (numeros) a leer
J - para el resultado
se leen 2 filas y el resultado en una, si se fijaron en el codigo, se leyó I2, e I3 y el resultado solo en J2.
espero que me puedan ayudar.
Actualizar:los datos a leer siempre estarán adyacentes uno debajo del otro y la respuesta al lado del primero
Copyright © 2024 Q2A.ES - All rights reserved.
Answers & Comments
Verified answer
Perdes utilizar un for
For y = 1 To 2
v1 = Range("I" & y).Value
Next y
ya dependeria de ti para lo demas se me ocurre que puedas uzar si espar "y"
o utilizar banderas