Saltar al contenido

Problema con sentencia de macros


Recommended Posts

publicado

buenas tardes

saludos Expertos, queria comentarles que estaba creando un codigo en el cual despues de una cantidad de datos (revisando que sea un producto y de ahi vaya a otra columna y ponga su nombre ) llega a un numero y busque el nombre de otro vendedor y continue haciendo lo mismo, pero da la casualidad que estaba creando el codigo de acuerdo a la base de datos, pero realmente si la distribucion de nombres seria distinta (x lo que se aprecia es orden alfabetico, pero si cambia) mi codigo genera error podrian ayudarme adjunto archivo

no puedo mostrar el código porque es muy grande.

gracias

Saludos

Brian

ayudaDatos.zip

publicado

Este es el codigo del archivo espero su ayuda gracias

Sub prueba()
Range("D5").Select
While ActiveCell <> ""
If IsNumeric(ActiveCell) Then ActiveCell.Offset(1, -2).Select

If ActiveCell = "CARLOS LOPEZ" Then
ActiveCell.Offset(1, 14).Select
ActiveCell = "CLOPEZ"
ActiveCell.Offset(1, -12).Select
While ActiveCell <> ""

ActiveCell.Offset(0, 12).Select
ActiveCell = "CLOPEZ"
ActiveCell.Offset(1, -12).Select
If IsNumeric(ActiveCell) Then ActiveCell.Offset(1, -2).Select
'OTRO
If ActiveCell = "GIANCARLO DAVILA" Then
ActiveCell.Offset(1, 14).Select
ActiveCell = "GDAVILA"
ActiveCell.Offset(1, -12).Select
While ActiveCell <> ""
ActiveCell.Offset(0, 12).Select
ActiveCell = "GDAVILA"
ActiveCell.Offset(1, -12).Select
If IsNumeric(ActiveCell) Then ActiveCell.Offset(1, -2).Select
'OTRO2
If ActiveCell = "HELEN REYES LOPEZ" Then
ActiveCell.Offset(1, 14).Select
ActiveCell = "HREYES"
ActiveCell.Offset(1, -12).Select
While ActiveCell <> ""
ActiveCell.Offset(0, 12).Select
ActiveCell = "HREYES"
ActiveCell.Offset(1, -12).Select
If IsNumeric(ActiveCell) Then ActiveCell.Offset(1, -2).Select
'OTRO3 ,RCADILLO,
If ActiveCell = "ROLLY CADILLO P." Then
ActiveCell.Offset(1, 14).Select
ActiveCell = "RCADILLO"
ActiveCell.Offset(1, -12).Select
While ActiveCell <> ""
ActiveCell.Offset(0, 12).Select
ActiveCell = "RCADILLO"
ActiveCell.Offset(1, -12).Select
If IsNumeric(ActiveCell) Then ActiveCell.Offset(1, -2).Select
'OTRO4 AREQUIPA,
If ActiveCell = "AREQUIPA" Then
ActiveCell.Offset(1, 14).Select
ActiveCell = "AREQUIPA"
ActiveCell.Offset(1, -12).Select
While ActiveCell <> ""

ActiveCell.Offset(0, 12).Select
ActiveCell = "AREQUIPA"
ActiveCell.Offset(1, -12).Select
If IsNumeric(ActiveCell) Then ActiveCell.Offset(1, -2).Select
'OTRO5 CHIMBOTE,
If ActiveCell = "CHIMBOTE" Then
ActiveCell.Offset(1, 14).Select
ActiveCell = "CHIMBOTE"
ActiveCell.Offset(1, -12).Select
While ActiveCell <> ""
ActiveCell.Offset(0, 12).Select
ActiveCell = "CHIMBOTE"
ActiveCell.Offset(1, -12).Select
If IsNumeric(ActiveCell) Then ActiveCell.Offset(1, -2).Select
'OTRO6 CHICLAYO,
If ActiveCell = "CHICLAYO" Then
ActiveCell.Offset(1, 14).Select
ActiveCell = "CHICLAYO"
ActiveCell.Offset(1, -12).Select
While ActiveCell <> ""
ActiveCell.Offset(0, 12).Select
ActiveCell = "CHICLAYO"
ActiveCell.Offset(1, -12).Select
If IsNumeric(ActiveCell) Then ActiveCell.Offset(1, -2).Select
'OTRO7 TRUJILLO,
If ActiveCell = "TRUJILLO" Then
ActiveCell.Offset(1, 14).Select
ActiveCell = "TRUJILLO"
ActiveCell.Offset(1, -12).Select
While ActiveCell <> ""
ActiveCell.Offset(0, 12).Select
ActiveCell = "TRUJILLO"
ActiveCell.Offset(1, -12).Select
If IsNumeric(ActiveCell) Then ActiveCell.Offset(1, -2).Select
'OTRO8 OLIMA,
If ActiveCell = "VENTAS OFICINA" Then
ActiveCell.Offset(1, 14).Select
ActiveCell = "OLIMA"
ActiveCell.Offset(1, -12).Select
While ActiveCell <> ""
ActiveCell.Offset(0, 12).Select
ActiveCell = "OLIMA"
ActiveCell.Offset(1, -12).Select
If IsNumeric(ActiveCell) Then ActiveCell.Offset(1, -2).Select
'OTRO9 LPORTUGUEZ,
If ActiveCell = "LUIS PORTUGUEZ" Then
ActiveCell.Offset(1, 14).Select
ActiveCell = "LPORTUGUEZ"
ActiveCell.Offset(1, -12).Select
While ActiveCell <> ""
ActiveCell.Offset(0, 12).Select
ActiveCell = "LPORTUGUEZ"
ActiveCell.Offset(1, -12).Select
If IsNumeric(ActiveCell) Then ActiveCell.Offset(1, -2).Select
'OTRO10 MRUIZ,
If ActiveCell = "MANUEL RUIZ" Then
ActiveCell.Offset(1, 14).Select
ActiveCell = "MRUIZ"
ActiveCell.Offset(1, -12).Select
While ActiveCell <> ""
ActiveCell.Offset(0, 12).Select
ActiveCell = "MRUIZ"
ActiveCell.Offset(1, -12).Select
If IsNumeric(ActiveCell) Then ActiveCell.Offset(1, -2).Select
'OTRO11 GVELAZQUEZ,
If ActiveCell = "GVELAZQUEZ" Then
ActiveCell.Offset(1, 14).Select
ActiveCell = "GVELAZQUEZ"
ActiveCell.Offset(1, -12).Select
While ActiveCell <> ""
ActiveCell.Offset(0, 12).Select
ActiveCell = "GVELAZQUEZ"
ActiveCell.Offset(1, -12).Select
If IsNumeric(ActiveCell) Then ActiveCell.Offset(1, -2).Select
'OTRO12 MREQUENA,
If ActiveCell = "MAURICIO REQUENA" Then
ActiveCell.Offset(1, 14).Select
ActiveCell = "MREQUENA"
ActiveCell.Offset(1, -12).Select
While ActiveCell <> ""
ActiveCell.Offset(0, 12).Select
ActiveCell = "MREQUENA"
ActiveCell.Offset(1, -12).Select
If IsNumeric(ActiveCell) Then ActiveCell.Offset(1, -2).Select
'OTRO13 PIURA,
If ActiveCell = "LUIS PARODI" Then
ActiveCell.Offset(1, 14).Select
ActiveCell = "PIURA"
ActiveCell.Offset(1, -12).Select
While ActiveCell <> ""
ActiveCell.Offset(0, 12).Select
ActiveCell = "PIURA"
ActiveCell.Offset(1, -12).Select
If IsNumeric(ActiveCell) Then ActiveCell.Offset(1, -2).Select
'OTRO14 SANLUIS,
If ActiveCell = "VENTAS SAN BORJA" Then
ActiveCell.Offset(1, 14).Select
ActiveCell = "SANLUIS"
ActiveCell.Offset(1, -12).Select
While ActiveCell <> ""
ActiveCell.Offset(0, 12).Select
ActiveCell = "SANLUIS"
ActiveCell.Offset(1, -12).Select
If IsNumeric(ActiveCell) Then ActiveCell.Offset(1, -2).Select
'OTRO15 NOUSAR,
If ActiveCell = "NO USAR..........." Then
ActiveCell.Offset(1, 14).Select
ActiveCell = "NOUSAR"
ActiveCell.Offset(1, -12).Select
While ActiveCell <> ""
ActiveCell.Offset(0, 12).Select
ActiveCell = "NOUSAR"
ActiveCell.Offset(1, -12).Select
If IsNumeric(ActiveCell) Then ActiveCell.Offset(1, -2).Select
'OTRO16 CUZCO,
If ActiveCell = "CUZCO" Then
ActiveCell.Offset(1, 14).Select
ActiveCell = "CUZCO"
ActiveCell.Offset(1, -12).Select
While ActiveCell <> ""
ActiveCell.Offset(0, 12).Select
ActiveCell = "CUZCO"
ActiveCell.Offset(1, -12).Select
If IsNumeric(ActiveCell) Then ActiveCell.Offset(1, -2).Select
'OTRO17 CALLAO,
If ActiveCell = "VENTAS FAUCETT" Then
ActiveCell.Offset(1, 14).Select
ActiveCell = "CALLAO"
ActiveCell.Offset(1, -12).Select
While ActiveCell <> ""
ActiveCell.Offset(0, 12).Select
ActiveCell = "CALLAO"
ActiveCell.Offset(1, -12).Select
If IsNumeric(ActiveCell) Then ActiveCell.Offset(1, -2).Select
'OTRO18 LICITACIONES
If ActiveCell = "LICITACIONES" Then
ActiveCell.Offset(1, 14).Select
ActiveCell = "LICITACIONES"
ActiveCell.Offset(1, -12).Select
While ActiveCell <> ""
ActiveCell.Offset(0, 12).Select
ActiveCell = "LICITACIONES"
ActiveCell.Offset(1, -12).Select
If IsNumeric(ActiveCell) Then ActiveCell.Offset(1, -2).Select
Wend
End If
Wend
End If
Wend
End If
Wend
End If
Wend
End If
Wend
End If
Wend
End If
Wend
End If
Wend
End If
Wend
End If
Wend
End If
Wend
End If
Wend
End If
Wend
End If
Wend
End If
Wend
End If
Wend
End If
Wend
End If
Wend
End If

'ActiveCell.Offset(1, 0).Select
ActiveCell.Offset(0, 12).Select
ActiveCell = "ABARREDO"
ActiveCell.Offset(1, -12).Select

Wend


End Sub
[/CODE]

publicado

Amigo @[uSER=161327]Bcordero[/uSER], con todo el perdon del mundo, pero eso que estas haciendo en una locura, pues si tienes 1000 nombres diferentes no me quiero imaginar el tamaño de tu macro, creo entender que deseas llenar la columna P con el nombre abreviado según el nombre de la columna B, cierto??, si así, revisa el anexo, la macro que dice prueba_nueva, espero que te sirva;

simplemente agregue adicionalmente una tablita en la hoja1, allí completas los datos de las personas adicionales que tengas luego

suerte

ayudaDatos_SM.zip

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.