Saltar al contenido

Numeracion de celdas con prefijo


Suret

Recommended Posts

publicado

Buenos dias amigos mios, porfavor como seria una macro en excel que me empieze a numerar celdas:

1ro:  Que la macro pida Prefijo, ejemplo: Item

2do Que la macro pida Numero inicial, ejemplo: 78.00

3ro que la macro pida una constante, ejemplo: 0.02

4to  empezar la numeracion en un celda cualquiera:

Celda C4= Item 78.00

Celda B5= Item 78.02

Celga G10= Item 78.04

y asi susecivamente, hasta finalizar con un esc.

publicado

Buenas, sería algo así.

selecciona el rango de celdas donde que quieres escribir en una variable

para capturar  la tecla "esc" , puedes hacerlo con el manejador de errores 

recoge los datos en variables mediante  "inputBox"

haz un buble mientras no salte el error 

para seleccionar la celda aleatoria , utiliza la función "Rnd" pasándole el rango de celdas

luego escribes la variables recogidas y actualizas la inicial

saludos

 

 

publicado

Amigo, nos acordamos de ti, Saludos coordiales, usamos  este codigo que compartiste y le agregamos "Item " &:

Private Sub Workbook_Open()

End Sub

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
  If Not Intersect(Target, Range("D1:F100")) Is Nothing And Target = "" Then
    Cancel = True
    
    Range("C2").Value = Range("C2").Value + Range("C3").Value
    Target.Formula = "Item "&Range("C2").Value
    
  End If
End Sub

Cumple el proposito:

image.thumb.png.65e52378f98204fe79f70e507970128a.png

El detalle que no empieza en: Item 54.000, si no que en Item 54.001 a que se debe?. Pero nos gustaria ir un poco mas haya y que deje formulas con el prefijo:

Celda D10=C1&" "&C2 =Item 54.000

Celda E12=C1&" "&C2+C3= Item 54.001

Celda D13=C1&" "&C2+C3+C3= Item 54.002

Celda D15=C1&" "&C2+C3+C3+C3= Items 54.003

y asi sucecivamente, creo que tendria que haber una celda adicional que guarde las sumas progresivas y no estar repitiendo C3 varias veces. Intentamos hacerlo  adicionando en el codigo que nos compartiste:

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
  If Not Intersect(Target, Range("D5:F100")) Is Nothing And Target = "" Then
    Cancel = True
    
    If Range("C4") = Empty Then
     Target.Formula = "=c1&"" ""&c2"
    Else
     Target.Formula = "=" & Range("c4") & " + c3"
    End If
    
     Range("C4").Value = Target.Address(0, 0)

    
  End If
End Sub

 

Nos funciona en la primera celda elegida, pero en las siguiente celda me da error :(

publicado

Buenos días, siguiendo el ejemplo anterior.

hace 7 horas, Suret dijo:

Amigo, nos acordamos de ti, Saludos coordiales, usamos  este codigo que compartiste y le agregamos "Item " &:

Private Sub Workbook_Open()

End Sub

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
  If Not Intersect(Target, Range("D1:F100")) Is Nothing And Target = "" Then
    Cancel = True
    
    Range("C2").Value = Range("C2").Value + Range("C3").Value
    Target.Formula = "Item "&Range("C2").Value
    
  End If
End Sub

Cumple el proposito:

image.thumb.png.65e52378f98204fe79f70e507970128a.png

El detalle que no empieza en: Item 54.000, si no que en Item 54.001 a que se debe?. Pero nos gustaria ir un poco mas haya y que deje formulas con el prefijo:

Celda D10=C1&" "&C2 =Item 54.000

Celda E12=C1&" "&C2+C3= Item 54.001

Celda D13=C1&" "&C2+C3+C3= Item 54.002

Celda D15=C1&" "&C2+C3+C3+C3= Items 54.003

y asi sucecivamente, creo que tendria que haber una celda adicional que guarde las sumas progresivas y no estar repitiendo C3 varias veces. Intentamos hacerlo  adicionando en el codigo que nos compartiste:

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
  If Not Intersect(Target, Range("D5:F100")) Is Nothing And Target = "" Then
    Cancel = True
    
    If Range("C4") = Empty Then
     Target.Formula = "=c1&"" ""&c2"
    Else
     Target.Formula = "=" & Range("c4") & " + c3"
    End If
    
     Range("C4").Value = Target.Address(0, 0)

    
  End If
End Sub

 

Nos funciona en la primera celda elegida, pero en las siguiente celda me da error :(

 

Una solución

 

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
  If Not Intersect(Target, Range("D5:F100")) Is Nothing And Target = "" Then
    Cancel = True

    If Range("C4") = Empty Then
     Target.FormulaLocal = "=c1 & "" "" & c2"
    Else
     Target.FormulaLocal = "=CONCAT(C1;"" "";EXTRAE(" & Range("C4") & ";LARGO(C1)+1;LARGO(" & Range("C4") & "))+C3)"
    End If
    
     Range("C4").Value = Target.Address(0, 0)

    
  End If
End Sub

saludos

 

2click_v3.xlsm

publicado
En 7/11/2022 at 12:00 , Suret dijo:

1ro:  Que la macro pida Prefijo, ejemplo: Item

2do Que la macro pida Numero inicial, ejemplo: 78.00

3ro que la macro pida una constante, ejemplo: 0.02

4to  empezar la numeracion en un celda cualquiera:

Celda C4= Item 78.00

Celda B5= Item 78.02

Celga G10= Item 78.04

y asi susecivamente, hasta finalizar con un esc.

Te adjunto una solución 

 

Prefijo dobleclick VBA_GP.xlsm

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.