• Jueves 28 de Marzo de 2024, 12:44

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - barbatusasf

Páginas: [1]
1
Visual Basic 6.0 e inferiores / Re:error procedimiento demasiado largo
« en: Miércoles 6 de Agosto de 2014, 04:42 »
Hola muy buenas, lo primero es decir que no tengo ni idea de VBA para excel, pero aun asi estoy intentando hacer una pequeña aplicacion en la que me facilite un poco el curro, haber hos cuento haber si alguien me puede hechar una mano, apesar de mi torpeza e creado un cuadrante donde se controla a 25 tios con los dias que trabajan, los dias que se encuentran de baja y asi 25 posibilidades distintas cada uno, hasta aqui bien, lo tengo hecho a base de contadores y me funciona a la perfeccion, acontinuacion puse unos botones los cuales representarian a los dias del mes y cuando pulso por ejemplo el dia uno me transfiere a otra hoja de excel los datos de todo el personal del dia 1, digamos para hacer un parte de trabajo de ese dia, es decir luis trabaja en el grupo 1, pepe en el grupo 1, ernesto en el grupo 2, maria esta librando por dias moscosos, antonio esta por baja laboral, etc... volvemos a los mismo hasta aqui bien, el problema viene cuando pongo los IF THEN para que si esa celda no esta vacia pase a la que esta justo debajo, ya que al ser tanto personal y tantas opciones las que tiene cada uno que me dice proceso demasiado extenso y para solucionarlo o mejor dicho para que por lo menos funcione lo que he tenido que hacer es, en la primera hoja de excel en el codigo como cada uno de los 25 tios puede estar en grupo 1 a cada uno le he puesto en una celda, una debajo de la otra y asi con todas las opciones, y en la segunda hoja se queda una hoja de trabajo grandisima ya que tengo que tengo que dejar 25 filas entre cada grupo, abria alguna forma para poder solucionarlo, esto es parte del codigo que tengo puesto, haber si me podeis hechar una mano.

Private Sub CommandButton1_Click()
   Dim maria As String
   Dim diego As String
   Dim dani As String
   Dim santi As String
   maria = Range("n7").Value
   diego = Range("n8").Value
   dani = Range("n9").Value
   santi = Range("n10").Value
Select Case maria
    Case Is = 3

‘ en principio lo había puesto de esta manera, pero claro cuando termine de poner todas las opciones de cada uno me dijo que procedimiento demasiado extenso

        ChDir "c:\TURNO DE NOCHE\Partes de servicio\"
        Workbooks.Open Filename:="c:\TURNO DE NOCHE\Partes de servicio\agosto.xls"
        Sheets("dia 1").Select

            If ActiveSheet.Range("b4").Value = "" Then
            ActiveSheet.Range("b4").Value = 3
            Else
            If ActiveSheet.Range("b5").Value = "" Then
            ActiveSheet.Range("b5").Value = 3
            End If
            End If

‘ pero luego lo tube que solucionar de esta manera.

        ChDir "c:\TURNO DE NOCHE\Partes de servicio\"
        Workbooks.Open Filename:="c:\TURNO DE NOCHE\Partes de servicio\agosto.xls"
        Sheets("dia 1").Select
        ActiveSheet.Range("b4").Value = 3
‘ asi con cada opcion de las 25 que hay para cada uno cambiando solo en Range("b5"), b6, b7, etc...   

Páginas: [1]