Saltar al contenido

Control entradas y salidas macros


Recommended Posts

publicado

Hola Felipe... por lo que he visto ..... el archivo añade una cantidad a entradas o a salidas.... evidentemente "numeros"... No entiendo cual es tu pregunta o tu duda.....

publicado

Te dejo una función que incrementa cualquier valor a un numerador del tipo:

[Parte alfabética] Número [Parte alfabética] por ejemplo: AAA000123XX

Las partes alfabéticas son opcionales

Función: NewClave(Celda, Incremento)

Ejemplo de llamada a la función:

ClaveEntrada = NewClave(ActiveCell, 4)
ClaveSalida = NewClave(A2, 4)[/CODE]

[b][u]Código VBA de la función:[/u][/b]

[CODE]Function NewClave(Celda As Range, Incremento As Integer) As String
If IsNumeric(Celda.Value) Then
NewClave = Celda.Value + Incremento
Exit Function
End If
For i = 1 To Len(Celda.Value)
If IsNumeric(Mid(Celda.Value, i, 1)) = True Then Exit For
Next
For f = Len(Celda.Value) To 1 Step -1
If IsNumeric(Mid(Celda.Value, f, 1)) = True Then Exit For
Next
n = CStr(CLng(Mid(Celda.Value, i, f - i + 1)) + Incremento)
If Len(n) = f - i + 1 Then
NewClave = Left(Celda.Value, i - 1) & n & Right(Celda.Value, Len(Celda.Value) - f)
Else
NewClave = Left(Celda.Value, i - 1) & _
String(f - i + 1 - Len(n), "0") & n & Right(Celda.Value, Len(Celda.Value) - f)
End If
End Function[/CODE]

.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.