Tres preguntas VBA
Soy nuevo en esto de VISUAL BASIC, como para aprender me he decidido por una aplicación simple, pese a lo simple me ha causado algunos problemas por desconocimiento.
Primero la explicación, hay un archivo donde se anotan todos los oficios que salen del tribunal donde trabajo, pero este archivo pesa mucho, generalmente alguien lo está ocupando y hay que comenzar a llamar a cada unidad a fin que lo liberen.
He armado una aplicación de forma que ingresen los datos en los textbox y luego de presionar ejecutar el archivo a que se refiere se abra, pegue los datos y se sierre.
Has ahí todo bien, aunque aun no lo ejecuto.
Private Sub CommandButton1_Click()
Dim Resp As Integer
Resp = MsgBox("los datos son correctos", vbQuestion + vbYesNo + vbDefaultButton2, "VERIFICACIÓN DE DATOS")
If Resp = 6 Then
TextBox1.Text = Date
Workbooks.Open ("D:\xxxxx\0FICIOS TRIBUNAL 2011.xls")
Sheets("2011").Select
Range("c1").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell = TextBox1
ActiveCell.Offset(0, 1).Select
ActiveCell = TextBox2
ActiveCell.Offset(0, 1).Select
ActiveCell = TextBox3
ActiveCell.Offset(0, 1).Select
ActiveCell = TextBox4
ActiveCell.Offset(0, 1).Select
ActiveCell = TextBox5
ActiveCell.Offset(0, 1).Select
ActiveCell = TextBox6
ActiveCell.Offset(0, 1).Select
ActiveCell = TextBox7
ActiveCell.Offset(0, 1).Select
Respuesta = MsgBox("Oficio N° " & ActiveCell & "-2011", vbOKOnly / vbInformation, "N° DE OFICIO")
ActiveWorkbook.Close Savechanges:=True
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
TextBox4 = Empty
TextBox5 = Empty
TextBox6 = Empty
TextBox7 = Empty
End If
End Sub
Ahora desconozco algunas cosas, por ejemplo:
Ya que el archivo es muy pesado y se demora en abrir ¿hay alguna forma de pegar los datos sin abrir el archivo?
¿Si pego esta aplicación en los escritorios de mis compañeros y dos exportan datos al mismo tiempo que pasara? ¿Cómo evito que pase?
Al anotar el siguiente código en "thisworkbook" me permite ver solo mi aplicación, sin ver la planilla exel desde donde la cree sin problema, pero cuando presiono el botón que puse para abrir el archivo me dice que el archivo ya está abierto (esto con un archivo de prueba que está en mi pc y no con el que tengo que ocupar que está en otro pc)¿Cómo puedo solucionar este problema?
Private Sub Workbook_Open()
Application.Visible = False
UserForm.Show
End Sub
De ante mano muchas gracias.
Primero la explicación, hay un archivo donde se anotan todos los oficios que salen del tribunal donde trabajo, pero este archivo pesa mucho, generalmente alguien lo está ocupando y hay que comenzar a llamar a cada unidad a fin que lo liberen.
He armado una aplicación de forma que ingresen los datos en los textbox y luego de presionar ejecutar el archivo a que se refiere se abra, pegue los datos y se sierre.
Has ahí todo bien, aunque aun no lo ejecuto.
Private Sub CommandButton1_Click()
Dim Resp As Integer
Resp = MsgBox("los datos son correctos", vbQuestion + vbYesNo + vbDefaultButton2, "VERIFICACIÓN DE DATOS")
If Resp = 6 Then
TextBox1.Text = Date
Workbooks.Open ("D:\xxxxx\0FICIOS TRIBUNAL 2011.xls")
Sheets("2011").Select
Range("c1").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell = TextBox1
ActiveCell.Offset(0, 1).Select
ActiveCell = TextBox2
ActiveCell.Offset(0, 1).Select
ActiveCell = TextBox3
ActiveCell.Offset(0, 1).Select
ActiveCell = TextBox4
ActiveCell.Offset(0, 1).Select
ActiveCell = TextBox5
ActiveCell.Offset(0, 1).Select
ActiveCell = TextBox6
ActiveCell.Offset(0, 1).Select
ActiveCell = TextBox7
ActiveCell.Offset(0, 1).Select
Respuesta = MsgBox("Oficio N° " & ActiveCell & "-2011", vbOKOnly / vbInformation, "N° DE OFICIO")
ActiveWorkbook.Close Savechanges:=True
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
TextBox4 = Empty
TextBox5 = Empty
TextBox6 = Empty
TextBox7 = Empty
End If
End Sub
Ahora desconozco algunas cosas, por ejemplo:
Ya que el archivo es muy pesado y se demora en abrir ¿hay alguna forma de pegar los datos sin abrir el archivo?
¿Si pego esta aplicación en los escritorios de mis compañeros y dos exportan datos al mismo tiempo que pasara? ¿Cómo evito que pase?
Al anotar el siguiente código en "thisworkbook" me permite ver solo mi aplicación, sin ver la planilla exel desde donde la cree sin problema, pero cuando presiono el botón que puse para abrir el archivo me dice que el archivo ya está abierto (esto con un archivo de prueba que está en mi pc y no con el que tengo que ocupar que está en otro pc)¿Cómo puedo solucionar este problema?
Private Sub Workbook_Open()
Application.Visible = False
UserForm.Show
End Sub
De ante mano muchas gracias.
{"Lat":-39.3662221322774,"Lng":-73.1233155727386}
1 Respuesta
Respuesta de fmatamala
1