Casilla de Verificación

15/05/2007 - 03:14 por Mario | Informe spam
Muy Buen Día a Todos!

Quisiera me ayudaran a resolver el siguiente problema:

En la barra de herramientas "Formularios", intento insertar una
casilla de verificación que me vincule con una celda especifica y que
al copiarla tambien modifique el vinculo; pero me encuentro con la
situación que siempre conserva dicho vinculo.

Por ejemplo si en A1 tengo una casilla de verificación vinculada a B1,
al copiar dicha casilla en A2 me vincule automaticamente con B2.

Les agradezco de antemano por su valiosa ayuda a todos.


Atte.

Mario.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
15/05/2007 - 07:26 | Informe spam
hola, Mario !

En la barra de herramientas "Formularios", intento insertar una casilla de verificacion
que me vincule con una celda especifica y que al copiarla tambien modifique el vinculo
pero me encuentro con la situacion que siempre conserva dicho vinculo.
Por ejemplo si en A1 tengo una casilla de verificacion vinculada a B1
al copiar dicha casilla en A2 me vincule automaticamente con B2.



cuando copias objetos, los 'nuevos' incluyen todas las propiedades del 'original'
[la celda vinculada es parte de las propiedades que se 'van' al objeto nuevo] :-(

prueba con una macro +/- como la siguiente:

Sub Vincular_Casilas_Formularios()
Dim n As Byte
With ActiveSheet
For n = 1 To .CheckBoxes.Count
With .CheckBoxes(n)
.LinkedCell = .TopLeftCell.Offset(, 1).Address
End With
Next
End With
End Sub

OJO: solo deberas tener cuidado que el borde superior-izquierdo de cada casilla de verificacion [formularios]
-> NO este 'mordiendo' alguna area de otra celda que no sea 'la que esperas o supones' :))

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Mario
16/05/2007 - 05:45 | Informe spam
On 14 mayo, 23:26, "Héctor Miguel"
wrote:
hola, Mario !

> En la barra de herramientas "Formularios", intento insertar una casilla de verificacion
> que me vincule con una celda especifica y que al copiarla tambien modifique el vinculo
> pero me encuentro con la situacion que siempre conserva dicho vinculo.
> Por ejemplo si en A1 tengo una casilla de verificacion vinculada a B1
> al copiar dicha casilla en A2 me vincule automaticamente con B2.

cuando copias objetos, los 'nuevos' incluyen todas las propiedades del 'original'
[la celda vinculada es parte de las propiedades que se 'van' al objeto nuevo] :-(

prueba con una macro +/- como la siguiente:

Sub Vincular_Casilas_Formularios()
Dim n As Byte
With ActiveSheet
For n = 1 To .CheckBoxes.Count
With .CheckBoxes(n)
.LinkedCell = .TopLeftCell.Offset(, 1).Address
End With
Next
End With
End Sub

OJO: solo deberas tener cuidado que el borde superior-izquierdo de cada casilla de verificacion [formularios]
-> NO este 'mordiendo' alguna area de otra celda que no sea 'la que esperas o supones' :))

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.



Hola Héctor,

Quisiera me ayudaras a resolver un problema con una macro para poder
correr una conciliacion bancaria. Necesitaría enviarte el archivo para
que lo revises y me digas cual es el error. Si pudiera tener tu correo
y asi podertelo enviar te lo agradecería mucho.

Gracias de antemano.





Hola Héctor,

Quisiera me ayudaras a resolver un problema con una macro para poder
correr una conciliacion bancaria. Necesitaría enviarte el archivo para
que lo revises y me digas cual es el error. Si pudiera tener tu correo
y asi podertelo enviar te lo agradecería mucho.

Gracias de antemano.

Te muestro la macro...


Option Explicit
Dim filas As Long
Sub conciliador()
Dim c5 As Long 'contador de la columna E
Dim i As Long
Dim j As Long
Dim R As Range
Call Borra
Set R = Range("B5").CurrentRegion
c5 = 5
filas = R.Rows.Count
R.Copy
Range("H5").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("B5").Select
For i = 1 To filas
If Not IsEmpty(Cells(i + 4, 8)) Then
For j = 1 To filas
If Cells(i + 4, 8) = Cells(j + 4, 9) Then
Cells(c5, 5) = Cells(i + 4, 8)
Cells(c5, 6) = Cells(j + 4, 9)
Cells(i + 4, 8).Clear
Cells(j + 4, 9).Clear
c5 = c5 + 1
Exit For
End If
Next j
End If
Next i
Call formatoI
Call formatoH
End Sub


Sub formatoI()
Range("I5").Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=+CONTAR.SI(F:F;I5)>0"
Selection.FormatConditions(1).Interior.ColorIndex = 45
Selection.Copy
Range("I6:I" & filas + 4).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("B5").Select
End Sub

Sub formatoH()
Range("H5").Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=+CONTAR.SI(E:E;H5)>0"
Selection.FormatConditions(1).Interior.ColorIndex = 27
Selection.Copy
Range("H6:H" & filas + 4).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("B5").Select
End Sub



Sub genera()
Range("K1:L1").Select
Selection.Copy
Range("B5:C30").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("B5").Select
End Sub
Sub Borra()
Range("E5:I30").Select
Range("I5").Activate
Selection.Clear
Range("A1").Select
End Sub
Respuesta Responder a este mensaje
#3 Héctor Miguel
16/05/2007 - 06:55 | Informe spam
hola, Mario !

... problema con una macro para poder correr una conciliacion bancaria... Te muestro la macro...



como que esta consulta 'se merece' un hilo nuevo... no ? [abririas tu abanico de probabilidades] ;)

de cualquier modo... como que hace falta comentar uno que otro 'detalle' [p.e.]
- en que linea/s hay algun error ?
[y que dice +/- exactamente el mensaje ?]
- bajo que 'condiciones' se presenta el error ?
en equipos de configuracion regional distinta de donde se creo la macro ?
con diferente distribucion de los datos por la hoja ?
con el mismo archivo ? con cualquiera ? ???

comentas [si encuentras] algun detalle mas... 'significativo/descriptivo/...' ?
salludos,
hector.

__ el codigo expuesto __
Option Explicit
Dim filas As Long
Sub conciliador()
Dim c5 As Long 'contador de la columna E
Dim i As Long
Dim j As Long
Dim R As Range
Call Borra
Set R = Range("B5").CurrentRegion
c5 = 5
filas = R.Rows.Count
R.Copy
Range("H5").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("B5").Select
For i = 1 To filas
If Not IsEmpty(Cells(i + 4, 8)) Then
For j = 1 To filas
If Cells(i + 4, 8) = Cells(j + 4, 9) Then
Cells(c5, 5) = Cells(i + 4, 8)
Cells(c5, 6) = Cells(j + 4, 9)
Cells(i + 4, 8).Clear
Cells(j + 4, 9).Clear
c5 = c5 + 1
Exit For
End If
Next j
End If
Next i
Call formatoI
Call formatoH
End Sub

Sub formatoI()
Range("I5").Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=+CONTAR.SI(F:F;I5)>0"
Selection.FormatConditions(1).Interior.ColorIndex = 45
Selection.Copy
Range("I6:I" & filas + 4).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("B5").Select
End Sub

Sub formatoH()
Range("H5").Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=+CONTAR.SI(E:E;H5)>0"
Selection.FormatConditions(1).Interior.ColorIndex = 27
Selection.Copy
Range("H6:H" & filas + 4).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("B5").Select
End Sub

Sub genera()
Range("K1:L1").Select
Selection.Copy
Range("B5:C30").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("B5").Select
End Sub
Sub Borra()
Range("E5:I30").Select
Range("I5").Activate
Selection.Clear
Range("A1").Select
End Sub
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida