Foros del Web » Soporte técnico » Ofimática »

repetir combobox en muchas celdas automaticamente

Estas en el tema de repetir combobox en muchas celdas automaticamente en el foro de Ofimática en Foros del Web. Hola, tengo un código para repetir un combobox en las celdas que contengan validación de datos. El código toma el rango usado por la validación ...
  #1 (permalink)  
Antiguo 27/11/2014, 14:53
 
Fecha de Ingreso: julio-2013
Mensajes: 1
Antigüedad: 10 años, 9 meses
Puntos: 0
Pregunta repetir combobox en muchas celdas automaticamente

Hola, tengo un código para repetir un combobox en las celdas que contengan validación de datos. El código toma el rango usado por la validación de datos para definir el rango del combobox(ListFillRange), así como también lo vuelve editable.
Necesito que el código haga lo mismo (repita los combo, los haga editables, copiables,etc) pero que yo defina el rango del combobox (ListFillRange) así como el rango de celdas donde aparecerá.
----------------------------------------------------
En si quiero que los que hace el archivo DataValComboboxSheet con sus combobox lo haga con el combobox definido por mi en el archivo SF360 Import Template FINAL.v4

Los archivos los pueden descargar aqui:

https://www.dropbox.com/s/ho7mp111g3qawo0/DataValComboboxSheet.xlsm?dl=0

https://www.dropbox.com/s/1xto0moso1mmvbs/SF360%20Import%20Template%20FINAL.v4.xlsx?dl=0
--------------------------------------------------------------------------------------------------------
'Este es el código:

Option Explicit
Private Sub TempCombo_KeyDown(ByVal _
KeyCode As MSForms.ReturnInteger, _
ByVal Shift As Integer)
'Hide combo box and move to next cell on Enter and Tab
Select Case KeyCode
Case 9
ActiveCell.Offset(0, 1).Activate
Case 13
ActiveCell.Offset(1, 0).Activate
Case Else
'do nothing
End Select

End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim str As String
Dim cboTemp As OLEObject
Dim ws As Worksheet
Dim wsList As Worksheet
Set ws = ActiveSheet
Set wsList = Sheets("ValidationLists")
Set cboTemp = ws.OLEObjects("TempCombo")
On Error Resume Next
With cboTemp
.ListFillRange = ""
.LinkedCell = ""
.Visible = False
End With
On Error GoTo errHandler
If Target.Validation.Type = 3 Then
Cancel = True
Application.EnableEvents = False
str = Target.Validation.Formula1
str = Right(str, Len(str) - 1)
With cboTemp
.Visible = True
.Left = Target.Left
.Top = Target.Top
.Width = Target.Width + 15
.Height = Target.Height + 5
.ListFillRange = str
.LinkedCell = Target.Address
End With
cboTemp.Activate
End If

errHandler:
Application.EnableEvents = True
Exit Sub

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim str As String
Dim cboTemp As OLEObject
Dim ws As Worksheet
Set ws = ActiveSheet
Application.EnableEvents = False
Application.ScreenUpdating = False

If Application.CutCopyMode Then
'allows copying and pasting on the worksheet
GoTo errHandler
End If

Set cboTemp = ws.OLEObjects("TempCombo")
On Error Resume Next
With cboTemp
.Top = 10
.Left = 10
.Width = 0
.ListFillRange = ""
.LinkedCell = ""
.Visible = False
.Value = ""
End With

errHandler:
Application.ScreenUpdating = True
Application.EnableEvents = True
Exit Sub

End Sub

Etiquetas: automaticamente, celda, celdas, combobox, muchas, repetir
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:43.