• Viernes 8 de Noviembre de 2024, 07:03

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - agri13

Páginas: [1]
1
VBA / Abrir Formulario
« en: Miércoles 28 de Noviembre de 2007, 18:59 »
Hola a todos!!!

Me gustaria saber un código para poder abrir un frmulario haciendo click en un boton de comando, y ademas, que se cerrase el anterior formulario, de manera que únicamente se vea un formulario abierto en la pantalla.

El código que tengo es el siguiente:

Private Sub CommandButton2_Click()

UserForm4.Show
Me.Hide

End Sub

El problema es que me abre el Userform4, pero no me cierra el 3, que es donde está el botón al que quiero asignar este código.

muchas gracias!!

2
VBA / Buscar En Una Base De Datos
« en: Miércoles 18 de Julio de 2007, 21:02 »
Buenas tardes!!

Mi cuestión es:
 
Tengo una base de datos en la cual se reflejan laas vacas de una granja, identificadas por un número diferente cada una.
Todos los referentes a cada vaca se insertan en la hoja mediante unos textbox y después se dan de alta con un botón de comando que me las coloca en orden ascendente según su nº.
 
Lo que querría hacer es programar unos botones para poder buscar los datos de una vaca, de manera que en textbox1 introduzco el nº de identificación de la vaca (que se ve en la columna "B") y presionando el botón "buscar" se vean todos los demás parámetros en su correspondiente textbox.
Una vez que salgan los datos en los textbox me gustaría poder modificarlos y que mediante otro botón de comando me los colocase en el lugar correspondiente a esa vaca.
 
Lo he intentado hacer utilizando un etiqueta para poder modificar los datos de la siguiente manera:
 
Botón para buscar:
 
Private Sub CommandButton2_Click()

Rem buscar
Cells.Find(what:=TextBox1, after:=ActiveCell, LookIn:=xlFormulas, lookat:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).Activate
ActiveCell.Offset(0, 1).Select
TextBox2 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox3 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox4 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox5 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox6 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox7 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox8 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox9 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox10 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox311 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox12 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox13 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox14 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox15 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox16 = ActiveCell
 
Label17 = ActiveCell.Row

Range("B11").Select
 
End Sub
 
Botón para modificar datos:
 
Private Sub CommandButton4_Click()

Rem modificar datos
Label17 = "11"
Range("B11").Select
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
TextBox4 = Empty
TextBox5 = Empty
TextBox6 = Empty
TextBox7 = Empty
TextBox8 = Empty
TextBox9 = Empty
TextBox10 = Empty
TextBox11 = Empty
TextBox12 = Empty
TextBox13 = Empty
TextBox14 = Empty
TextBox15 = Empty
TextBox16 = Empty
TextBox1.SetFocus

End Sub
 
Gracias!!!

3
VBA / Referenciar La Siguiente Fila En Blanco
« en: Domingo 15 de Julio de 2007, 20:48 »
Hola a todos!!

Tengo una base de datos en la que realizo una serie de altas y bajas cada cierto tiempo, y me gustaría opder realizarlo mediante una macro.
Mi objetivo es que al presionar el botón de "alta" me coloque lo que hay escrito en los textbox en la siguiente fila en lanco que haya, sea cual sea su número.

Gracias.Un saludo

4
VBA / Error'13', No Coinciden Los Tipos
« en: Viernes 13 de Julio de 2007, 11:20 »
Hola a todos!!

Tengo que rellenar una base de datos, lo cual hago mediante un formulario en el que hay una serie de textbox y botones de comando.
En los textbox introduzco fechas y otros tipos de datos, mientras que uno de los botones de comando lo que hace es dar de alta esos datos, es decir, inserta un renglón y pone en blanco todos los textbox.

La secuencia que utilizo es la siguiente:

Private Sub CommandButton1_Click()
Rem alta
Range("A11").Select
Selection.EntireRow.Insert
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
TextBox4 = Empty
TextBox5 = Empty
TextBox6 = Empty
TextBox7 = Empty
TextBox8 = Empty
TextBox9 = Empty
TextBox10 = Empty
TextBox11 = Empty
TextBox12 = Empty
TextBox13 = Empty
TextBox14 = Empty
TextBox15 = Empty
TextBox16 = Empty
TextBox1.SetFocus
End Sub

