Reflejar datos en u lisbox de una celda o varias

Tengo un programa que estoy creando en excel, en el userform que ingresos datos necesito que se vea en un lisbox lo que estoy ingresando en las celdas de excel como puedo hacer en ese caso

1 respuesta

Respuesta
1
En el código del ListBox debes de poner este código corrigiendo el rango de celdas por el tuyo
ListBox1.ListFillRange = "A2:A7"
Según vayas introduciendo datos en tu hoja aparecerán en el ListBox
>Un saludo
>Julio
No haga mención de la hoja
No entiendo que quieres decir con eso explicame un poco más, si no no sabré contestarte.
Julio
La encontré la forma pero ahora una nueva pregunta como hagoara alinear los datos que me aparecen el listbox
No entiendo a que te refieres con alinear, puede ser ordenar por orden alfabético, pues seleccionas la lista en la hoja y en la pestaña Datos eliges ordenar y elige el orden ascendente o descendente como prefieras. Si es esto me lo dices y si no pues aclarame.
>Un saludo
>Julio
Fíjate que ya lo hice la nueva pregunta es como hago para que desde un userform flirtar datos de una hoja de excel, que al ejecutar un cmand por ejemplo imprimir se me despliegue otro userform que me solicite que es lo que quiero imprimir al decirle que es lo que voy a imprimir el me filtre lo solicitado para imprimir
Desde el userform puedes colocar un botón que lleve esta linea de código
Sub Imprimir_seleccion()
imprimir = InputBox("Ponga su rango")
'preparar la hoja para la impresión
With ActiveSheet.PageSetup
.PrintArea = imprimir
.Orientation = xlPortrait 'xlLandscape
.PaperSize = xlPaperA4 'formato A4
.BlackAndWhite = False 'incluir colores o no
.FitToPagesWide = 1 'reduce el tamaño de la hoja (ancho)
.FitToPagesTall = 1 'reduce el tamaño de la hoja (alto)
.CenterHorizontally = False 'centrar horizontalmente
.CenterVertically = False 'centrar verticalmente
End With
'imprimir las celdas seleccionadas (1 copia)
ActiveWindow.Selection.PrintOut copies:=1, collate:=True
End Sub
Así te saldrá una ventana para que pongas el rango a imprimir, y después la función de PrintArea coge ese rango.
>Un saludo
>Julio
Gracias una pregunta más como hago para que lo seleccionado se vea en una vista previa
La macro es esta:
'Esta es la linea de codigo que te muestra la vista previa
ActiveWindow. SelectedSheets. PrintPreview
Si quieres continuar con preguntas deberías de puntuar y finalizar esta y poner una pregunta nueva.
>Un saludo
>Julio
Private Sub btnmayorizar_Click()Sheets("MAYOR GENERAL").SelectActiveSheet.Unprotectimprimir = InputBox("No de Cuenta") 'escojo la cuenta para la impresion pormedio de un auto filtro Range("A7:I1489").Select 'seleciono todo el rango ya que la cuentaesta en varias celdasSelection.CopyRange("A1495").SelectSelection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,SkipBlanks _:=False, Transpose:=FalseApplication.CutCopyMode = FalseActiveWindow.SelectedSheets.PrintPreviewSelection.ClearContentsRange("A7").SelectActiveWindow.Selection.PrintOut copies:=4, collate:=TrueActiveSheet.Protect DrawingObjects:=True, Contents:=True,Scenarios:=True _, AllowFiltering:=True
Esta sintaxis la quiero usar, pero no puedo crear una forma que al usar inputbox dando el numero de cuenta este me la autofiltre en la hoja de excel como podrás ver ya lo demás lo tengo programada para las tareas que quiero que haga ayudame por favor a como crear esa rogramacion para que cuando ponga por ejemplo la cuenta 1234 el filtre de la hoja me explico
Para poner el criterio en tu filtro debes de poner este código:
dat = InputBox("Dato a Buscar", "AVISO")
Range("A7:I1489").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:=dat
Pruébalo y me cuentas
>Un saludo
>Julio
Gracias hermano por la yuda, una pregunta más disculpa mi ignorancia y molestia, como haga para que desde unboton se me guarde la información procesada pero que antes de guardar me pregunte con que nombre guardarla me explico.
Sabes como cuando le das guardar un libro por primera ves y te aparece la ventana de guardar permitiéndote asignarle un nombre o como cuando das en guardar como más o menos así como se hace, te lo agradecería de por vida con ello termino mi trabojo de la universidad, me vas a pegar un salvon
Las lineas de código para guardar un libro son las siguientes:
Elegimos el directorio donde guardarlo (sin poner nombre al archivo) solo carpeta por 'ejemplo yo he creado una carpeta en C que se llama Macros
ChDir "C:\Macros"
'Ahora volvemos a poner ya la ruta con el nombre que podemos sacar de un inputbox 'que nos preguntará antes ya te enseñé a crearlo anteriormente
ActiveWorkbook.SaveAs Filename:= _
"C:\Macros\Libro1.xls", FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
Con esto queda aclarada tu pregunta
>Un saludo
>Julio
Gracias varón pero quiero que aparte de agurdarlo me permita la macro que al ejecutarla por segunda vez me lo deje guardar pero con otro nombre, por ejemplo a vez que ejecuo la que me enviaste se gurada ela carpeta pero si le doy ejectar nuevamente me macir si quiero reemplazarlo, lo que quiero es en vez de reemplazarl cree otro achico como libro 2 por ejemplo y así sucesivamente
Te he dicho en la contestación que para cambiar el nombre del libro primero pongas un inputbox que te pregunte con que nombre quieres guardarlo, evidentemente si no lo has echo siempre te da el mismo nombre al libro.
Así que toma nota y corrige. Mirate los mensajes anteriores que esta puesto como crear un inputbox
>Un saludo
>Julio
sub guardado()
dat=inputbox("guardr como")
ActiveWorkbook.SaveAs Filename:= _
"C:\Macros\Libro1.xls", FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
end sud
Este fue la sintaxis que ocupe pero como te hice mencn antes no se me guara como le indico sino como libro 1 y si le doy nuevamente me dice si quiero reemplazarlo
corrígeme la sentencia por favor que se que tengo algo mal pero no se que
Lee tus lineas de código y comprende lo que le estas pidiendo a VBA que haga, vamos a analizarlo:
dat = InputBox("Guradar como")
Esto correcto
ActiveWorkbook:SaveAs Filename:=
Pedimos que nuestro Libro activo se guarde como , con el nombre=
"C:\Macros\Libro1.xls, FileFormat_
,Password:="", WriteResPassword:="", ReadOnlyRecommended:=False_
CreateBackup:=False
Aquí viene el problema, estamos diciendo Guardalo en la ruta C:\ carpeta macros, con el nombre Libro1.xls (estamos dando el mismo nombre) con el formato siguiente sin contraseña, no escribas contraseña, de solo lectura FALSO, y crear copia de seguridad FALSO.
¿Entiendes ahora la sintaxis?
No hemos utilizado el InputBox para nada, debemos meter la variable dat que creamos con el inputbox en el nombre del libro, y esa era la pregunta que me esperaba, pero bueno aquí te dejo la macro completa:
Sub guardar()
dat = InputBox("Guardar como")
ActiveWorkbook.SaveAs Filename:= _
"C:\Macros\" + dat + " .xls", FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
End Sub
Analiza las lineas y aprenderás como meter la variable en el guardar del libro, solo ponle el nombre, la extensión de .xls la pone la macro como podrás comprobar.
>Un saludo
>Julio
A que correo te puedo enviar el trabajo para que lo veas y te quedes una copia te agradezco de tu apoyo en gratitud te regalo una copia de mi proyecto
Ponme un correo por aquí, y te envío un email, es que si pongo el correo ya no viviría, es así y me fríen a preguntas... jajajajja
>Un saludo
>Julio
Perdón se me olvidaba, si has terminado puedes puntuar y finalizar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas