Excel - COMBOBOX AYUDA

 
Vista:
sin imagen de perfil

COMBOBOX AYUDA

Publicado por DIEGO (8 intervenciones) el 27/09/2023 00:47:27
explico rápido... en el combobox1 de "DAS DE COMISIÓN" selecciono 1,2,3 o 4 días dependiendo los días de comisión, se van llenando los textbox de alimentación y hospedaje.. es decir..(1 día solo el textbox de "alimentación" del día 1,.. 2 días, el textbox de alimentación del primer día,hospedaje del 1er día y alimentación del segundo día ,3 días alimentación del 1er día , hospedaje del 1er día ,alimentación y hospedaje del 2o día y solo alimentación del día 3) si es zona 1 llevan un precio(alimentación $458,hospedaje $650) pero si es zona 2 los precios cambian(alimentación $650 y hospedaje $950) el problema es cuando seleccionaba el combobox2 me llenaba varios textbox o me los borraba,solo quiero que el combobox2 solo cambie el precio dependiendo la zona aunque yo ponga 1 o 3 o 2 días de comisión ...espero haberme explicado....de antemano muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

COMBOBOX AYUDA

Publicado por Antoni Masana (2478 intervenciones) el 27/09/2023 13:45:12
Vemos por partes

El ComboBox1_Change se entiende mejor asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
Private Sub ComboBox1_Change()
    Select Case ComboBox1
    	 Case Is = 1
    	     ' --- Alimentacion
             TextBox22 = "458"
             TextBox26 = ""
             TextBox29 = ""
             TextBox32 = ""
 
             ' --- Hospedaje
             TextBox23 = ""
             TextBox27 = ""
             TextBox30 = ""
             TextBox33 = ""
 
             ' --- Total
             TextBox24 = ""
             TextBox25 = ""
             TextBox31 = ""
             TextBox28 = ""
 
    	Case Is = 2
    	     ' --- Alimentacion
             TextBox22 = "458"
             TextBox26 = "458"
             TextBox29 = ""
             TextBox32 = ""
 
             ' --- Hospedaje
             TextBox23 = "658"
             TextBox27 = ""
             TextBox30 = ""
             TextBox33 = ""
 
             ' --- Total
             TextBox24 = ""
             TextBox25 = ""
             TextBox31 = ""
             TextBox28 = ""
 
    	Case Is = 3
    	     ' --- Alimentacion
             TextBox22 = "458"
             TextBox26 = "458"
             TextBox29 = "458"
             TextBox32 = ""
 
             ' --- Hospedaje
             TextBox23 = "658"
             TextBox27 = "658"
             TextBox30 = ""
             TextBox33 = ""
 
             ' --- Total
             TextBox24 = ""
             TextBox25 = ""
             TextBox31 = ""
             TextBox28 = ""
 
    	Case Is = 4
    	     ' --- Alimentacion
             TextBox22 = "458"
             TextBox26 = "458"
             TextBox29 = "458"
             TextBox32 = "458"
 
             ' --- Hospedaje
             TextBox23 = "658"
             TextBox27 = "658"
             TextBox30 = "658"
             TextBox33 = ""
 
             ' --- Total
             TextBox24 = ""
             TextBox25 = ""
             TextBox31 = ""
             TextBox28 = ""
    End Select
End Sub

El ComboBox2_Change no existe código y no se que hace.

Este código hace daño a los ojos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Sub textbox4_change()
    Select Case TextBox4
        Case Is >= 1: TextBox14 = "VEHICULO OFICIAL": TextBox14.Enabled = True
    End Select
 
    Select Case TextBox4
        Case Is >= 1: TextBox15 = "TOYOTA": TextBox15.Enabled = True
    End Select
 
    Select Case TextBox4
        Case Is >= 1: TextBox16 = "PICK UP": TextBox16.Enabled = True
    End Select
 
    Select Case TextBox4
        Case Is >= 1: TextBox17 = "2009": TextBox17.Enabled = True
    End Select
 
    Select Case TextBox4
        Case Is >= 1: TextBox18 = "NA-4732-A": TextBox17.Enabled = True
    End Select