Private Sub TextBox1_Change()
Range("B" + Label17).FormulaR1C1 = Val(TextBox1)
End Sub

Private Sub TextBox2_Change()
Range("C" + Label17).FormulaR1C1 = Val(TextBox2)
End Sub

Private Sub TextBox3_Change()
Range("D11").FormulaR1C1 = CDate(TextBox3.Text)
TextBox10 = CDate(Cells(8, 1).Text) - CDate(TextBox3.Text)
End Sub

Private Sub TextBox4_Change()
Range("F" + Label17).FormulaR1C1 = TextBox4
End Sub

Private Sub TextBox5_Change()
Range("G" + Label17).FormulaR1C1 = Val(TextBox5)
End Sub

Private Sub TextBox6_Change()
Range("H11").FormulaR1C1 = CDate(TextBox6.Text)
TextBox11 = CDate(TextBox6.Text) - CDate(TextBox3.Text)
End Sub

Private Sub TextBox7_Change()
Range("J" + Label17).FormulaR1C1 = CDate(TextBox7.Text)
TextBox12 = CDate(Cells(8, 1).Text) - CDate(TextBox7.Text)
TextBox13 = CDate(TextBox7.Text) - CDate(TextBox3.Text)
TextBox14 = CDate(TextBox7.Text) + 222
TextBox15 = CDate(TextBox7.Text) + 282
End Sub

Private Sub TextBox8_Change()
Range("K" + Label17).FormulaR1C1 = TextBox8
End Sub

Private Sub TextBox9_Change()
Range("N" + Label17).FormulaR1C1 = CDate(TextBox9.Text)
TextBox16 = CDate(TextBox3.Text) - CDate(TextBox9.Text)
End Sub

Private Sub TextBox10_Change()
Range("E" + Label17).FormulaR1C1 = Val(TextBox10)
End Sub

Private Sub TextBox11_Change()
Range("I11").FormulaR1C1 = Val(TextBox11)
End Sub

Private Sub TextBox12_Change()
Range("L" + Label17).FormulaR1C1 = Val(TextBox12)
End Sub

Private Sub TextBox13_Change()
Range("M" + Label17).FormulaR1C1 = Val(TextBox13)
End Sub

Private Sub TextBox14_Change()
Range("O" + Label17).FormulaR1C1 = TextBox14
End Sub

Private Sub TextBox15_Change()
Range("P" + Label17).FormulaR1C1 = TextBox15
End Sub

Private Sub TextBox16_Change()
Range("Q" + Label17).FormulaR1C1 = Val(TextBox16)
End Sub


El problema aparece al pulsar el botón, y me da un error '13' en el tiempo de ejecución, no coinciden los tipos.

El lugar donde aparece el error es:

Private Sub TextBox3_Change()
Range("D11").FormulaR1C1 = CDate(TextBox3.Text)
TextBox10 = CDate(Cells(8, 1).Text) - CDate(TextBox3.Text)
End Sub


Saludos, muchas gracias.

5
VBA / Restar Fechas Mediante Macros En Excel
« en: Martes 10 de Julio de 2007, 22:03 »
Hola a todos!!

He creado un formulario con varios textbox, en los cuales debo introducir fechas y en uno de ellos me debe aparecer automaticamente la resta entre dos fechas (en dias), y no consigo dar con el código adecuado, ya que unas veces solo me resta los dias, otras los meses y otras los años, agradecería si alguien me pudiese facilitar un código con el que realizar esta operación.

Gracias, un saludo.

6
Visual Basic 6.0 e inferiores / Restar Fechas Mediante Macros En Excel
« en: Martes 10 de Julio de 2007, 22:00 »
Hola a todos!!

He creado un formulario con varios textbox, en los cuales debo introducir fechas y en uno de ellos me debe aparecer automaticamente la resta entre dos fechas (en dias), y no consigo dar con el código adecuado, ya que unas veces solo me resta los dias, otras los meses y otras los años, agradecería si alguien me pudiese facilitar un código con el que realizar esta operación.

Gracias, un saludo.

Páginas: [1]