Cambiar color con macro y bucar en otro libro

08/09/2006 - 19:21 por El Pepus | Informe spam
Hola de nuevo, no vale reirse, pero he tardado 4,5 horas en encontrar
estos codigos para abrir y cerrar un libro despues de mucho rebuscar
abro el libro Nombres.xls y me abre tambien el libro Servicios.xls
en estelibro de Nombres.xls este codigo

Private Sub Workbook_Open()
Workbooks.Open ("C:\Control\Servicios.xls")
End Sub

se tiene que trabajar con Servicios.xls y al cerrarlo que guarde tambien
Nombres.xls por si hay cambios en el, en estelibro de Servicios.xls este codigo

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Workbooks("Nombres.xls").Close SaveChanges = True
End Sub

Ahora biene lo que no funciona como comente en el hilo "Cambiar color con macros"
en la "Hoja1" de Servicios.xls tengo este codigo:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target.Column = 1 Then Exit Sub

With Cells(Target.Row, 4)
.NumberFormat = "hh:mm"
.Value = Now()
Cells(Target.Row, 5).Select

ŽESTE TROZO NO FUNCIONA
If Not Target.Column = 6 Then
Cells.Font.ColorIndex = 3
.Value = Now()
Else
Cells.Font.ColorIndex = 1
.Value = Now()
End If

End With
End Sub

Si pongo el "If Not Target.Column = 6 Then" me coloca toda la pagina en rojo y
si quito el Not lo dejo "If Target.Column = 6 Then" me coloca toda la pagina en negro
y yo quiero que si hay un valor en la columna 6 solo la fila correspondiente este en negro
y si en la columna 6 no hay nada este en rojo hasta que yo le ponga un valor y cambie
a negro, he probado de todo =$F="" pero logro hacerlo funcionar bien.

Otra cosa tambien quiero pasar a codigo lo siguiente:
=SI(A5>0;SI(ESERROR(COINCIDIR(A5;Hoja2!A:A;0));"No Existe";BUSCARV(Hoja1!A5;Hoja2!A:B;2;FALSO));"")
Pero, yo pongo el datos en columna A de la hoja que sea del libro Servicios.xls y lo busque en la
columna A del libro Nombres.xls y si lo encuentra que me copie los datos de la columna B del libro
Nombres.xls a la columna B del libro Servicios.xls en la hoja que tenga en pantalla en ese momento
o sea la hoja Activa??

Bueno a ver si no me he liado con tantos codigos y no me he explicado bien, si hace falta lo separo por
preguntas.
Venga un saludos a todos desde Ibiza y gracias anticipadas
Jose Amengual

Preguntas similare

Leer las respuestas

#6 El Pepus
14/09/2006 - 11:05 | Informe spam
Gracias de nuevo, a sido "mano de Santo" ya funciona todo
el formato para que no me quite el 0 de delante no lo he puesto como texto
me dejaba una puntita de color en una esquina de la celda, lo he colocado
como "Personalizado" con formato 00.

Veremos que "cositas" salen en su uso diario
de nuevo gracias a todos los que me habeis ayudado, teneis unas cervezas o
"cubatas" pagados si pasais por Ibiza

Un saludo
Jose Amengual

"Héctor Miguel" escribió en el mensaje news:
hola, Jose !

Me falta a#adir el siguiente codigo que me pasaron y no se como ni entre que lineas a#adirlo...
En la misma fila donde coloco el numero de telefono y se coloca el nombre del cliente pero
en la columna 4 se tiene que dar la hora y minutos del sistema algo a si como NumberFormat = "hh:mm"
en la columna 5
NumberFormat.Center = "@" Žpara poder colocar por ejemplo 04 sin que se "coma" el 0
y un Seletc para que al colocar el telefono "salte" a la columna 5 y colocar el numero...



1) no creo que sea necesario codigo para aplicar el formato "@" a la columna 'E' en las hojas del libro
'servicios.xls' ;)
a) haz click-secundario sobre la etiqueta de alguna y elige -> seleccionar todas las hojas
b) selecciona despues toda la columna 'E' [sera seleccionada para todas las hojas ] ;)
c) ve a [menu] formato / celdas... [o su atajo ctrl+1] y de la categoria de numeros selecciona -> texto
-> no te olvides de de-seleccionar todas las hojas despues, activando cualquiera otra del grupo :))

2) modifica el codigo propuesto, agregando -solo- estas dos instrucciones JUSTO ANTES del 'Case 6' y despues del 'End
With'

Target.Offset(, 3) = Time
Range("e" & Target.Row).Select

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


Respuesta Responder a este mensaje
#7 Gabriel Raigosa
30/09/2006 - 18:50 | Informe spam
Carpeta
Descripción
Dirección

