Un favor

23/10/2008 - 13:40 por Luis | Informe spam
Agradezco vuestra ayuda, tanto si lo resolvemos como si no, Gracias
La macro que os presento, me funciona bien, pero la podria poner con un
userform

Sub Juego_Domino()
Dim Mas_Datos As Integer
Dim Partida As Integer
Dim Pareja As Integer
Dim Tantos As Integer
'Activar hoja
Worksheets("Hoja1").Activate
'activar celda 2
ActiveSheet.Range("A4").Activate

'Buscar la primera celda vacia par continuar con la bd
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Activate
Loop

'Partida = InputBox("Introduce el Nº. Partida, (Enter para terminar):",
"Partida")
'mientras la varable nombre sea diferente a cadena vacia
Mas_Datos = vbYes

Do While Mas_Datos = vbYes

Partida = Val(InputBox("introduce Numero", "Partida"))
Pareja = Val(InputBox("Introduce Nº. de Pareja", "Nº. de Pareja"))
Tantos = Val(InputBox("Introduce Los Tantos Obtenidos", "Tantos"))
'Copiar los datos en las casillas correspondientes
With ActiveCell
.Value = Partida
.Offset(0, 1).Value = Pareja
.Offset(0, 2).Value = Tantos

End With
'Hacer activa la celda siguiente a la actual
ActiveCell.Offset(1, 0).Activate
Mas_Datos = MsgBox("Otro registro ?", vbYesNo + vbQuestion, "Entrada de
Datos")

'Partida = InputBox("Entre el Nº. de Partida(Return para Terminar):",
"Partida")


Loop

End Sub

Muchisimas Gracias
 

Leer las respuestas

#1 Héctor Miguel
24/10/2008 - 02:54 | Informe spam
hola, Luis !

si ya cuentas con un listado donde tienes los registros y necesitas actualizarlo/...
-> podrias administrar el listado desde (menu) datos / formulario
que te muestra un dialogo bastante amigable desde el cual podras administrar/consultar/modificar/... la base de datos
(y tambien lo puedes mostrar por codigo aun si se trata de una hoja distinta de la hoja activa)

en la version 2007, el comando formulario del (ex)menu de datos es necesario agregarlo a la barra de acceso rapido desde...
-> (boton) office / (boton) opciones de excel / (ficha) personalizar
-> muestras los comandos disponibles en: -> todos los comandos
-> (por orden alfabetico) seleccionas Formulario...(DataFormExcel)
-> y pulsas en el boton Agregar >>

otra alternativa seria (siguiendo tu idea original de) un formulario de usuario
(luego de haber definido el diseno de los controles necesarios, su tipo, y objetivo de uso)...
puedes consultar paginas con ejemplos y descargas para el uso de formularios...
(desde basico en adelante) en...
http://j-walk.com/ss/excel/tips/userformtips.htm
http://www.erlandsendata.no/english...vbadialogs
http://www.cpearson.com/excel/FormPosition.htm
http://www.bmsltd.co.uk/DLCount/DLC...ormFun.zip

si cualquier duda (o requieres ayuda mas "precisa" y con informacion adicional)... comentas ?
saludos,
hector.

__ OP __
La macro que os presento, me funciona bien, pero la podria poner con un userform

Sub Juego_Domino()
Dim Mas_Datos As Integer
Dim Partida As Integer
Dim Pareja As Integer
Dim Tantos As Integer
'Activar hoja
Worksheets("Hoja1").Activate
'activar celda 2
ActiveSheet.Range("A4").Activate
'Buscar la primera celda vacia par continuar con la bd
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Activate
Loop
'Partida = InputBox("Introduce el Nº. Partida, (Enter para terminar):", "Partida")
'mientras la varable nombre sea diferente a cadena vacia
Mas_Datos = vbYes
Do While Mas_Datos = vbYes
Partida = Val(InputBox("introduce Numero", "Partida"))
Pareja = Val(InputBox("Introduce Nº. de Pareja", "Nº. de Pareja"))
Tantos = Val(InputBox("Introduce Los Tantos Obtenidos", "Tantos"))
'Copiar los datos en las casillas correspondientes
With ActiveCell
.Value = Partida
.Offset(0, 1).Value = Pareja
.Offset(0, 2).Value = Tantos
End With
'Hacer activa la celda siguiente a la actual
ActiveCell.Offset(1, 0).Activate
Mas_Datos = MsgBox("Otro registro ?", vbYesNo + vbQuestion, "Entrada de Datos")
'Partida = InputBox("Entre el Nº. de Partida(Return para Terminar):", "Partida")
Loop
End Sub

Preguntas similares