Recently in Macros Category
Bueno la verdad que Administrador no ha sufrido por el famoso VPN en este ejemplo lo calculamos con la funcion de Excel VNA y de forma tradicional sin funcion. Ademas se pretende buscar la TIR que es la tasa que descuenta los flujos de efectivo para que el VPN sea igual a CERO.
Por ello se dice que si la TREMA es mayor a la TIR el VPN sera negativo. Si son Iguales EL VPN es CERO y si la TREMA es menor a la TIR el VPN es positivo. Que loco.
Para encontar la TIR se emplea buscar Objetivo, solo que desde VBA
Cuando nos desplazamos por una hoja de cálculo con muchos datos es tedioso, saber de dónde vienen los datos.
Para eso es el siguiente macro.
En ocaciones nuestros libros continen muchas hojas y esto hace dificil su manejo. Para resolver esto existen varias opciones. Como crear una hoja Más Indexada.
Aqui les dejo lo que yo empleo.
Inserto un UserForm1 en el editor de VBA. Después un ListBox1 para que aqui se pongan todos los nombres de las hojas del libro.
Bueno esto es la parte creativa de esto, el código.
Lo primero, es colocar código al UserForm1
'----------------------------------------------------------------------------
Private Sub UserForm_Initialize()
Caption = "Para Ir Doble Click Sobre El Nombre De La Hoja"
Dim x As Integer
Dim M As Variant
ListBox1.ColumnCount = 1
For x = 1 To Worksheets.Count
M = ActiveWorkbook.Worksheets(x).Name
ListBox1.AddItem M
Next x
End Sub
'-----------------------------------------------------------------------------
En español:
Cada vez que se inicia el UserForm se establece como etiqueta el Msg "Para Ir Doble Click Sobre El Nombre De La Hoja"
Realizamos dos declaraciones de variables, una Integer(Entero), Variant(General)
Ocupamos un contador para agregar todas las hojas del libro al ListBox1. Como cualquier libro de excel debe tener minimo una hoja establecemos el contador en uno y para saber cuantas hojas tiene el libro empleamos la propiedad Worksheets.Count
El contador recorre todas las hojas del libro y las agrega a el ListBox1 y salimos del procedimiento.
Para selecionar la hoja.
'------------------------------------------------------------------------------------------------
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
On Error Resume Next
Sheets(ListBox1.Value).Select
End Sub
'------------------------------------------------------------------------------------------------
El código se pone en el ListBox1 en el evento DblClick