Cambiar Macro. registrar artículos según la condición fecha
Publicado por Rhossi (2 intervenciones) el 08/01/2019 01:44:15
Buen día!
Pues soy nueva en esto de las macros y realmente no entiendo mucho el lenguaje.
Les platico que estoy haciendo una macro que me ayude a registrar la salida de algunos artículos, ya tengo un avance, sin embargo, no la he podido completar, porque necesito cambiar la forma en que registra las salidas.
Tengo esta macro que registra la salida de artículos, pero lo hace con los primeros que encuentra en la lista, los registros mas recientes; quiero que haga lo contrario, que registre los más antiguos.
Les explico un poco mas como tengo mis datos.
Tengo dos hojas una "VENTAS" y otra "BD"
La hoja con el nombre de “VENTAS” en la cual ingreso los siguientes datos:
Fecha de venta en E4
Producto en E6
Núm. Arts. Vendidos en E8
Ingresos en E10
Ganancia neta (o utilidad) en E12
En la hoja con el nombre “BD” tengo varios datos que voy registrando según mis entradas de productos. Estos se van registrando a partir de la fila 9
Fecha de pedido en la columna A
Tienda en B
Numero de pedido en C
Producto en D
artículos que ingresan en E
precio en F
cuenta tienda en G
cuenta de pago en H
estado de pedido en I
fecha vencimiento en J
seguimiento en K
notas en L
reembolso en M
FECHA DE VENTA en N
PRECIO DE VENTA en O
UTILIDAD en P
Algunos de los datos que ingreso en la hoja "VENTAS" se van a registrar en la columna N, O y P, pero para ello, al ejecutarse la macro tendrá que revisar en la columna D que el articulo coincida con el que le estoy indicando en la hoja "VENTAS" E6 y revisar cual es articulo mas antiguo disponible,y registrar la venta.
Pues espero haber sido clara y contar con su ayuda. De antemano muchas gracias!
Pues soy nueva en esto de las macros y realmente no entiendo mucho el lenguaje.
Les platico que estoy haciendo una macro que me ayude a registrar la salida de algunos artículos, ya tengo un avance, sin embargo, no la he podido completar, porque necesito cambiar la forma en que registra las salidas.
Tengo esta macro que registra la salida de artículos, pero lo hace con los primeros que encuentra en la lista, los registros mas recientes; quiero que haga lo contrario, que registre los más antiguos.
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
Sub Registrar_Ventas()
' registrar salida de un producto
Set h1 = Sheets("VENTAS")
Set h2 = Sheets("BD")
'
'VALIDACIONES
'
If h1.Range("E4").Value = "" Then
MsgBox "Falta la fecha"
Exit Sub
End If
If h1.Range("E6").Value = "" Then
MsgBox "Falta el producto"
Exit Sub
End If
cant = h1.Range("E8").Value
If cant = "" Or Not IsNumeric(cant) Then
MsgBox "Falta el número de artículos"
Exit Sub
End If
If h1.Range("E10").Value = "" Or Not IsNumeric(h1.Range("E1").Value) Then
MsgBox "Faltan los ingresos"
Exit Sub
End If
cuenta = WorksheetFunction.CountIf(h2.Columns("D"), h1.Range("E6").Value)
If cuenta = 0 Then
MsgBox "No existe el producto"
Exit Sub
End If
If cuenta < cant Then
MsgBox "El número de artículos vendidos es inferior al número en BD"
Exit Sub
End If
'
precio = h1.Range("E10").Value / cant
Set r = h2.Columns("D")
Set b = r.Find(h1.Range("E6").Value, LookAt:=xlWhole)
n = 0
If Not b Is Nothing Then
celda = b.Address
Do
'detalle
If n = cant Then Exit Do
h2.Cells(b.Row, "N").Value = h1.Range("E4").Value
h2.Cells(b.Row, "O").Value = precio
h2.Cells(b.Row, "P").Value = precio - h2.Cells(b.Row, "F").Value
ganancia = ganancia + (precio - h2.Cells(b.Row, "F").Value)
n = n + 1
Set b = r.FindNext(b)
Loop While Not b Is Nothing And b.Address <> celda
End If
h1.Range("E12").Value = ganancia
MsgBox "Venta registrada." & vbCr & vbCr & _
"Ganancia neta : " & ganancia, vbInformation, "VENTAS"
h1.Range("E4:E12").Value = ""
End Sub
Les explico un poco mas como tengo mis datos.
Tengo dos hojas una "VENTAS" y otra "BD"
La hoja con el nombre de “VENTAS” en la cual ingreso los siguientes datos:
Fecha de venta en E4
Producto en E6
Núm. Arts. Vendidos en E8
Ingresos en E10
Ganancia neta (o utilidad) en E12
En la hoja con el nombre “BD” tengo varios datos que voy registrando según mis entradas de productos. Estos se van registrando a partir de la fila 9
Fecha de pedido en la columna A
Tienda en B
Numero de pedido en C
Producto en D
artículos que ingresan en E
precio en F
cuenta tienda en G
cuenta de pago en H
estado de pedido en I
fecha vencimiento en J
seguimiento en K
notas en L
reembolso en M
FECHA DE VENTA en N
PRECIO DE VENTA en O
UTILIDAD en P
Algunos de los datos que ingreso en la hoja "VENTAS" se van a registrar en la columna N, O y P, pero para ello, al ejecutarse la macro tendrá que revisar en la columna D que el articulo coincida con el que le estoy indicando en la hoja "VENTAS" E6 y revisar cual es articulo mas antiguo disponible,y registrar la venta.
Pues espero haber sido clara y contar con su ayuda. De antemano muchas gracias!
Valora esta pregunta


0