Lo que pasa es que estoy trabajando con dos libros de excel, desde un formulario para buscar información, esta información esta contenida en los dos libros uno de ellos es donde esta la macro. Cuando llamo el otro libro me trae la informacioon pero cuando quiero sacar información del libro en el que tengo la macro me bota error. ¿Sabes cómo hacer para que me tome el libro que deseo?
Si no pones el código y señalas la parte del error, no te puedo ayudar.
Hola Este es mi código Private Sub Ciclo1_Change() Programa1.Clear Dim inc As Integer Dim fila As Integer inc = 1 Workbooks. Open("C:\Documents and Settings\Sandra\Mis documentos\Inventario proyecto Darwin ver 28 (version 1).XLS").Sheets("Unidades").Select Range("J" & inc).Activate Do While (ActiveCell.Cells.Text <> "") If Ciclo1.Text = "" Then Exit Do End If inc = inc + 1 Range("J" & inc).Activate If (ActiveCell.Cells.Text = Ciclo1.Text) Then fila = inc Range("b" & inc).Activate Programa1.AddItem (ActiveCell.Cells.Text) Else End If Loop If fila = 0 Then Exit Sub End If End Sub Private Sub CommandButton1_Click() Dim inc As Integer Dim A As String Dim fila As Integer Worksheets("Estado de Requerimientos").Select A = Programa1.Text inc = 1 Range("b" & inc).Activate Do While (ActiveCell.Cells.Text <> "") If A = "" Then Exit Do End If inc = inc + 1 Range("b" & inc).Activate If (ActiveCell.Cells.Text = A) Then fila = inc Range("C" & inc).Activate Requerimiento1.Text = ActiveCell.Cells.Text Else End If Loop If fila = 0 Then Exit Sub End If End Sub Private Sub Programa1_Change() Dim inc As Integer Dim fila As Integer inc = 1 Range("b" & inc).Activate Do While (ActiveCell.Cells.Text <> "") If Programa1.Text = "" Then Exit Do End If inc = inc + 1 Range("b" & inc).Activate If (ActiveCell.Cells.Text = Programa1.Text) Then fila = inc Range("g" & inc).Activate Subtipo1.Text = ActiveCell.Cells.Text Else End If Loop If fila = 0 Then Exit Sub End If Workbooks("Inventario proyecto Darwin ver 28 (version 1).XLS").Close End Sub Private Sub UserForm_Initialize() Sheets("Parametros").Select Call llenarcombo(Ciclo1, "a") End Sub
¿Y dónde señala el error? Utiliza On Error Resume Next.
Lo que pasa es que si no coloco la linea Workbooks("Inventario proyecto Darwin ver 28 (version 1).XLS").Close me da error en Worksheets("Estado de Requerimientos").Select
Entonces abre el libro primero ya que al final del código veo que lo cierras.
Al principio lo abro pero estoy trabajando con dos libros y no se como cambiar de un libro a otro
Tienes que activarlo. Workbooks("Inventario proyecto Darwin ver 28 (version 1).XLS").Worksheets("Estado de Requerimientos"). Activate Con esto activo el libro y la hoja correspondiente.
¿Si pero si quiero cambiar al otro libro que es donde estoy haciendo la macro?
Pues amiga, ahí está la instrucción: Workbooks("Inventario proyecto Darwin ver 28 (version 1).XLS").Activate Solo pones el nombre del libro que deseas.