Jump to content

Antoni

Members
  • Content Count

    10,150
  • Joined

  • Last visited

  • Days Won

    551

Everything posted by Antoni

  1. Hola: Prueba esta macro: Sub Añadir_Pagina() 'Modo vista de página ActiveWindow.View = xlPageBreakPreview 'Buscamos última fila (Sumamos 3 porqué las filas 29,30 y 31 están vacias) UltimaFila = ActiveSheet.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row + 3 'Copiamos fila 1-31 al final de la hoja Rows("1:31").Copy: Range("A" & UltimaFila + 1).Select: ActiveSheet.Paste 'Nueva área de impresión ActiveSheet.PageSetup.PrintArea = "$A$1:$K$" & UltimaFila + 31 'Se posiciona en LOCALIDAD de la última página Range("C" & UltimaFila + 6).Select End Sub [/CODE] Esta macro copia de la fila 1 a la 31 al final de la hoja y reconfigura el area de impresión. Salu2. Antoni.
  2. Hola: Un ComboBox no es mas que la suma de un TextBox y un Listbox. Si quieres, como ya te dije en la anterior respuesta, puedes usarlo como TextBox. No obstante, te envío otra versión sustituyendo el ComboBox por un TextBox. Tu pregunta de todas formas, me despista un poco, porqué en primer lugar no he visto código alguno dentro del formulario, y en segundo lugar y ya para terminar, supongo que sabes que los controles tienen un nombre que VBA asigna de forma automática que consiste en el tipo de control seguido de un número correlativo, pero que ese nombre se puede cambiar a voluntad y que en nada condiciona el nombre con el tipo de control, así por ejemplo, un TextBox que se genere como "TextBox1" le podemos poner de nombre "MiCódigo", "Clave", o "Pepe" o incluso "ComboBox1" y no por ello dejaría de ser un TextBox. En el formulario, yo cambié los nombres de los "TextBox1", "TextBox2" y "TextBox3", por "Codigo", "Stock" y "Existencia" respectivamente, a la imagen de la lupa "Buscar", y a la de la puerta "Salir". Salu2. Antoni. Copia II de Copia de textbox.zip
  3. Hola: Prueba buscar la última fila con LastRow = MiHoja.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row [/CODE] Si te sigue fallando, sube el archivo. Salu2. Antoni.
  4. Hola: Tranquilo verzulsan, no me ha molestado en absoluto el que me citaras, y puedes hacerlo las veces que te plazca, la indicación iba solamente con el afán de que no se produzcan malas interpretaciones que desvirtúen el significado de los aportes por no poner la totalidad de la cita. Saludos cordiales. Antoni.
  5. Hola: Me parece verzulsan que te has equivocado de adjunto, ya que lo enviado no se corresponde para nada con el tema que nos ocupa. Y por favor, cuando cites a otras personas, procura poner la cita completa, ya que las frases sueltas sacadas de contexto pueden no reflejar lo expresado realmente en esa cita. Salu2. Antoni.
  6. Hola: Lo que pides no tiene nada que ver con tu cuestión inicial, si lo que quieres es un buscador de nombres de archivo prescindiendo del tipo, hay que plantear el formulario de otra manera al que esta realizado, en una palabra, hay que hacerlo nuevo. Lo pienso y ya te diré algo. Salu2. Antoni.
  7. Hola: Prueba con esta macro a ver que tal: Dim A, B, C As Worksheet Dim PrimerError As Boolean Dim x, y, z As Long Sub CompararLibros() On Error Resume Next Set A = ThisWorkbook.Sheets(1) Set B = ThisWorkbook.Sheets(2) Set C = ThisWorkbook.Sheets(3) C.Cells.ClearContents C.Activate A.Rows(1).Copy C.Rows(1) z = 1 For x = 1 To A.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row PrimerError = False For y = 1 To A.Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column If A.Cells(x, y) <> B.Cells(x, y) Then If PrimerError = False Then PrimerError = True z = z + 1 A.Rows(x).Copy C.Rows(z) End If C.Cells(z, y).Font.Color = vbRed C.Cells(z, y).Font.Bold = True End If Next y Next x End Sub [/CODE] La hoja de diferencias debe estar creada, no importa el nombre, pero debes crearla después de las de datos y no puede haber ninguna hoja mas o asegúrate que es la hoja nº 3 en orden de creación. Las de datos, deben ser la 1 y la 2. Salu2. Antoni.
  8. Hola: Te adjunto lo que has pedido, supongo. He sustituido el textbox correspondiente al código, por un combobox, y en el he cargado todos los artículos para que los puedas escoger de la lista y no tengas que escribirlos. No obstante, funciona igual que un textbox, si quieres puedes entrar el código de forma manual, pero entondes para buscar los datos, deberás clickar en la imagen de la derecha (lupa). Salu2. Antoni. Copia de textbox.zip
  9. Hola: Ya había visto el adjunto, pero entendí que querías hacerlo de una forma distinta a la de ir averiguando la posición del cursor. Como ya te he comentado, que yo sepa, no es posible interactuar con la hoja salvo con los eventos disponibles para tal fin, y lamentablemente para ti, el evento MouseMove no está entre ellos. Salu2. Antoni.
  10. Hola amigo bético: Vamos a aclarar unos conceptos: Los eventos ligado al mouse (MousseMove, MouseUp y MouseDown) , son eventos comunes a todos los controles ActiveX no solo al control MSFlexGrid, que es un control como cualquier otro, TextBox, ComboBox, etc... Que yo sepa, no es posible activar ningún evento pasando el mouse por encima de las celdas. Ya existen unos eventos relacionados con celdas, Change y SelectionChange, eso si, hay que posicionarse en la celda. Utilizando las teclas de dirección en lugar del mouse puedes conseguir un efecto similar. Prueba este código, desplazándote con las teclas de dirección: Dim FILA, COLUMNA As Long Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error Resume Next Cells(FILA, COLUMNA).Interior.ColorIndex = xlNone ActiveCell.Interior.Color = vbBlue FILA = ActiveCell.Row COLUMNA = ActiveCell.Column End Sub [/CODE] Salu2. Antoni.
  11. Hola: Ahí va la versión III. Salu2. Antoni. Visualizador de archivos III.zip
  12. Para Verzulsan: Lo mas probable es que te falte una referencia. Abre el libro,y en el editor de Visual Basic, dime que referencias te aparecen. (Alt + F11\Herramientas\Referencias) Salu2. Antoni.
  13. Hola: Le he añadido unas mejoras. Salu2. Antoni. Visualizador de archivos II.zip
  14. Hola Gerson: Si soy el Antoni de Todo Excel, (no pude registrarme como Antoni, ya estaba ocupado), gracias por la bienvenida, no sabía de la existencia de Ayuda a Excel. Me gusta. Salu2. Antoni.
  15. Hola: Una de las gracias del encriptado consiste que ni siquiera el encriptador sea capaz de descifrar el mensaje sin el libro de claves. El libro de claves, debes generarlo tu para tener la seguridad de que nadie mas lo va a tener. Es una tontería por mi parte el hecho de decir que no subía el libro de claves porqué pesaba mucho. Lee con atención el mensaje original y verás que es muy sencillo generar un libro de claves. Salu2. Antoni.
  16. Hola verzulsan: Me parece que también voy a tener que pasarme a Excel 2007. Como parece que te interesa el tema de la encriptación, te adjunto un encriptador/descifrador de mensajes desarrollado por mi. Puede encriptar cualquier carácter, mayúsculas y minúsculas, acentuadas o no, números, caracteres especiales, espacios,...... Se adjuntan 2 libros en el zip: El libro de claves, se entrega vacio, porque pesa bastante (8Mb), por lo que lo primero es generarlo. Abrirlo, pulsar sobre "Top secret" y esperar un par de minutos, luego salvar el libro con el nombre que querais. Podeis generar tantos libros de claves como querais, ya que podreis elegir cualquiera de ellos en el momento de cifrar el mensaje. Cada libro de claves, tiene 9 claves, cada clave 256 códigos, y cada código 256 caracteres. Cada carácter, es un número hexadecimal entre 0 y 255. El código se asigna por el resto módulo 256 que corresponde a la posición en el texto. La clave es con un número aleatorio de 1 a 9 que corresponde a la hoja que contiene la clave. El nombre de las hojas que contienen cada una de las 9 claves, es un número de ocho cifras en la que cada cifra es un número aleatorio entre 0 y 9 que se asigna al generar el libro de claves. En el mensaje cifrado, las 8 primeras posiciones, corresponden a la clave usada para poder utilizarla luego en el descifrado. El otro libro de la entrega es el encriptador. Tiene 3 funciones: .Encriptar, solicitará el libro de claves (1ª vez) a utilizar y encriptará el mensaje de "A1" .Descifrar, solicitará el libro de claves (1ª vez) a utilizar y descifrará el mensaje de "A1" en "A2" .Activar cambio de claves, hace que la próxima vez que pulsemos Encriptar/Descifrar nos pida el fichero de claves a utilizar. Importante: El nombre del libro de claves no se guarda con el mensaje cifrado, por lo que debemos recordar con que libro de claves hemos cifrado el mensaje para poder luego descifrarlo. Salu2 a to2.....to2. Antoni. PD: ¡¡¡ Viva er Beti manque pierda !!! ENIGMA.zip
  17. Hola: Dando por supuesto que la contestación a todas mis afirmaciones van a ser que si, te paso la macro que lo hace. Recuerda adecuar los nombres de libros y hojas. Las filas con diferencias serán resaltadas en amarillo y las celdas en rojo y en negrita, en ambos libros. Dim A, B As Worksheet Sub CompararLibros() Workbooks.Open "C:\LibroA.xls"' Workbooks.Open "C:\LibroB.xls" Set A = Workbooks("LibroA.xls").Sheets("Hoja1") Set B = Workbooks("LibroB.xls").Sheets("Hoja1") For x = 1 To A.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row For y = 1 To A.Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column If A.Cells(x, y) <> B.Cells(x, y) Then A.Rows(x).Interior.Color = vbYellow A.Cells(x, y).Font.Color = vbRed A.Cells(x, y).Font.Bold = True B.Rows(x).Interior.Color = vbYellow B.Cells(x, y).Font.Color = vbRed B.Cells(x, y).Font.Bold = True End If Next y Next x Workbooks("LibroA.xls").Save Workbooks("LibroA.xls").Close Workbooks("LibroB.xls").Save Workbooks("LibroB.xls").Close End Sub [/CODE] Salu2. Antoni.
  18. Hola: Confírmame si es cierto lo siguiente: 1) Los dos libros solo tienen una hoja a analizar. 2) La hoja a analizar, en los dos libros, tienen el mismo número de filas. 3)Hay que comparar todas las celdas del rango una a una, y fila a fila, es decir, comparar la celda A1 de un libro con la celda A1 del otro libro, la B1 con la B1, la C1 con la C1,...... y así con todas la columnas y todas las filas. 4)Marcar las celdas y las filas con diferencias. Si no es así, aclara como se debe haces el emparejamiento para encontrar las diferencias. Salu2. Antoni.
  19. Yo también me alegro de saludarte. Salu2. Antoni.
  20. Hola: Aunque un poco tarde, ahí va un formulario que permite abrir archivos jpg, pdf, doc y xls de cualquier directorio. Seguramente tendrás que cambiar el camino del ejecutable que permite abrir los archivos pdf. Salu2. Antoni. Visualizador de archivos.zip
  21. Hola Jordi: Si no recuerdo mal "Kill" forma parte de un conjunto de instrucciones del Basic original de MSDOS, antes de la aparición de Windows. Es que soy muy antiguo, soy de antes de los PC's, de cuando los ordenadores ocupaban habitaciones enteras y su capacidad se medía en Kbytes. ja,ja,ja.... Salu2. Antoni.
  22. Hola: A ver si así lo ves mas claro. Salu2. Antoni. MINIMIZAR FORMULARIO.zip
  23. Hola: Para cada check: Private Sub CheckBox1_Click() If CheckBox1_Click = True Then Rows(ActiveCell.Row).Copy Sheets("SELECCION").Rows(5) Sheets("SELECCION").Rows(5).Insert Exit Sub End Sub [/CODE] Salu2. Antoni.
×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png