Saludos cordiales amigos de MREXCEL, gracias por aceptar mi suscripción
Tengo un archivo que deseo automatizar 2 procesos, que son muy similares ambos. Les explico:
1. La Hoja Costos Productos Nacionales debe enviar a la hoja Precios Productos y Servicios la información de cada producto ingresado y lo debe hacer al colocar el Precio de Compra (columna E). La información que debe enviar es la contenida en las columnas A, B, C y F a las columnas A, B, C y D de la hoja destino y cursor quedarse en la celda E de esta hoja.
2. La Hoja Costos Productos Importados debe enviar a la hoja Precios Productos y Servicios la información de cada producto ingresado y lo debe hacer al colocar SI en la columna V. La información que debe enviar es la contenida en las columnas A, B, C y W a las columnas A, B, C y D de la hoja destino y cursor quedarse en la celda E de esta hoja.
El código VBA que estoy usando es de otro archivo similar y lo estoy adaptando a éste. Ya logré enviar de ambas hojas de origen las columnas A, B y C, pero me falta la columna F de la primera hoja y la columna W de la segunda. Me podrían brindar su ayuda
Muy agradecido de antemano por su valiosa ayuda.
CODIGO VBA DE COSTOS PRODUCTOS NACIONALES:
Sub EnviarDatosCostosProductosNacionalesAPreciosProductosYServiciosA()
Application.ScreenUpdating = False
Dim ult, ult1 As Long
Dim rng As Range
ult2 = Sheets("COSTOS PRODUCTOS NACIONALES").Range("A" & Rows.Count).End(xlUp).Row
ult3 = Sheets("COSTOS PRODUCTOS NACIONALES").Range("B" & Rows.Count).End(xlUp).Row
ult4 = Sheets("COSTOS PRODUCTOS NACIONALES").Range("C" & Rows.Count).End(xlUp).Row
ult6 = Sheets("COSTOS PRODUCTOS NACIONALES").Range("F" & Rows.Count).End(xlUp).Row
ult = Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("A" & Rows.Count).End(xlUp).Row + 1
ult1 = Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("B" & Rows.Count).End(xlUp).Row + 1
ult5 = Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("C" & Rows.Count).End(xlUp).Row + 1
ult7 = Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("D" & Rows.Count).End(xlUp).Row + 1
Application.ScreenUpdating = False
Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("D" & ult1) = Sheets("COSTOS PRODUCTOS NACIONALES").Range("F" & ult6).Value
Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("C" & ult1) = Sheets("COSTOS PRODUCTOS NACIONALES").Range("C" & ult4).Value
Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("B" & ult1) = Sheets("COSTOS PRODUCTOS NACIONALES").Range("B" & ult3).Value
Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("A" & ult1) = Sheets("COSTOS PRODUCTOS NACIONALES").Range("A" & ult2).Value
Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Select
MsgBox ("SE HA ENVIADO AL MODULO PRECIOS PRODUCTOS Y SERVICIOS LA INFORMACIÓN DE ESTE PRODUCTO O SERVICIO" & Chr(13) & _
"POR FAVOR COMPLETE LA INFORMACIÓN DE ESTE PRODUCTO O SERVICIO " & Chr(13) & _
"OPERACIÓN REALIZADA SATISFACTORIAMENTE"), vbInformation, "CALCULADORA DE PRECIOS Y COSTOS"
Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("E" & ult1).Select
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 5 Then
If Target.Address Like "$E$*" Then
If Range("E" & Target.Row) > 0 Then
Application.ScreenUpdating = False
Call EnviarDatosCostosProductosNacionalesAPreciosProductosYServiciosA
End If
End If
End If
Dim prod$, ufo&, ufd&
Dim pro_d As Range
Dim rDependents As Range
uf = Range("C" & Rows.Count).End(xlUp).Row
'prod = TempCombo
prod = Range("A" & Target.Row).Value
If Application.Intersect(Target, Range("D5:D" & uf)) Is Nothing And _
Application.Intersect(Target, Range("E5:E" & uf)) Is Nothing Then
Exit Sub
End If
If Worksheets("COSTOS PRODUCTOS NACIONALES").Range("F" & Target.Row).Value > 0 Then
With Sheets("PRECIOS PRODUCTOS Y SERVICIOS")
ufd = .Range("A" & Rows.Count).End(xlUp).Row
Set pro_d = .Range("A5:A" & ufd).Find(prod)
pro_d.Offset(, 1) = Worksheets("COSTOS PRODUCTOS NACIONALES").Range("B" & Target.Row).Value
End With
End If
End Sub
CODIGO VBA DE COSTOS PRODUCTOS IMPORTADOS:
Sub EnviarDatosCostosProductosImportadosAPreciosProductosYServicios()
Application.ScreenUpdating = False
Dim ult, ult1 As Long
Dim rng As Range
ult2 = Sheets("COSTOS PRODUCTOS IMPORTADOS").Range("A" & Rows.Count).End(xlUp).Row
ult3 = Sheets("COSTOS PRODUCTOS IMPORTADOS").Range("B" & Rows.Count).End(xlUp).Row
ult4 = Sheets("COSTOS PRODUCTOS IMPORTADOS").Range("C" & Rows.Count).End(xlUp).Row
ult6 = Sheets("COSTOS PRODUCTOS IMPORTADOS").Range("W" & Rows.Count).End(xlUp).Row
ult = Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("A" & Rows.Count).End(xlUp).Row + 1
ult1 = Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("B" & Rows.Count).End(xlUp).Row + 1
ult5 = Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("C" & Rows.Count).End(xlUp).Row + 1
ult7 = Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("D" & Rows.Count).End(xlUp).Row + 1
Application.ScreenUpdating = False
Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("D" & ult1) = Sheets("COSTOS PRODUCTOS IMPORTADOS").Range("W" & ult6).Value
Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("C" & ult1) = Sheets("COSTOS PRODUCTOS IMPORTADOS").Range("C" & ult4).Value
Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("B" & ult1) = Sheets("COSTOS PRODUCTOS IMPORTADOS").Range("B" & ult3).Value
Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("A" & ult1) = Sheets("COSTOS PRODUCTOS IMPORTADOS").Range("A" & ult2).Value
Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Select
MsgBox ("SE HA ENVIADO AL MODULO PRECIOS PRODUCTOS Y SERVICIOS LA INFORMACIÓN DE ESTE PRODUCTO O SERVICIO" & Chr(13) & _
"POR FAVOR COMPLETE LA INFORMACIÓN DE ESTE PRODUCTO O SERVICIO" & Chr(13) & _
"POR FAVOR COMPLETE LA INFORMACIÓN DE ESTE PRODUCTO O SERVICIO " & Chr(13) & _
"OPERACIÓN REALIZADA SATISFACTORIAMENTE"), vbInformation, "CALCULADORA DE PRECIOS Y COSTOS"
Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("E" & ult1).Select
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 5 Then
If Target.Address Like "$V$*" Then
If Range("V" & Target.Row) > 0 Then
Application.ScreenUpdating = False
Call EnviarDatosCostosProductosImportadosAPreciosProductosYServicios
End If
End If
End If
Dim prod$, ufo&, ufd&
Dim pro_d As Range
Dim rDependents As Range
uf = Range("C" & Rows.Count).End(xlUp).Row
'prod = TempCombo
prod = Range("A" & Target.Row).Value
If Application.Intersect(Target, Range("D5:D" & uf)) Is Nothing And _
Application.Intersect(Target, Range("E5:E" & uf)) Is Nothing And _
Application.Intersect(Target, Range("F5:F" & uf)) Is Nothing And _
Application.Intersect(Target, Range("G5:G" & uf)) Is Nothing And _
Application.Intersect(Target, Range("H5:H" & uf)) Is Nothing And _
Application.Intersect(Target, Range("I5:I" & uf)) Is Nothing And _
Application.Intersect(Target, Range("J5:J" & uf)) Is Nothing And _
Application.Intersect(Target, Range("K5:K" & uf)) Is Nothing And _
Application.Intersect(Target, Range("L5:L" & uf)) Is Nothing And _
Application.Intersect(Target, Range("M5:M" & uf)) Is Nothing And _
Application.Intersect(Target, Range("N5:N" & uf)) Is Nothing And _
Application.Intersect(Target, Range("O5:O" & uf)) Is Nothing And _
Application.Intersect(Target, Range("P5:P" & uf)) Is Nothing And _
Application.Intersect(Target, Range("Q5:Q" & uf)) Is Nothing And _
Application.Intersect(Target, Range("R5:R" & uf)) Is Nothing And _
Application.Intersect(Target, Range("S5:S" & uf)) Is Nothing And _
Application.Intersect(Target, Range("T5:T" & uf)) Is Nothing And _
Application.Intersect(Target, Range("U5:U" & uf)) Is Nothing And _
Application.Intersect(Target, Range("W5:W" & uf)) Is Nothing And _
Application.Intersect(Target, Range("X5:X" & uf)) Is Nothing Then
Exit Sub
End If
If Worksheets("COSTOS PRODUCTOS IMPORTADOS").Range("W" & Target.Row).Value > 0 Then
With Sheets("PRECIOS PRODUCTOS Y SERVICIOS")
ufd = .Range("A" & Rows.Count).End(xlUp).Row
Set pro_d = .Range("A6:A" & ufd).Find(prod)
pro_d.Offset(, 1) = Worksheets("COSTOS PRODUCTOS IMPORTADOS").Range("W" & Target.Row).Value
End With
End If
End Sub
Tengo un archivo que deseo automatizar 2 procesos, que son muy similares ambos. Les explico:
1. La Hoja Costos Productos Nacionales debe enviar a la hoja Precios Productos y Servicios la información de cada producto ingresado y lo debe hacer al colocar el Precio de Compra (columna E). La información que debe enviar es la contenida en las columnas A, B, C y F a las columnas A, B, C y D de la hoja destino y cursor quedarse en la celda E de esta hoja.
2. La Hoja Costos Productos Importados debe enviar a la hoja Precios Productos y Servicios la información de cada producto ingresado y lo debe hacer al colocar SI en la columna V. La información que debe enviar es la contenida en las columnas A, B, C y W a las columnas A, B, C y D de la hoja destino y cursor quedarse en la celda E de esta hoja.
El código VBA que estoy usando es de otro archivo similar y lo estoy adaptando a éste. Ya logré enviar de ambas hojas de origen las columnas A, B y C, pero me falta la columna F de la primera hoja y la columna W de la segunda. Me podrían brindar su ayuda
Muy agradecido de antemano por su valiosa ayuda.
PRUEBA.xlsm | |||||||||
---|---|---|---|---|---|---|---|---|---|
A | B | C | D | E | F | G | |||
2 | COSTOS DE PRODUCTOS NACIONALES | ||||||||
3 | PRODUCTO | NACIONAL | UNIDAD DE MEDIDA | CANTIDAD DE PRODUCTO | PRECIO DE COMPRA | COSTO PRODUCTO UNITARIO | |||
4 | #¡REF! | #¡REF! | |||||||
5 | ACETONA | NACIONAL | Caja | 1.000,00 | 125.000,00 | 125,00 | por Caja | ||
6 | LIMPIADOR AZUL | NACIONAL | Kilo | 50,00 | 150.000,00 | 3.000,00 | por Kilo | ||
7 | LIMPIADOR ROJO | NACIONAL | Unidad | 2.000,00 | 250.000,00 | 125,00 | por Unidad | ||
8 | BOLSAS PLASTICAS 5 LITROS | NACIONAL | Paquete | 100,00 | 45.000,00 | 450,00 | por Paquete | ||
9 | LIMPIADOR VERDE | NACIONAL | Litro | 5,00 | 50.000,00 | 10.000,00 | por Litro | ||
10 | LIMPIADOR AMARILLO | NACIONAL | Caja | 2,00 | 45.000,00 | 22.500,00 | por Caja | ||
11 | LIMPIADOR GRIS | NACIONAL | Unidad | 1,00 | 20.000,00 | 20.000,00 | por Unidad | ||
12 | CLORO | NACIONAL | Galón | 100,00 | 325.000,00 | 3.250,00 | por Galón | ||
13 | JABON | NACIONAL | Kilo | 100,00 | 387.000,00 | 3.870,00 | por Kilo | ||
14 | JABON AZUL | NACIONAL | Kilo | 1.200,00 | 500.000,00 | 416,67 | por Kilo | ||
15 | JABON AMARILLO | NACIONAL | Kilo | 850,00 | 350.000,00 | 411,76 | por Kilo | ||
16 | JABON NEGRO | NACIONAL | Kilo | 350,00 | 285.000,00 | 814,29 | por Kilo | ||
17 | JABON GRIS | NACIONAL | Kilo | 1.200,00 | 345.000,00 | 287,50 | por Kilo | ||
18 | JABON MARRON | NACIONAL | Kilo | 1.500,00 | 450.000,00 | 300,00 | por Kilo | ||
19 | JABON ROJO | NACIONAL | Kilo | 2.500,00 | 375.000,00 | 150,00 | por Kilo | ||
20 | NACIONAL | 0,00 | 0 | ||||||
21 | NACIONAL | 0,00 | 0 | ||||||
COSTOS PRODUCTOS NACIONALES |
Cell Formulas | ||
---|---|---|
Range | Formula | |
E4:F4 | E4 | =#REF! |
F5:F21 | F5 | =IFERROR(E5/D5,0) |
G5:G21 | G5 | =C5 |
Cells with Conditional Formatting | ||||
---|---|---|---|---|
Cell | Condition | Cell Format | Stop If True | |
G5:G50 | Cell Value | =0 | text | NO |
Cells with Data Validation | ||
---|---|---|
Cell | Allow | Criteria |
E5:E21 | Any value | |
A5:B50 | Custom | =CONTAR.SI($A$5:$A$50;A5)<=1 |
C5:C50 | List | =UNIDADES |
PRUEBA.xlsm | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | |||
1 | 0,00 | |||||||||||||||||||||||||
2 | COSTOS DE PRODUCTOS IMPORTADOS | |||||||||||||||||||||||||
3 | PRODUCTO | IMPORTADO | UNIDAD DE MEDIDA (seleccionar) | PAÍS DE ORIGEN | MONEDA | CANTIDAD DE PRODUCTO | COSTO POR UNIDAD | TIPO DE CAMBIO | TOTAL COMPRA PRODUCTO | ARANCELES | IMPUESTOS | SEGUROS | FLETES | TRANSPORTE NACIONAL | GASTOS DE NACIONALIZACION | OTROS CONCEPTOS 1 | OTROS CONCEPTOS 2 | OTROS CONCEPTOS 3 | OTROS CONCEPTOS 4 | OTROS CONCEPTOS 5 | TOTAL COSTO PRODUCTO | CONFIRMAR INFORMACION | COSTO PRODUCTO UNITARIO | |||
4 | #¡REF! | #¡REF! | #¡REF! | #¡REF! | #¡REF! | #¡REF! | #¡REF! | #¡REF! | #¡REF! | #¡REF! | #¡REF! | #¡REF! | #¡REF! | (SI / NO) | #¡REF! | |||||||||||
5 | CLORO PLUS | IMPORTADO | Galón | ESTADOS UNIDOS | USD | 1.000,00 | 1,75 | 520,00 | 910.000,00 | 1.000,00 | 2.000,00 | 3.000,00 | 5.000,00 | 6.000,00 | 7.000,00 | 500,00 | 600,00 | 700,00 | 800,00 | 900,00 | 937.500,00 | SI | 937,50 | por Galón | ||
6 | DETERGENTE PRO | IMPORTADO | Bolsa | ESTADOS UNIDOS | USD | 600,00 | 1,02 | 520,00 | 318.240,00 | 1.000,00 | 10,00 | 10,00 | 10,00 | 10,00 | 10,00 | 10,00 | 10,00 | 10,00 | 10,00 | 10,00 | 319.340,00 | SI | 532,23 | por Bolsa | ||
7 | LIMPIADOR XTRA | IMPORTADO | Bolsa | ESTADOS UNIDOS | USD | 600,00 | 2,30 | 520,00 | 717.600,00 | 1.000,00 | 10,00 | 10,00 | 10,00 | 10,00 | 10,00 | 10,00 | 10,00 | 10,00 | 10,00 | 10,00 | 718.700,00 | SI | 1.197,83 | por Bolsa | ||
8 | LIMPIADOR XTRA AZUL | IMPORTADO | Kilo | ESTADOS UNIDOS | USD | 1.000,00 | 4,15 | 520,00 | 2.158.000,00 | 123,00 | 456,00 | 78,00 | 321,00 | 654,00 | 87,00 | 147,00 | 258,00 | 36,00 | 63,00 | 852,00 | 2.161.075,00 | SI | 2.161,08 | por Kilo | ||
9 | LIMPIADOR XTRA ROJO | IMPORTADO | Kilo | ESTADOS UNIDOS | USD | 500,00 | 3,85 | 520,00 | 1.001.000,00 | 521,00 | 541,00 | 654,00 | 124,00 | 521,00 | 478,00 | 102,00 | 321,00 | 451,00 | 652,00 | 148,00 | 1.005.513,00 | SI | 2.011,03 | por Kilo | ||
10 | LIMPIADOR XTRA AMARILLO | IMPORTADO | Kilo | ESTADOS UNIDOS | USD | 1.000,00 | 2,95 | 520,00 | 1.534.000,00 | 321,00 | 654,00 | 879,00 | 147,00 | 58,00 | 369,00 | 445,00 | 662,00 | 44,00 | 874,00 | 32.541,00 | 1.570.994,00 | SI | 1.570,99 | por Kilo | ||
11 | LIMPIADOR XTRA MARRON | IMPORTADO | Kilo | ESTADOS UNIDOS | USD | 500,00 | 5,60 | 520,00 | 1.456.000,00 | 321,00 | 410,00 | 654,00 | 7.410,00 | 8.520,00 | 6.321,00 | 654,00 | 321,00 | 854,00 | 658,00 | 32.014,00 | 1.514.137,00 | SI | 3.028,27 | por Kilo | ||
12 | LIMPIADOR XTRA GRIS | IMPORTADO | Kilo | ESTADOS UNIDOS | USD | 300,00 | 4,75 | 520,00 | 741.000,00 | 545,00 | 545,00 | 5.645,00 | 454,00 | 454,00 | 545,00 | 6.454,00 | 654,00 | 11,00 | 123,00 | 541,00 | 756.971,00 | SI | 2.523,24 | por Kilo | ||
13 | IMPORTADO | 0,00 | 0,00 | 0,00 | 0 | |||||||||||||||||||||
14 | IMPORTADO | 0,00 | 0,00 | 0,00 | 0 | |||||||||||||||||||||
15 | IMPORTADO | 0,00 | 0,00 | 0,00 | 0 | |||||||||||||||||||||
16 | IMPORTADO | 0,00 | 0,00 | 0,00 | 0 | |||||||||||||||||||||
COSTOS PRODUCTOS IMPORTADOS |
Cell Formulas | ||
---|---|---|
Range | Formula | |
A1 | A1 | ='INFORMACION GENERAL'!D5 |
W4,I4:U4 | J4 | =#REF! |
W5:W10 | W5 | =IF(V5="SI",IFERROR(U5/F5,0),0) |
X5:X16 | X5 | =C5 |
W11:W16 | W11 | =IFERROR(U11/F11,0) |
E13:E16 | E13 | =IFERROR(VLOOKUP(D13,#REF!,2)," ") |
I5:I16 | I5 | =F5*G5*H5 |
U5:U16 | U5 | =SUM(I5:T5) |
Cells with Conditional Formatting | ||||
---|---|---|---|---|
Cell | Condition | Cell Format | Stop If True | |
X5:X50 | Cell Value | =0 | text | NO |
Cells with Data Validation | ||
---|---|---|
Cell | Allow | Criteria |
U5:V16 | Any value | |
A5:B50 | Custom | =CONTAR.SI($A$5:$A$50;A5)<=1 |
C5:C50 | List | =UNIDADES |
D5:D50 | List | =PAISES |
PRUEBA.xlsm | |||||||
---|---|---|---|---|---|---|---|
A | B | C | D | E | |||
1 | 0,00 | ||||||
2 | PRECIO DE VENTA DE PRODUCTOS Y SERVICIOS | ||||||
3 | PRODUCTO / SERVICIO | NACIONAL o IMPORTADO | UNIDAD DE MEDIDA | COSTO UNITARIO PRODUCTO | VENTAS ESTIMADAS MENSUALES UNIDADES | ||
4 | |||||||
5 | #¡REF! | 0 | |||||
6 | ACETONA | NACIONAL | Caja | 125,00 | |||
7 | LIMPIADOR AZUL | NACIONAL | Kilo | 3.000,00 | |||
8 | LIMPIADOR ROJO | NACIONAL | Unidad | 125,00 | |||
9 | BOLSAS PLASTICAS 5 LITROS | NACIONAL | Paquete | 450,00 | |||
10 | LIMPIADOR VERDE | NACIONAL | Litro | 10.000,00 | |||
11 | LIMPIADOR AMARILLO | NACIONAL | Caja | 22.500,00 | |||
12 | LIMPIADOR GRIS | NACIONAL | Unidad | 20.000,00 | |||
13 | CLORO | NACIONAL | Galón | 3.250,00 | |||
14 | JABON | NACIONAL | Kilo | 3.870,00 | |||
15 | CLORO PLUS | SI | Galón | 937,50 | |||
16 | DETERGENTE PRO | SI | Bolsa | 532,23 | |||
17 | LIMPIADOR XTRA | IMPORTADO | Bolsa | 1.197,83 | |||
18 | JABON AZUL | NACIONAL | Kilo | 0,00 | |||
19 | LIMPIADOR XTRA AZUL | IMPORTADO | |||||
20 | JABON AMARILLO | NACIONAL | Kilo | 0,00 | |||
21 | LIMPIADOR XTRA ROJO | IMPORTADO | |||||
22 | LIMPIADOR XTRA AMARILLO | IMPORTADO | Kilo | 0,00 | |||
23 | LIMPIADOR XTRA MARRON | IMPORTADO | Kilo | 0,00 | |||
24 | JABON NEGRO | NACIONAL | Kilo | 0,00 | |||
25 | JABON GRIS | NACIONAL | Kilo | 0,00 | |||
26 | JABON MARRON | NACIONAL | Kilo | 0,00 | |||
27 | LIMPIADOR XTRA GRIS | IMPORTADO | Kilo | 0,00 | |||
28 | JABON ROJO | NACIONAL | Kilo | 0,00 | |||
29 | JABON ROJO | NACIONAL | Kilo | 0,00 | |||
30 | LIMPIADOR XTRA GRIS | IMPORTADO | Kilo | 0,00 | |||
31 | |||||||
32 | |||||||
33 | |||||||
34 | |||||||
PRECIOS PRODUCTOS Y SERVICIOS |
Cell Formulas | ||
---|---|---|
Range | Formula | |
A1 | A1 | ='INFORMACION GENERAL'!D5 |
D5 | D5 | =#REF! |
E5 | E5 | =SUM(E6:E50) |
Cells with Data Validation | ||
---|---|---|
Cell | Allow | Criteria |
A6:B14 | Custom | =CONTAR.SI($A$5:$A$50;A6)<=1 |
C6:C17 | List | =UNIDADES |
A15:B17 | Custom | =CONTAR.SI($A$5:$A$50;A15)<=1 |
CODIGO VBA DE COSTOS PRODUCTOS NACIONALES:
Sub EnviarDatosCostosProductosNacionalesAPreciosProductosYServiciosA()
Application.ScreenUpdating = False
Dim ult, ult1 As Long
Dim rng As Range
ult2 = Sheets("COSTOS PRODUCTOS NACIONALES").Range("A" & Rows.Count).End(xlUp).Row
ult3 = Sheets("COSTOS PRODUCTOS NACIONALES").Range("B" & Rows.Count).End(xlUp).Row
ult4 = Sheets("COSTOS PRODUCTOS NACIONALES").Range("C" & Rows.Count).End(xlUp).Row
ult6 = Sheets("COSTOS PRODUCTOS NACIONALES").Range("F" & Rows.Count).End(xlUp).Row
ult = Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("A" & Rows.Count).End(xlUp).Row + 1
ult1 = Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("B" & Rows.Count).End(xlUp).Row + 1
ult5 = Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("C" & Rows.Count).End(xlUp).Row + 1
ult7 = Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("D" & Rows.Count).End(xlUp).Row + 1
Application.ScreenUpdating = False
Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("D" & ult1) = Sheets("COSTOS PRODUCTOS NACIONALES").Range("F" & ult6).Value
Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("C" & ult1) = Sheets("COSTOS PRODUCTOS NACIONALES").Range("C" & ult4).Value
Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("B" & ult1) = Sheets("COSTOS PRODUCTOS NACIONALES").Range("B" & ult3).Value
Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("A" & ult1) = Sheets("COSTOS PRODUCTOS NACIONALES").Range("A" & ult2).Value
Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Select
MsgBox ("SE HA ENVIADO AL MODULO PRECIOS PRODUCTOS Y SERVICIOS LA INFORMACIÓN DE ESTE PRODUCTO O SERVICIO" & Chr(13) & _
"POR FAVOR COMPLETE LA INFORMACIÓN DE ESTE PRODUCTO O SERVICIO " & Chr(13) & _
"OPERACIÓN REALIZADA SATISFACTORIAMENTE"), vbInformation, "CALCULADORA DE PRECIOS Y COSTOS"
Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("E" & ult1).Select
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 5 Then
If Target.Address Like "$E$*" Then
If Range("E" & Target.Row) > 0 Then
Application.ScreenUpdating = False
Call EnviarDatosCostosProductosNacionalesAPreciosProductosYServiciosA
End If
End If
End If
Dim prod$, ufo&, ufd&
Dim pro_d As Range
Dim rDependents As Range
uf = Range("C" & Rows.Count).End(xlUp).Row
'prod = TempCombo
prod = Range("A" & Target.Row).Value
If Application.Intersect(Target, Range("D5:D" & uf)) Is Nothing And _
Application.Intersect(Target, Range("E5:E" & uf)) Is Nothing Then
Exit Sub
End If
If Worksheets("COSTOS PRODUCTOS NACIONALES").Range("F" & Target.Row).Value > 0 Then
With Sheets("PRECIOS PRODUCTOS Y SERVICIOS")
ufd = .Range("A" & Rows.Count).End(xlUp).Row
Set pro_d = .Range("A5:A" & ufd).Find(prod)
pro_d.Offset(, 1) = Worksheets("COSTOS PRODUCTOS NACIONALES").Range("B" & Target.Row).Value
End With
End If
End Sub
CODIGO VBA DE COSTOS PRODUCTOS IMPORTADOS:
Sub EnviarDatosCostosProductosImportadosAPreciosProductosYServicios()
Application.ScreenUpdating = False
Dim ult, ult1 As Long
Dim rng As Range
ult2 = Sheets("COSTOS PRODUCTOS IMPORTADOS").Range("A" & Rows.Count).End(xlUp).Row
ult3 = Sheets("COSTOS PRODUCTOS IMPORTADOS").Range("B" & Rows.Count).End(xlUp).Row
ult4 = Sheets("COSTOS PRODUCTOS IMPORTADOS").Range("C" & Rows.Count).End(xlUp).Row
ult6 = Sheets("COSTOS PRODUCTOS IMPORTADOS").Range("W" & Rows.Count).End(xlUp).Row
ult = Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("A" & Rows.Count).End(xlUp).Row + 1
ult1 = Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("B" & Rows.Count).End(xlUp).Row + 1
ult5 = Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("C" & Rows.Count).End(xlUp).Row + 1
ult7 = Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("D" & Rows.Count).End(xlUp).Row + 1
Application.ScreenUpdating = False
Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("D" & ult1) = Sheets("COSTOS PRODUCTOS IMPORTADOS").Range("W" & ult6).Value
Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("C" & ult1) = Sheets("COSTOS PRODUCTOS IMPORTADOS").Range("C" & ult4).Value
Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("B" & ult1) = Sheets("COSTOS PRODUCTOS IMPORTADOS").Range("B" & ult3).Value
Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("A" & ult1) = Sheets("COSTOS PRODUCTOS IMPORTADOS").Range("A" & ult2).Value
Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Select
MsgBox ("SE HA ENVIADO AL MODULO PRECIOS PRODUCTOS Y SERVICIOS LA INFORMACIÓN DE ESTE PRODUCTO O SERVICIO" & Chr(13) & _
"POR FAVOR COMPLETE LA INFORMACIÓN DE ESTE PRODUCTO O SERVICIO" & Chr(13) & _
"POR FAVOR COMPLETE LA INFORMACIÓN DE ESTE PRODUCTO O SERVICIO " & Chr(13) & _
"OPERACIÓN REALIZADA SATISFACTORIAMENTE"), vbInformation, "CALCULADORA DE PRECIOS Y COSTOS"
Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("E" & ult1).Select
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 5 Then
If Target.Address Like "$V$*" Then
If Range("V" & Target.Row) > 0 Then
Application.ScreenUpdating = False
Call EnviarDatosCostosProductosImportadosAPreciosProductosYServicios
End If
End If
End If
Dim prod$, ufo&, ufd&
Dim pro_d As Range
Dim rDependents As Range
uf = Range("C" & Rows.Count).End(xlUp).Row
'prod = TempCombo
prod = Range("A" & Target.Row).Value
If Application.Intersect(Target, Range("D5:D" & uf)) Is Nothing And _
Application.Intersect(Target, Range("E5:E" & uf)) Is Nothing And _
Application.Intersect(Target, Range("F5:F" & uf)) Is Nothing And _
Application.Intersect(Target, Range("G5:G" & uf)) Is Nothing And _
Application.Intersect(Target, Range("H5:H" & uf)) Is Nothing And _
Application.Intersect(Target, Range("I5:I" & uf)) Is Nothing And _
Application.Intersect(Target, Range("J5:J" & uf)) Is Nothing And _
Application.Intersect(Target, Range("K5:K" & uf)) Is Nothing And _
Application.Intersect(Target, Range("L5:L" & uf)) Is Nothing And _
Application.Intersect(Target, Range("M5:M" & uf)) Is Nothing And _
Application.Intersect(Target, Range("N5:N" & uf)) Is Nothing And _
Application.Intersect(Target, Range("O5:O" & uf)) Is Nothing And _
Application.Intersect(Target, Range("P5:P" & uf)) Is Nothing And _
Application.Intersect(Target, Range("Q5:Q" & uf)) Is Nothing And _
Application.Intersect(Target, Range("R5:R" & uf)) Is Nothing And _
Application.Intersect(Target, Range("S5:S" & uf)) Is Nothing And _
Application.Intersect(Target, Range("T5:T" & uf)) Is Nothing And _
Application.Intersect(Target, Range("U5:U" & uf)) Is Nothing And _
Application.Intersect(Target, Range("W5:W" & uf)) Is Nothing And _
Application.Intersect(Target, Range("X5:X" & uf)) Is Nothing Then
Exit Sub
End If
If Worksheets("COSTOS PRODUCTOS IMPORTADOS").Range("W" & Target.Row).Value > 0 Then
With Sheets("PRECIOS PRODUCTOS Y SERVICIOS")
ufd = .Range("A" & Rows.Count).End(xlUp).Row
Set pro_d = .Range("A6:A" & ufd).Find(prod)
pro_d.Offset(, 1) = Worksheets("COSTOS PRODUCTOS IMPORTADOS").Range("W" & Target.Row).Value
End With
End If
End Sub