1
** Microsoft Excel *
http://esnips.com/web/GabrielRaigosa

2
Archivos para usar en clase
http://esnips.com/web/RaigosaClase

3
Fechas y Horas
http://esnips.com/web/RaigosaFechasHoras

4
Formato y Formato Condicional
http://esnips.com/web/RaigosaFormatos

5
Foro Excel
http://esnips.com/web/ForoExcel

6
Funciones de Busqueda
http://esnips.com/web/RaigosaBusqueda

7
Funciones de Texto
http://esnips.com/web/RaigosaTexto

8
Funciones Financieras
http://esnips.com/web/RaigosaFinancieras

9
Funciones Logicas
http://esnips.com/web/RaigosaLogicas

10
Graficos con Excel
http://esnips.com/web/RaigosaGraficos

11
Grupo (Sabados)
Privado

12
Grupo (Viernes)
Privado

13
Grupo Excel Septiembre
Privado

14
Juegos con Excel
http://esnips.com/web/RaigosaJuegosExcel

15
Macros con Excel
http://esnips.com/web/Macros-con-Excel

16
Manuales Excel
http://esnips.com/web/RaigosaManuales

17
Paginas WEB
http://esnips.com/web/RaigosaPaginasExcel

18
Practicas - XLS
http://esnips.com/web/RaigosaPracticasXLS

19
Tablas Dinámicas
http://esnips.com/web/RaigosaTablasDinamicas

20
TEST
http://esnips.com/web/GabrielRaigosa-test

21
Validación
http://esnips.com/web/RaigosaValidacion

22
Varios
http://esnips.com/web/RaigosaVarios

23
VBA - Visual Basic para Aplicaciones
http://esnips.com/web/RaigosaVBA



Gabriel Raigosa
http://esnips.com/web/Raigosa
http://esnips.com/web/ForoExcel
"El Pepus" <pepus88(Quitar)@telefonica.net> escribió en el mensaje
news:
| Hola de nuevo, no vale reirse, pero he tardado 4,5 horas en encontrar
| estos codigos para abrir y cerrar un libro despues de mucho rebuscar
| abro el libro Nombres.xls y me abre tambien el libro Servicios.xls
| en estelibro de Nombres.xls este codigo
|
| Private Sub Workbook_Open()
| Workbooks.Open ("C:\Control\Servicios.xls")
| End Sub
|
| se tiene que trabajar con Servicios.xls y al cerrarlo que guarde tambien
| Nombres.xls por si hay cambios en el, en estelibro de Servicios.xls este
codigo
|
| Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
| Workbooks("Nombres.xls").Close SaveChanges = True
| End Sub
|
| Ahora biene lo que no funciona como comente en el hilo "Cambiar color con
macros"
| en la "Hoja1" de Servicios.xls tengo este codigo:
|
| Private Sub Worksheet_Change(ByVal Target As Range)
| If Not Target.Column = 1 Then Exit Sub
|
| With Cells(Target.Row, 4)
| .NumberFormat = "hh:mm"
| .Value = Now()
| Cells(Target.Row, 5).Select
|
| ´ESTE TROZO NO FUNCIONA
| If Not Target.Column = 6 Then
| Cells.Font.ColorIndex = 3
| .Value = Now()
| Else
| Cells.Font.ColorIndex = 1
| .Value = Now()
| End If
|
| End With
| End Sub
|
| Si pongo el "If Not Target.Column = 6 Then" me coloca toda la pagina en
rojo y
| si quito el Not lo dejo "If Target.Column = 6 Then" me coloca toda la
pagina en negro
| y yo quiero que si hay un valor en la columna 6 solo la fila
correspondiente este en negro
| y si en la columna 6 no hay nada este en rojo hasta que yo le ponga un
valor y cambie
| a negro, he probado de todo =$F="" pero logro hacerlo funcionar bien.
|
| Otra cosa tambien quiero pasar a codigo lo siguiente:
| =SI(A5>0;SI(ESERROR(COINCIDIR(A5;Hoja2!A:A;0));"No
Existe";BUSCARV(Hoja1!A5;Hoja2!A:B;2;FALSO));"")
| Pero, yo pongo el datos en columna A de la hoja que sea del libro
Servicios.xls y lo busque en la
| columna A del libro Nombres.xls y si lo encuentra que me copie los datos
de la columna B del libro
| Nombres.xls a la columna B del libro Servicios.xls en la hoja que tenga en
pantalla en ese momento
| o sea la hoja Activa??
|
| Bueno a ver si no me he liado con tantos codigos y no me he explicado
bien, si hace falta lo separo por
| preguntas.
| Venga un saludos a todos desde Ibiza y gracias anticipadas
| Jose Amengual
|
|
|
|
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida