
No se como hacer la instruccion....
Publicado por JAG (139 intervenciones) el 25/01/2007 03:39:55
Buenas a todos los del foro :
Me pasaron este codigo para sacar datos de otro archivo de excel sin que se vea la ejecucion
Private Sub SaldoPac_Click()
'Option Explicit
Dim paciente As String
Dim valor As Integer
Dim lngNumReg As Long
Dim strRuta As String
Dim wbDatosdb As Workbook
Dim wbActual As Workbook
paciente = Range("c25").Value ' tiene valor de yyy.xls por ejemplo
Application.ScreenUpdating = False 'Desactiva la actualización en pantalla, esto acelera
........ ' bastante la ejecución del código
strRuta = Directory & paciente 'Establece la ruta del archivo Datosdb, por supuesto
......... 'puede estar en cualquier parte del disco o incluso de la red
If Existe(strRuta) Then 'Verifica que exista el archivo Datosdb
...... Set wbActual = ThisWorkbook 'Guarda la referencia al libro actual
...... Set wbDatosdb = Workbooks.Open(strRuta) 'Abre y establece una referencia al libro
...... wbDatosdb.Windows(1).Visible = False 'nos asegura que este oculta la ventana librol ...... 'Datosdb, de esta manera no lo ve el usuario
...... wbActual.Activate 'Al abrir un libro, aunque sea por código, este queda activo
'activamos el libro anterior de donde se copiaran los registros
'AQUI PUEDES PONER EL CODIGO QUE QUIERA PARA MANIPULAR EL ARCHIVO DATOSDB O TU BASE DE DATOS
'*******************************************************************************************
...... valor = 0
' valor = '["c:\basedatos\" & paciente]Estado de Cuenta'!$D$34
....... MsgBox (" El Saldo del Paciente es : $" + Str(valor) + " ok... ")
'*******************************************************************************************
' AL TERMINAR
Application.DisplayAlerts = False
wbDatosdb.Close ' Cierra el libro Datosdb
Set wbDatosdb = Nothing ' Libera la memoria usada
Set wbActual = Nothing
DoEvents
Application.DisplayAlerts = True
Else
'Si no se encontró el archivo Datosdb, sólo borramos los datos filtrados
MsgBox "No se movieron datos por que el archivo Datosdb no existe"
End If
Application.ScreenUpdating = True 'Reactiva la actualización de pantalla
Call ListFiles
BajaPac.Enabled = False
ActualizarPac.Enabled = False
SaldoPac.Enabled = False
End Sub
'Función para saber si un archivo existe
Private Function Existe(ByVal Ruta As String) As Boolean
If Len(Dir(Ruta)) > 0 Then
Existe = True
End If
End Function
*******************************************
Algunos comandos tienen ........ solo para que se vea mas o menos el codigo.
La pregunta es :
En el codigo esta esto
...... valor = 0
' valor = '["c:\basedatos\" & paciente]Estado de Cuenta'!$D$34
....... MsgBox (" El Saldo del Paciente es : $" + Str(valor) + " ok... ")
quiero quitar el valor = 0
pero la instruccion siguente no la puedo hacer , alguien quiere decirme por favor como seria ??
quiero sacar el valor de d34 de la hoja Estado de cuenta de ese archivo......
Gracias por la ayuda
Me pasaron este codigo para sacar datos de otro archivo de excel sin que se vea la ejecucion
Private Sub SaldoPac_Click()
'Option Explicit
Dim paciente As String
Dim valor As Integer
Dim lngNumReg As Long
Dim strRuta As String
Dim wbDatosdb As Workbook
Dim wbActual As Workbook
paciente = Range("c25").Value ' tiene valor de yyy.xls por ejemplo
Application.ScreenUpdating = False 'Desactiva la actualización en pantalla, esto acelera
........ ' bastante la ejecución del código
strRuta = Directory & paciente 'Establece la ruta del archivo Datosdb, por supuesto
......... 'puede estar en cualquier parte del disco o incluso de la red
If Existe(strRuta) Then 'Verifica que exista el archivo Datosdb
...... Set wbActual = ThisWorkbook 'Guarda la referencia al libro actual
...... Set wbDatosdb = Workbooks.Open(strRuta) 'Abre y establece una referencia al libro
...... wbDatosdb.Windows(1).Visible = False 'nos asegura que este oculta la ventana librol ...... 'Datosdb, de esta manera no lo ve el usuario
...... wbActual.Activate 'Al abrir un libro, aunque sea por código, este queda activo
'activamos el libro anterior de donde se copiaran los registros
'AQUI PUEDES PONER EL CODIGO QUE QUIERA PARA MANIPULAR EL ARCHIVO DATOSDB O TU BASE DE DATOS
'*******************************************************************************************
...... valor = 0
' valor = '["c:\basedatos\" & paciente]Estado de Cuenta'!$D$34
....... MsgBox (" El Saldo del Paciente es : $" + Str(valor) + " ok... ")
'*******************************************************************************************
' AL TERMINAR
Application.DisplayAlerts = False
wbDatosdb.Close ' Cierra el libro Datosdb
Set wbDatosdb = Nothing ' Libera la memoria usada
Set wbActual = Nothing
DoEvents
Application.DisplayAlerts = True
Else
'Si no se encontró el archivo Datosdb, sólo borramos los datos filtrados
MsgBox "No se movieron datos por que el archivo Datosdb no existe"
End If
Application.ScreenUpdating = True 'Reactiva la actualización de pantalla
Call ListFiles
BajaPac.Enabled = False
ActualizarPac.Enabled = False
SaldoPac.Enabled = False
End Sub
'Función para saber si un archivo existe
Private Function Existe(ByVal Ruta As String) As Boolean
If Len(Dir(Ruta)) > 0 Then
Existe = True
End If
End Function
*******************************************
Algunos comandos tienen ........ solo para que se vea mas o menos el codigo.
La pregunta es :
En el codigo esta esto
...... valor = 0
' valor = '["c:\basedatos\" & paciente]Estado de Cuenta'!$D$34
....... MsgBox (" El Saldo del Paciente es : $" + Str(valor) + " ok... ")
quiero quitar el valor = 0
pero la instruccion siguente no la puedo hacer , alguien quiere decirme por favor como seria ??
quiero sacar el valor de d34 de la hoja Estado de cuenta de ese archivo......
Gracias por la ayuda
Valora esta pregunta


0