End Sub


Es mejor asi:

1
2
3
4
5
6
7
8
9
Private Sub textbox4_change()
    If TextBox4 >= 1 Then
        TextBox14.Enabled = True: TextBox14 = "VEHICULO OFICIAL"
        TextBox15.Enabled = True: TextBox15 = "TOYOTA"
        TextBox16.Enabled = True: TextBox16 = "PICK UP"
        TextBox17.Enabled = True: TextBox17 = "2009"
        TextBox17.Enabled = True: TextBox18 = "NA-4732-A"
    End If
End Sub

Del resto del problema no se que decirte.


He realizado algunos retoques en el código, digamos que lo he peinado.

Otra cosa el nombre de los objetos es mejor cambiarlo por nombres mas acordes a su uso para poder leer mejor el codigo.
Por ejemplo en lugar de TextBox22 poner Alimenta_1
Por ejemplo en lugar de TextBox23 poner Hospeda_1, etc.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

COMBOBOX AYUDA

Publicado por Antoni Masana (2478 intervenciones) el 28/09/2023 13:20:08
Te paso una versión más simplificada

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Private Sub ComboBox1_Change()
 
       Aliment_1 = IIf(ComboBox2.ListIndex = 0, ZONA_1_ALIMENT, ZONA_2_ALIMENT)
       Hospeda_1 = IIf(ComboBox2.ListIndex = 0, ZONA_1_HOSPEDA, ZONA_2_HOSPEDA)
       Total_1 = Val(Aliment_1.Text) + Val(Hospeda_1.Text)
 
   If ComboBox1.ListIndex <= 2 Then
       Aliment_2 = IIf(ComboBox2.ListIndex = 0, ZONA_1_ALIMENT, ZONA_2_ALIMENT)
       Hospeda_2 = IIf(ComboBox2.ListIndex = 0, ZONA_1_HOSPEDA, ZONA_2_HOSPEDA)
       Total_2 = Val(Aliment_2.Text) + Val(Hospeda_2.Text)
   End If
 
   If ComboBox1.ListIndex <= 3 Then
       Aliment_3 = IIf(ComboBox2.ListIndex = 0, ZONA_1_ALIMENT, ZONA_2_ALIMENT)
       Hospeda_3 = IIf(ComboBox2.ListIndex = 0, ZONA_1_HOSPEDA, ZONA_2_HOSPEDA)
       Total_3 = Val(Aliment_3.Text) + Val(Hospeda_3.Text)
   End If
 
   If ComboBox1.ListIndex <= 4 Then
       Aliment_4 = IIf(ComboBox2.ListIndex = 0, ZONA_1_ALIMENT, ZONA_2_ALIMENT)
       Hospeda_4 = IIf(ComboBox2.ListIndex = 0, ZONA_1_HOSPEDA, ZONA_2_HOSPEDA)
       Total_4 = Val(Aliment_4.Text) + Val(Hospeda_4.Text)
    End If
 
    Suma_Alimen.Text = Val(Aliment_1.Text) + Val(Aliment_2.Text) + Val(Aliment_3.Text) + Val(Aliment_4.Text)
    Suma_Hosped.Text = Val(Hospeda_1.Text) + Val(Hospeda_2.Text) + Val(Hospeda_3.Text) + Val(Hospeda_4.Text)
End Sub
 
Private Sub ComboBox2_Change()
    Call ComboBox1_Change
End Sub


Adjunto Libro.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

COMBOBOX AYUDA

Publicado por DIEGO (8 intervenciones) el 29/09/2023 06:51:56
de verdad mil gracias ya me había bloqueado y no avanzaba nada
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

COMBOBOX AYUDA

Publicado por DIEGO (8 intervenciones) el 29/09/2023 20:18:05
HOLA, ANTONI PERDON NO ME HABIA FIJADO Y QUISIERA DE TU AYUDA .. En el mismo formulario tengo un textbox con la fecha de inicio de la comisión pero al capturar en el textbox por decir 15/10/2023 al dar guardar en la hoja de Excel me aparece al revés es decir 10/15/2023 y es que necesito que dependiendo los días me valla sumando un día a la fecha inicial en la hoja de Excel pero si lo meto como texto en el textbox ( 15 de octubre de 2023)ya no me sumaria los demás días en la hoja porque estaría sumando números con texto, entonces tengo una columna donde se guarda el valor del textboxs de fecha como fecha y tengo otra columna para convertir esa misma fecha a texto....tengo todo esto porque convino correspondencia con Word y al combinar no me aparecen las fechas largas o de texto en Word de ante mano gracias por tu tiempo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

COMBOBOX AYUDA

Publicado por Antoni Masana (2478 intervenciones) el 29/09/2023 22:17:54
Creo que hay una función para convertir fecha larga a fecha corta.
Lo miro.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

COMBOBOX AYUDA

Publicado por Antoni Masana (2478 intervenciones) el 29/09/2023 23:48:51
Unas preguntas:

HOLA, ANTONI PERDON NO ME HABIA FIJADO Y QUISIERA DE TU AYUDA .. En el mismo formulario tengo un textbox con la fecha de inicio de la comisión pero al capturar en el textbox --- ¿Que TextBox? --- por decir 15/10/2023 al dar guardar en la hoja de Excel --- ¿Que columna? --- me aparece al revés es decir 10/15/2023 y es que necesito que dependiendo los días me valla sumando un día a la fecha inicial en la hoja de Excel pero si lo meto como texto en el textbox ( 15 de octubre de 2023) --- ¿Es el mismo textBox que antes? --- ya no me sumaria los demás días en la hoja porque estaría sumando números con texto, entonces tengo una columna donde se guarda el valor del textboxs de fecha como fecha y tengo otra columna para convertir esa misma fecha a texto....tengo todo esto porque convino correspondencia con Word y al combinar no me aparecen las fechas largas o de texto en Word de ante mano gracias por tu tiempo


Fecha en la hoja BASE

1
2
3
4
5
6
7
8
9
10
11
- Columna C  -- Texto <---
- Columna I  -- Fecha
- Columna J  -- Fecha
- Columna K  -- Fecha
- Columna P  -- Fecha
- Columna Q  -- Fecha
- Columna R  -- Fecha
- Columna AZ -- Texto <---
- Columna BT -- Fecha
- Columna BU -- Fecha
- Columna BZ -- Fecha

¿Hay alguna razón para las fechas de las columnas C y AZ sean texto?

Detallame un poco más el funcionamiento porque no lo entiendo.
No entiendo para que me sirve el fichero VIATICOS.DOCX.

En el ComboBox1 te adjuntare la versión más corta y modificare los cambios.


Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

COMBOBOX AYUDA

Publicado por DIEGO (8 intervenciones) el 01/10/2023 01:35:15
ok explico...esa base de datos la uso para combinar correspondencia el el documento de word que te envíe, el problema es que si en la base en excel las columnas que me comentas las dejo como fechas al combinar correspondencia en el documento de word necesito a fuerzas que se fecha larga por que asi lo piden en la oficina(necedad de ellos) pero si la dejo como fecha en excel en lugar de texto al combinar correspondencia me da broncas convertirla a fecha larga en word...es por eso que lo había dejado como texto y no como fecha

espero haberme explicado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

COMBOBOX AYUDA

Publicado por DIEGO (8 intervenciones) el 01/10/2023 02:04:31
es que en si creo que el problema en si recae mas que nada en los textbox donde capturo fechas ya que al guardarlos en la base de datos me los guarda como texto y en si es lo que no quiero, quiero guardarlos como fecha el problema es que los los guarda cambiados si capturo por decir 15/10/2023(15 de octubre de 2023) al pasarlo a la hoja de excel desde le formulario me lo guarda así 10/15/2023 me pone otra fecha y la guarda como texto, entonces al combinar correspondencia no lo reconoce como fecha.. espero haberme explicado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

COMBOBOX AYUDA

Publicado por Antoni Masana (2478 intervenciones) el 02/10/2023 20:28:49
Para solucionar el problema de las fechas utiliza esta opción al guardar en las celdas:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub BOTONGUARDAR()
    Dim nuevafila As Range
 
    Application.ScreenUpdating = False
 
    With UserForm1A
        Set nuevafila = Hoja1.ListObjects("Tablabase").ListRows.Add.Range
 
        nuevafila.Cells(1) = .TxtIDNum.Value
        nuevafila.Cells(2) = .TextBox1.Value
        nuevafila.Cells(3) = DateValue(.TextBox4.Value)
        nuevafila.Cells(4) = .TextBox3.Value
        nuevafila.Cells(5) = .TextBox2.Value
       'nuevafila.Cells(6) = .TextBox5.Value
        nuevafila.Cells(6) = .ComboBox1.Value
        nuevafila.Cells(7) = .TextBox6.Value
        nuevafila.Cells(9) = DateValue(.TextBox7.Value)
        nuevafila.Cells(10) = DateValue(.TextBox7.Value)
        nuevafila.Cells(11) = DateValue(.TextBox7.Value)

Y a la celda le das el formato que necesites.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

COMBOBOX AYUDA

Publicado por DIEGO (8 intervenciones) el 08/10/2023 03:40:05
MUCHAS GRACIAS PERDON POR LA TARDANZA ,AHORA QUE LO HICE ME SALEN MUCHOS ERRORES LO VOY A CHECAR BIEN Y YA CUALQUIER COSAS TE VUELVO A MOLESTAR
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

COMBOBOX AYUDA

Publicado por DIEGO (8 intervenciones) el 18/12/2023 16:43:53
Hola buen día primero para agradecer la ayuda y segundo volviendo al tema, hice algunos movimientos en el formulario, como puedo hacer para que esos mismos textbox que cambian la cantidad de alimentación y hospedaje cambien dependiendo el tipo de personal ya que cuando es sindicalizado es un precio, de confianza es otro y así sucesivamente.... ojalá pueda explicarme y saludos de antemano...gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

COMBOBOX AYUDA

Publicado por Antoni Masana (2478 intervenciones) el 21/12/2023 16:35:13
Hay que hacer varias cosas para hacer las cosas bien.

1º.- Hay que indicar cual es el primer objeto donde se sitúa el cursor y el orden en el que tiene que ir saltando. Primero TextBox de CONSECUTIVO después salta a No de oficio después FECHA DE OFICIO después COMISIONADO , etc. y esto se hace con la propiedad TabIndex

2º.- Cargo y Personal no son editables, ¿Me equivoco?, en lugar de TextBox mejor un Label. Así mismo con los campos que no se deban modificar por el usuario.

3º- DIAS DE COMISION y ZONA no se ha de poder modificar hasta que no este relleno el COMISIONADO.

4º.- Crear una hoja de tablas auxiliares con la lista de Comisionado, Cargo, Personal, y precios Alimentación y Hospedaje por Zonas.

5º.- Los campos Cargo, Personal, y precios Alimentación y Hospedaje por Zonas se rellenan a partir de la tabla auxiliar.

Esto esa groso modo lo que hay que ir rectificando para solucionar el problema que planteas.

Adjunto Libro con ejemplo Tabla Auxiliar.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

COMBOBOX AYUDA

Publicado por DIEGO (8 intervenciones) el 21/12/2023 16:50:41
HOLA QUE TAL NO ENTENDI MUY BIEN PERO ESTAO SERIA COMO CON TABLAS DEPENDIENTES? TENDRAI QUE ENLAZAR 3 TABLAS? PRIMERO COMISIONADO,LUEGO POR DIAS DE COMISION? PERO A LA HORA DE LA ZONA TENDRIA UQE HACER OTRA?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar