Re: Macro en excel

12/12/2005 - 17:13 por Nickuser8 | Informe spam
Encontre una solución parcial envió el código, mi planteamiento es más claro, si ves en mi código

Private Sub UserForm_Activate(
Dim i As Lon
Dim cant As Intege
Dim celda As Strin
Sheets("Hoja1").Selec
Range("A2").Selec

cant = Worksheets("hoja1").Range("A2").CurrentRegion.Rows.Coun

ComboBox1.Clea
For i = 2 To can

If Cells(i, 1) <> "" The
If Cells(i, 1) <> celda The
celda = Cells(i, 1

ComboBox1.AddItem Cells(i, 1
End I
End I

Next

End Su

Esto funciona mientras los datos esten ordenados por nombre de calle, pero basta con que se introduzca otra calle al final por ejm.: Teatinos y se cae, repite el dato en el combo

Necesito hacer esto para luego seleccionar Teatinos y mediante este dato me traíga los códigos asociados a la calle, y crear tantos CheckBox como códigos tenga la calle, espero haber sido más claro.

Y como dije acepto sugerencias, en cuanto a la macro, gracias

Nickuser8

Ver este tema: http://www.softwaremix.net/viewtopic-462797.htm

Enviado desde http://www.softwaremix.net

Preguntas similare

Leer las respuestas

#1 KL
12/12/2005 - 18:26 | Informe spam
Hola Nickuser,

Se me ocurre lo siguiente:

'--modulo del UserForm-
Option Base 1

Private Sub UserForm_Initialize()
Dim rng As Range
With Sheets("Hoja1")
Set rng = .Range([A2], _
.Cells(.Rows.Count, "A").End(xlUp))
End With
ComboBox1.List = Unique(rng)
End Sub

Function Unique(inArray As Range) As Variant
Dim colItems As Collection
Dim cell As Range
Dim temp As Variant

Set colItems = New Collection
On Error Resume Next
For Each cell In inArray
colItems.Add cell.Value, CStr(cell.Value)
Next cell
ReDim temp(colItems.Count)
For i = 1 To colItems.Count
temp(i) = colItems.Item(i)
Next i
Unique = temp
End Function
'--modulo del UserForm-

Saludos,
KL


"Nickuser8" wrote in message news:

Encontre una solución parcial envió el código, mi planteamiento es más claro, si ves en mi código.

Private Sub UserForm_Activate()
Dim i As Long
Dim cant As Integer
Dim celda As String
Sheets("Hoja1").Select
Range("A2").Select

cant = Worksheets("hoja1").Range("A2").CurrentRegion.Rows.Count

ComboBox1.Clear
For i = 2 To cant

If Cells(i, 1) <> "" Then
If Cells(i, 1) <> celda Then
celda = Cells(i, 1)


ComboBox1.AddItem Cells(i, 1)
End If
End If

Next i

End Sub

Esto funciona mientras los datos esten ordenados por nombre de calle, pero basta con que se introduzca otra calle al final por
ejm.: Teatinos y se cae, repite el dato en el combo.

Necesito hacer esto para luego seleccionar Teatinos y mediante este dato me traíga los códigos asociados a la calle, y crear
tantos CheckBox como códigos tenga la calle, espero haber sido más claro.

Y como dije acepto sugerencias, en cuanto a la macro, gracias.


Nickuser8


Ver este tema: http://www.softwaremix.net/viewtopic-462797.html

Enviado desde http://www.softwaremix.net


Respuesta Responder a este mensaje
#2 KL
12/12/2005 - 19:55 | Informe spam
Hola de nuevo,

Si aparte de filtrar valores unicos necesitas que esten ordenados alfabeticamente, podrias usar la siguiente funcion de John
Walkenbach: http://j-walk.com/ss/excel/tips/tip15.htm

Saludos,
KL


"KL" wrote in message news:eBhFGG0$
Hola Nickuser,

Se me ocurre lo siguiente:

'--modulo del UserForm-
Option Base 1

Private Sub UserForm_Initialize()
Dim rng As Range
With Sheets("Hoja1")
Set rng = .Range([A2], _
.Cells(.Rows.Count, "A").End(xlUp))
End With
ComboBox1.List = Unique(rng)
End Sub

Function Unique(inArray As Range) As Variant
Dim colItems As Collection
Dim cell As Range
Dim temp As Variant

Set colItems = New Collection
On Error Resume Next
For Each cell In inArray
colItems.Add cell.Value, CStr(cell.Value)
Next cell
ReDim temp(colItems.Count)
For i = 1 To colItems.Count
temp(i) = colItems.Item(i)
Next i
Unique = temp
End Function
'--modulo del UserForm-

Saludos,
KL


"Nickuser8" wrote in message news:

Encontre una solución parcial envió el código, mi planteamiento es más claro, si ves en mi código.

Private Sub UserForm_Activate()
Dim i As Long
Dim cant As Integer
Dim celda As String
Sheets("Hoja1").Select
Range("A2").Select

cant = Worksheets("hoja1").Range("A2").CurrentRegion.Rows.Count

ComboBox1.Clear
For i = 2 To cant

If Cells(i, 1) <> "" Then
If Cells(i, 1) <> celda Then
celda = Cells(i, 1)


ComboBox1.AddItem Cells(i, 1)
End If
End If

Next i

End Sub

Esto funciona mientras los datos esten ordenados por nombre de calle, pero basta con que se introduzca otra calle al final por
ejm.: Teatinos y se cae, repite el dato en el combo.

Necesito hacer esto para luego seleccionar Teatinos y mediante este dato me traíga los códigos asociados a la calle, y crear
tantos CheckBox como códigos tenga la calle, espero haber sido más claro.

Y como dije acepto sugerencias, en cuanto a la macro, gracias.


Nickuser8


Ver este tema: http://www.softwaremix.net/viewtopic-462797.html

Enviado desde http://www.softwaremix.net





email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida