Relleno con dos condiciones

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

Relleno con dos condiciones

Notapor davitol » 15 Dic 2011 09:39

Hola os dejo un fragmento de código que encontré en nuestro foro y que he "tuneado" para mi aplicación. La cosa es que quiero rellenar mi listbox, pero no se hacerlo con varias condiciones. Me podría valer que hubiese dos condiciones (En curso y pendiente) o que la condición fuese distinta a la palabra de filtro (en este caso "Completado"). Os dejo el código y donde creo que puede estar la clave en negrita a ver si me podeis ayudar:

Dim hj As Worksheet
Dim c As Range, FirstCell As String
Dim busque
Dim filtro
Dim columna
Application.ScreenUpdating = False

filtro = "R1: R"
columna = "R"
busque = "Completado"
listbox_parte.Clear
With listbox_parte
.AddItem "Nº"
.Column(1, 0) = "IDENTIFICACIÓN"
.Column(2, 0) = "FECHA"
.Column(3, 0) = "LUGAR"
.Column(4, 0) = "CI/AI"
.Column(5, 0) = "ACCION NECESARIA"
.Column(6, 0) = "RESPONSABLE"
.Column(7, 0) = "ESTADO"
End With

With listbox_parte
.AddItem "--------------------------------------------"
.Column(1, 1) = "----------------------------------------------------------------------------------------"
.Column(2, 1) = "----------------------------------------------------------------------------------------"
.Column(3, 1) = "----------------------------------------------------------------------------------------"
.Column(4, 1) = "----------------------------------------------------------------------------------------"
.Column(5, 1) = "----------------------------------------------------------------------------------------"
.Column(6, 1) = "----------------------------------------------------------------------------------------"
.Column(7, 1) = "----------------"
End With

Set c = Sheets("PLAN_ACCIONES").Range(filtro & Sheets("PLAN_ACCIONES").Range(columna & Rows.Count).End(xlUp).Row).Find(What:=busque, LookIn:=xlValues, LookAt:=xlPart)

If c Is Nothing Then GoTo ProximaHoja
FirstCell = c.Address

Do
With listbox_parte
.ColumnCount = 8
.ColumnWidths = "20;120;80;150;40;360;180;130"
.AddItem listbox_parte.ListCount - 1
.Column(1, listbox_parte.ListCount - 1) = c.Offset(0, -17).Value
.Column(2, listbox_parte.ListCount - 1) = c.Offset(0, -16).Value
.Column(3, listbox_parte.ListCount - 1) = c.Offset(0, -12).Value
.Column(4, listbox_parte.ListCount - 1) = c.Offset(0, -11).Value
.Column(5, listbox_parte.ListCount - 1) = c.Offset(0, -9).Value
.Column(6, listbox_parte.ListCount - 1) = c.Offset(0, -4).Value
.Column(7, listbox_parte.ListCount - 1) = c.Value
End With
Set c = Sheets("PLAN_ACCIONES").Range(filtro & Sheets("PLAN_ACCIONES").Range(columna & Rows.Count).End(xlUp).Row).FindNext(c)
Loop Until FirstCell = c.Address

ProximaHoja:
Set hj = Nothing
Set c = Nothing


Application.ScreenUpdating = True
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
davitol
Miembro Frecuente
Miembro Frecuente
 
Registrado: 21 Jun 2011 17:12

Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 11 invitados