Programación en VBA en excel

Por favor me podrías ayudar con un formulario que estoy montando en excel, consiste en lo siguiente:
1. Tengo dificultades en tener la opción que en un cuadro de lista me permita al seleccionar una variable de esa lista poder escribirle en un cuadro de texto adjunto el % correspondiente y así sucesivamente para cada variable del cuadro de lista, e.g. Si escojo salarios, que pueda poner 30, y que en el momento que me posesione en otra variable e.g. Viáticos, el 30 que había puesto al principio lo guarde en una hoja temporal automáticamente y que me permita asignarle a viáticos el % que le corresponda, es decir donde estaba 30 quede vacío, y que al finalizar la asignación de porcentajes me pueda posesionar en el guardar general, ya que el formulario tiene otra información además de lo que te he explicado, y que la información del cuadro de lista con su correspondiente porcentaje aparezca donde está el resto de la información direccionada en una hoja de excel, situación que tengo para el resto de la información que llene en el formulario.
Si estás de acuerdo podría enviarte el formulario para que lo veas, quizás de esa forma sea más cómodo de verlo.
2. Existe la posibilidad de imprimir la hoja de excel donde expongo los datos llenados en el formulario de forma completa, porque sucede que en la hoja de excel tengo cuadros de texto con barra espaciadora exactamente igual en la que te estoy escribiendo pero como tú lo sabes no se muestra toda la información de forma visible, es necesario desplazarse, es posible entonces darle un comando de impresión que me permita imprimir lo que no se ve. Y si no se puede que me recomiendas hacer.
Te agradezco tú ayuda,
Muchas gracias,
Leo

1 Respuesta

Respuesta
1
'Para tu primer pregunta, supongo que tienes un UserForm y
'una cuadro de lista y un cuadro de texto, cuando tu
'seleccionas un valor en el cuadro de lista, en el cuadro de
'texto te aparecera su respectivo porcentaje en caso de que lo
'tenga o poder establecerle uno, esto es lo que supongo...
'
'Lo que quieres tiene muchas variantes, yo lo haria asi,
'debes de tener una hoja llamada Hoja2 que tengas datos
'en las celdas A1 hasta B6
'
'Valores | Porcentaje
'Sueldo
'Salario
'Ventas
'Comision
'Otros
Option Explicit
Dim Fila As Integer
Private Sub ListBox1_Click()
Fila = ListBox1.ListIndex + 2
TextBox1.Text = Worksheets("Hoja2").Cells(Fila, 2).Value
End Sub
Private Sub TextBox1_Change()
Dim Porcentaje As Integer
Porcentaje = Val(TextBox1.Text)
Worksheets("Hoja2").Cells(Fila, 2).Value = Porcentaje
End Sub
Private Sub UserForm_Initialize()
Dim strEstaHoja As String
Application.ScreenUpdating = False
strEstaHoja = ActiveSheet.Name
Worksheets("Hoja2").Activate
ListBox1.RowSource = "A2:A6"
Worksheets(strEstaHoja).Activate
Application.ScreenUpdating = True
End Sub
'Tu segunda pregunta no la entendi, ¿podrias ser mucho mas explicito?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas