CommandButton1 (sugerencias)

29/12/2007 - 13:13 por AgerGaston | Informe spam
Hola a todos.
Tome prestado un codigo para adaptarlo a mis necesidades, obviamente me
quede trabado por la mitad.

Que es lo que necesito?. El comman... contiene 4 campos a llenar. El primero
lo debe leer de una celda determinada, el segundo, tercero y cuarto, son
datos alfanumericos que el usuario debe cargar.

Una vez que el usuario complete esta accion por medio de un enter debe
volcarse esos datos a la planilla en una ubicacion especifica y quedar lista
en la fila siguiente en el caso que hubiera mas datos.

Bueno les copio el codigo tal cual lo tengo. Espero que me puedan ayudar.
Gracias

Private Sub CommandButton1_Click()
Rem inserta un renglon
Selection.EntireRow.Insert
Rem Empty Limpia Los Textbox
TextBox1 = [a4]
TextBox2 = Empty
TextBox3 = Empty
TextBox4 = Empty

Rem Textbox2SetFocus Envia el cursor al Textbox1 para volver a capturar los
datos
TextBox2.SetFocus
End Sub
Private Sub TextBox1_Change()
Range("a1198").Select
ActiveCell.FormulaR1C1 = TextBox1
End Sub

Private Sub TextBox2_Change()
Range("b1198").Select
ActiveCell.FormulaR1C1 = TextBox2
End Sub

Private Sub TextBox3_Change()
Range("c1198").Select
ActiveCell.FormulaR1C1 = TextBox3
End Sub

Private Sub TextBox4_Change()
Range("d1198").Select
ActiveCell.FormulaR1C1 = TextBox4
End Sub

Preguntas similare

Leer las respuestas

#1 De_Corando.
29/12/2007 - 21:44 | Informe spam
Buenas Tardes, AgerGaston!

Me imagino que debes de tener ya un "CommandBotton", para introducir
esa informacion en dicha forma despues de llenar los campos 2,3 y 4.
Creo que te falta crear un nuevo macro, donde activaras el "UserForm"
donde se obtiene la informacion a registrar.

Aqui el codigo para el nuevo MACRO:

Sub NvoRegistro_Click()
Load REGISTRAR
REGISTRAR.Show
End Sub


Donde:
"NvoRegistro" = Es el Nombre Nuevo del Macro
"REGISTRAR" = Es el Nombre del UserForm, que contiene los campos a
rellenar.
Respuesta Responder a este mensaje
#2 Héctor Miguel
30/12/2007 - 06:49 | Informe spam
hola, !

Que es lo que necesito?. El comman... contiene 4 campos a llenar.
El primero lo debe leer de una celda determinada, el segundo, tercero y cuarto, son datos alfanumericos que el usuario debe cargar.
Una vez que el usuario complete esta accion por medio de un enter debe volcarse esos datos a la planilla
en una ubicacion especifica y quedar lista en la fila siguiente en el caso que hubiera mas datos.
Bueno les copio el codigo tal cual lo tengo. Espero que me puedan ayudar.



si buscas que la rutina se ejecute "hasta" que pulses en el commandbutton del formulario (no precisamente con un "enter" donde ???)
puedes no usar los eventos '_change' de los textboxes (que de pasadita solo estan "machacando" lo que se va escribiendo en ellos)
si modificas los eventos y el codigo que expones +/- a lo siguiente:
y le das oportunidad al usuario de que confirme/modifique/... ANTES de hacer cualquier pase a las celdas de la hoja :D

Private Sub UserForm_Initialize()
' prepara el textbox1
TextBox1 = [a4]
End Sub
Private Sub CommandButton1_Click()
' se ejecutan las acciones SOLO cuando se pulsa en el boton
' inserta un renglon
Range("a1198").EntireRow.Insert
' rellena el rango con los datos de los textboxes
Range("a1198:d1198").Value = Array(TextBox1, TextBox2, TextBox3, TextBox4)
' inicializa los textboxes
TextBox1 = [a4]
TextBox2 = Empty
TextBox3 = Empty
TextBox4 = Empty
' envia el cursor al textbox2 para volver a capturar datos
TextBox2.SetFocus
End Sub

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ el codigo expuesto __
Private Sub CommandButton1_Click()
Rem inserta un renglon
Selection.EntireRow.Insert
Rem Empty Limpia Los Textbox
TextBox1 = [a4]
TextBox2 = Empty
TextBox3 = Empty
TextBox4 = Empty

Rem Textbox2SetFocus Envia el cursor al Textbox1 para volver a capturar los datos
TextBox2.SetFocus
End Sub
Private Sub TextBox1_Change()
Range("a1198").Select
ActiveCell.FormulaR1C1 = TextBox1
End Sub

Private Sub TextBox2_Change()
Range("b1198").Select
ActiveCell.FormulaR1C1 = TextBox2
End Sub

Private Sub TextBox3_Change()
Range("c1198").Select
ActiveCell.FormulaR1C1 = TextBox3
End Sub

Private Sub TextBox4_Change()
Range("d1198").Select
ActiveCell.FormulaR1C1 = TextBox4
End Sub
Respuesta Responder a este mensaje
#3 AgerGaston
02/01/2008 - 11:38 | Informe spam
Hola De_Corando
Hola Hector.

Gracias por responder, me voy a inclinar por la opcion de Hector, ya que
alli tengo la rutina completa, lo pruebo y luego les aviso.

Muy amables
Respuesta Responder a este mensaje
#4 AgerGaston
02/01/2008 - 13:25 | Informe spam
Hola a todos.

Les comento que que el codigo de Hector funciono, ok.

Lo que hago es agregar una imagen (JPG), ahora y solo por curiosidad, se
puede agregar en el USERFORM1 un gif animado?

Gracias.
Respuesta Responder a este mensaje
#5 Héctor Miguel
02/01/2008 - 21:02 | Informe spam
hola, !

... ahora y solo por curiosidad, se puede agregar en el USERFORM1 un gif animado?



si quieres mostrar gif-animados en excel...
-> prueba a incrustar en el formulario u hoja de calculo un objeto WebBrowser (Explorador del Web de Microsoft)
(en hoja de calculo, selecciona el boton mas controles... de la barra de herramientas cuadro de controles)
(te propongo este objeto porque es -casi- seguro que lo encontraras instalado en todo sistema)

a) puedes establecer la imagen que se mostrara en el control con codigo como...
WebBrowser1.Navigate "C:\Ruta y\Carpetas donde esta\miGIFanimado.gif"

b) si vas a estar cambiando de imagenes en el mismo contenedor... (probablemente)
necesitaras completar sentencias html (por si las dimensiones del GIF exceden las del control) p.e.
WebBrowser1.Navigate _
"about:<html><body scroll='no'><img src='" & _
"c:uta y\carpetas donde esta\miGIFanimado.gif" & _
"'></img></body></html>"

c) seguramente necesitaras hacer pruebas con mas propiedades/eventos/condiciones/...
incluso con otros controles (como el windowsmediaplayer -entre otros-) solo...
-> OJO: con las versiones instaladas

-> un ejemplo para el media player pudiera ser +/- como el siguiente:
MediaPlayer1.Filename = "c:uta y\carpetas donde esta\miAVIanimado.AVI"

o si la version del mediaplayer es posterior a la 9...
MediaPlayer1.URL = "c:uta y\carpetas donde esta\miAVIanimado.AVI"

si cualquier duda (o informacion adicional)... comentas?
saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida