Jump to content

xafel

Members
  • Content Count

    40
  • Joined

  • Last visited

Everything posted by xafel

  1. Gracias de todos modos, he conseguido saber que era lo que fallaba, he encontrado una respuesta a un error parecido al mio y le decía que hiciera F8 y fuera depurando, asi he visto cual era la línea erronea Gracias
  2. Buenas tardes, tengo una aplicación que he intentado descargar de cosas para poderla subir en otra pregunta (no pude por ser demasiado grande) se me ha ocurrido intentar pasarla por el zip, pero ahora al abrir el archivo me da el error 13 no coinciden los tipos al clicar en "depurar" me marca en amarillo "Usf_Gastos.Show" vaya que no lo puede abrir, y lo que no se es como puedo hacer una búsqueda de donde esta el error, seguro que he borrado algo que era necesario y ahora no lo encuentra pero no se como verlo. El zip pesa 480 Kb asi que no lo puedo subir, lo siento Gracias de antemano por vuestro tiempo
  3. prueba con esta macro, es de elsamatilde de todoexpertos, yo la tengo en un botón de la hoja que quiero que imprima, espero te funcione Private Sub CommandButton1_Click() Application.ScreenUpdating = False 'limpio el area ActiveSheet.PageSetup.PrintArea = "" 'doy formato a la pagina With ActiveSheet.PageSetup .Orientation = xlPortrait .LeftMargin = Application.InchesToPoints(0.45) .TopMargin = Application.InchesToPoints(0.36) .BottomMargin = Application.InchesToPoints(0.04) .PrintTitleRows = "$1:$3" .LeftFooter = "Ejemplar para el cliente" .RightFooter = "&P de &N" End With 'Selecciono A1 rango1 = Range("A1").Select rango1 = Selection.Address 'selecciono l'ultima Fila = Range("a65536").End(xlUp).Row + 20 'se agrega la col siguiente paralas tablas dinamicas rango2 = Range(Selection, Cells(Fila, 6)).Select rango2 = Selection.Address ' lleno l'area d'impresion i mostro el missatge Ans = MsgBox("Se va a imprimir el rango" & " " & rango2, vbYesNo) ' pregunto si o no 'si es "si" imprimeixo If Ans = vbYes Then ActiveSheet.PageSetup.PrintArea = rango2 'VISTA PRELIMINAR ActiveWindow.SelectedSheets.PrintPreview 'imprimeixo directament 'PrintOut 'torno a demanr l'informe i canvio la linea de leftfooter With ActiveSheet.PageSetup .Orientation = xlPortrait .LeftMargin = Application.InchesToPoints(0.45) .TopMargin = Application.InchesToPoints(0.36) .BottomMargin = Application.InchesToPoints(0.04) .PrintTitleRows = "$1:$3" .LeftFooter = "Ejemplar para la arquitecto" .RightFooter = "&P de &N" End With 'Selecciono A1 rango1 = Range("A1").Select rango1 = Selection.Address 'selecciono l'ultima Fila = Range("a65536").End(xlUp).Row + 20 'se agrega la col siguiente paralas tablas dinamicas rango2 = Range(Selection, Cells(Fila, 6)).Select rango2 = Selection.Address PrintOut 'si es "no" borro l'area Else ActiveSheet.PageSetup.PrintArea = "" ActiveSheet.PageSetup.Orientation = xlPortrait Range("j1").Select End If End Sub
  4. Hola de nuevo, he vaciado todos los datos del archivo para que si podéis echarle un ojo Mil gracias de nuevo Nada que no se puede cargar pesa demasiado..... a alguien se le ocurre como cargarlo?
  5. Buenas tardes, te adjunto un archivo donde tienes un Form con contraseña, lo puedes adaptar para que te abra lo que quieras según la contraseña que ponga. A ver si te sirve Saludos Formulario con contraseña.xlsm
  6. Buenas tardes, después de haber aplicado en mi aplicación la respuesta (perfecta por cierto) que me ha dado Antoni, me pasa que en el archivo que adjunte funciona bien, pero en el mio no me deja cambiar el año, siempre busca el año actual, lo se por que he cambiado la fecha del ordenador y entonces me busca los datos del 18 o del 17 etc que es lo que he probado y no se por que pasa adjunto el código como ha quedado en la aplicación por si alguien ve donde esta el fallo Gracias de antemano Sub Resumen() Dim D As Worksheet, R As Worksheet, CIF As Range, Fila As Long Dim NUEVO As Object Dim i As Integer Dim Final As Integer Dim datamenor As Date Dim datamayor As Date Application.ScreenUpdating = False Set D = Sheets("ENTRADAS") Set R = Sheets("415")'-- '---------------------------------------------------------------------------- R.Visible = xlSheetVisible datamenor = CDate(Usf_Gastos.TextBox99) 'Data inferior datamayor = CDate(Usf_Gastos.TextBox100) 'data superior 'busco los datos '----------------------------------------------------------------------------- 'Aportación de Antoni de Ayudaexcel.com Fila = 1 R.Range("A4:E" & R.Range("A" & Rows.Count).End(xlUp).Row + 1).ClearContents For x = 5 To D.Range("A" & Rows.Count).End(xlUp).Row If D.Range("S" & x) >= CDate(datamenor) And D.Range("S" & x) <= CDate(datamayor) Then Set CIF = R.Columns("B").Find(D.Range("C" & x), , , xlWhole) If Not CIF Is Nothing Then R.Range("C" & CIF.Row) = R.Range("C" & CIF.Row) + D.Range("K" & x) R.Range("D" & CIF.Row) = R.Range("D" & CIF.Row) + D.Range("P" & x) R.Range("E" & CIF.Row) = R.Range("E" & CIF.Row) + D.Range("R" & x) Else Fila = Fila + 1 R.Range("A" & Fila) = D.Range("B" & x) R.Range("B" & Fila) = D.Range("C" & x) R.Range("C" & Fila) = D.Range("K" & x) R.Range("D" & Fila) = D.Range("P" & x) R.Range("E" & Fila) = D.Range("R" & x) End If End If Next R.Activate R.Range("h1") = datamenor: R.Range("i1") = datamayor R.UsedRange.Sort Key1:=R.Columns("C"), Header:=xlYes 'Ordena por Honorarios 'R.UsedRange.Sort Key1:=R.Columns("B"), Header:=xlYes 'Ordena por CIF Unload Usf_Gastos End Sub PD: No puedo adjuntar la aplicación por que tiene todos los datos de clientes, factura, ventas etc, gracias por vuestra comprensión
  7. GRACIAS..... es justo eso...ahora mismo voy a ver donde lo hacia mal ..a ver si aprendo ....
  8. el primer error resuelto, una tontería llamaba mal la hoja pero no me pone los datos en su lugar Lo dicho Gracias de antemano sumar por cif y año.xls
  9. buenos días, he intentado mejorar el archivo "sumar por cif" que me arreglo Antoni, pudiendo seleccionar el año que te interesa, pero me da el error 424 dice que le falta un objeto pero no veo que es lo que he hecho mal, si le podéis dar un vistazo , os lo agradezco. Mil gracias de antemano sumar por cif y año.xls
  10. Gracias Silvia, ya funciona era justo lo que tu dices....algún día aprenderé
  11. Buenos días no se que estoy haciendo mal, pero no me funciona el sumar.si.conjunto, adunto un archivo por si le podeis echar un ojo, imagino que será algo de sintaxis. Gracias de antemano sumar por cif.xls
  12. Gracias es justo lo que necesitaba ahora mismo me pongo a insertarlo en la aplicación Repito mil GRACIAS
  13. Perdona que abuse de tu paciencia, pero es que no me funciona el sumar.si.conjunto y no veo donde meto la pata, te lo he añadido al mismo archivo por si le puedes echar un ojo Gracias de antemano sumar por cif.xls
  14. Buenos días Antoni, ante todo gracias por tu tiempo, te adjunto de nuevo un archivo pero esta vez con datos para ver si soy capaz de hacerme entender, gracias sumar por cif.xls
  15. Buenos días, tengo una aplicación donde se van acumulando los datos de las facturas a clientes, aquí en Canarias tenemos que presentar a hacienda un modelo (415) informativo donde se les dice la suma por cliente de todo lo facturado por año. Estoy intentando hacerlo pero no me sale, lo que quiero es que me haga la suma de los importes ( Honorarios - IGIC- Total) por el cif del cliente y me lo ponga en otra hoja. Os adjunto lo que he hecho hasta el momento por si a alguien se le ocurre la forma correcta de hacerlo Mil gracias de antemano sumar por cif.xls
  16. xafel

    Modificar

    Gracias, voy a intentar reducir el peso del archivo es de 1.6Kb si lo consigo lo cargo.
  17. xafel

    Modificar

    Buenos días foreros tengo un código que me funciona en una aplicación y no me funciona en otra, os adjunto el código por si vosotros sois capaces de ver donde esta el fallo Sub AceptarModificar() Dim i As Integer Dim j As Integer Dim Final As Integer Dim Final2 As Integer For i = 4 To 10000 If Hoja5.Cells(i, 1) = "" Then Final = i - 1 Exit For End If Next For i = 4 To Final If FrmNuevo.TextBox13 = Hoja5.Cells(i, 1) Then Hoja5.Cells(i, 1) = FrmNuevo.TextBox13 'Expediente Hoja5.Cells(i, 2) = FrmNuevo.TextBox38 'fecha Hoja5.Cells(i, 3) = FrmNuevo.ComboBox6 'Tipo Hoja5.Cells(i, 4) = FrmNuevo.ComboBox7 'subtipo Hoja5.Cells(i, 5) = FrmNuevo.TextBox15 'cliente Hoja5.Cells(i, 6) = FrmNuevo.TextBox42 'finca Hoja5.Cells(i, 7) = FrmNuevo.TextBox43 'municipio Hoja5.Cells(i, 8) = FrmNuevo.TextBox18 'provincia Hoja5.Cells(i, 9) = FrmNuevo.TextBox44 'cod pos Hoja5.Cells(i, 10) = FrmNuevo.ComboBox5 'mediante Hoja5.Cells(i, 11) = FrmNuevo.TextBox25 'Sup total Hoja5.Cells(i, 12) = FrmNuevo.TextBox26 'sup construida Hoja5.Cells(i, 13) = FrmNuevo.CheckBox5 'gps Hoja5.Cells(i, 14) = FrmNuevo.Label43 'hipervinculo Hoja5.Cells(i, 15) = FrmNuevo.TextBox19 'nif Hoja5.Cells(i, 17) = FrmNuevo.TextBox75 'observaciones Hoja5.Cells(i, 20) = FrmNuevo.TextBox14 'fecha encargo Hoja5.Cells(i, 21) = FrmNuevo.TextBox16 'dom fiscal Hoja5.Cells(i, 22) = FrmNuevo.TextBox39 'tf fijo Hoja5.Cells(i, 23) = FrmNuevo.TextBox40 'tf movil Hoja5.Cells(i, 24) = FrmNuevo.TextBox17 'municipio Hoja5.Cells(i, 25) = FrmNuevo.TextBox20 'cod pos cliente Hoja5.Cells(i, 26) = FrmNuevo.TextBox74 'importe dro Hoja5.Cells(i, 27) = FrmNuevo.TextBox16 'dom fiscal Exit For End If Next For j = 4 To 10000 If Hoja9.Cells(j, 1) = "" Then Final2 = j - 1 Exit For End If Next For j = 4 To Final2 If FrmNuevo.TextBox13 = Hoja9.Cells(i, 1) Then Hoja9.Cells(j, 2) = CDbl(FrmNuevo.TextBox67) Exit For End If Next End Sub Gracias de antemano
  18. xafel

    Hipervinculo

    Gracias por tu tiempo, he revisado los dos códigos de la macro "crearIndice" y sinceramente no le veo la diferencia.... las voy a imprimir las dos a ver si sobre papel soy capaz de ver lo que has cambiado. Del resto seguiré investigando a ver si doy con la solución Repito mil gracias
  19. xafel

    Hipervinculo

    Perdona que te vuelva a molestar. Como has hecho que en la lista de hojas la hoja índice no sale en tu versión (me gusta) quiero hacerlo en la mia pero no veo como lo haces. gracias
  20. xafel

    Hipervinculo

    Gracias por tu respuesta, ya la he probado y es evidentemente una gran solución. Lo que yo pedía es que al clicar en un hipervínculo se active la hoja a la que esta relacionada, por que esta aplicación va a tener muchas hojas, y no me gusta ver las pestañas debajo, por eso las quiero poner en " 0xlsSheets.hidden" todas las hojas menos la índice, pero entonces no funcionan los hipervínculos. usando el generador de macros He puesto esta línea al final del código que he puesto antes pero no me funciona Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True lo que me dices de poner los datos en la hoja índice, no entiendo lo que me propones , por que los datos deben colocarse al lado del hiperlink que le toca, y no se como hacerlo. Gracias de nuevo
  21. xafel

    Hipervinculo

    He probado los siguiente: Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) Sheets(1).Visible = True For I = 2 To Sheets.Count Sheets(I).Visible = True Next End Sub en la hoja donde esta el hipervínculo, me abre todas las hojas pero no me funcina el link. Algo hago mal .... a que si .... Gracias
  22. Buenos días, necesito modificar un hipervínculo, lo que quiero es tener las hojas "apagadas" y que al darle al hipervínculo se active la hoja y al salir se vuelva a apagar. Se trata de una aplicación que crea nueva hoja y la relaciona en la primera (mejor lo veis en el archivo adjunto) También necesito que al crear la hoja nueva en la hoja1 se me guarde los datos que he puesto en la celda E21 y E27 de cada una de las hojas. Espero haberme explicado Gracias de antemano estado de cuentas.xlsm
  23. buenos días, tengo el código que os adjunto que en principio es para modificar registros de una hoja de Excel, este código lo uso en varias aplicaciones y funciona bien si tengo un registro (dni, numero de expediente etc.) que sea único, el problema es que en esta aplicación no tengo ninguno que sea único, y e intentado usa el numero de fila (row) como registro para poder modificar pero no lo hago bien. Lleno el formulario con los datos que tengo en la hoja1 desde un listbox de otro formulario, hasta aquí todo bien, en el label20 pongo la cels adress que tengo en dicho listbox, lo que no se es como emparejar la dirección (label20) con la fila de la hoja1. gracias por vuestra ayuda Dim i As Integer Dim j As Integer Dim Final As Integer Dim Final2 As Integer For i = 2 To 10000 If Hoja1.Cells(i, 1) = "" Then Final = i - 1 Exit For End If Next For i = 4 To Final "If Usf_Gastos.ComboBox6 = Entradas.Cells(i, 20) Then" este es el código que funciona en otra aplicación If Usf_Ver.Label20 = Hoja1.Cells.( ? ) Then (aquí es donde pongo el numero de fila) Hoja1.Cells(i, 2) = Usf_Ver.TextBox5 y sigue con el resto de datos PD estoy intentando reducir el peso para adjuntar el archivo pero ni con rar bajo de 175kb
  24. Disculpa, si que atiendo a vuestras indicaciones..... es mas, intento entender como lo hacéis para aprender para la siguiente vez espabilar solo, vpen ya esta declarada ahora me pide que declare "sum" que yo entendí que es la sentencia vba para la suma, lo tengo todo en un modulo, funciona bien el llenar el listbox con lo que esta pendiente en la hoja6 (pagos) lo que no funciona es hacer la suma de lo pendiente, lo estoy intentando sumando toda la columna "D", he probado haber si sabia (copiando de otros códigos) sumar la columna 3 del listbox pero de momento no acierto. Repito mil disculpas por las molestias y gracias por las ayudas PD el peso son 1650KB que no me salió en el post anterior Dim vpen As Range Dim a As Long Dim E As Long FrmNuevo.ListBox3.AddItem "Loc" FrmNuevo.ListBox3.List(a, 1) = "Expediente" FrmNuevo.ListBox3.List(a, 2) = "Honorarios" FrmNuevo.ListBox3.List(a, 3) = "Pendiente" ' aqui espacio en blanco E = a + 1 FrmNuevo.ListBox3.AddItem "" FrmNuevo.ListBox3.List(E, 2) = "" On Error Resume Next For Each vpen In Range("Tabla1[columna4]") With FrmNuevo.ListBox3 If vpen > 0 Then .AddItem .List(.ListCount - 1, 1) = vpen.Offset(, -3) .List(.ListCount - 1, 2) = vpen.Offset(, -1) .List(.ListCount - 1, 3) = vpen End If End With 'FrmNuevo.TextBox47 = VBA.Format(WorksheetFunction.Sum(Hoja6.Columns("D5:D1000")), "000.00") 'FrmNuevo.TextBox47 = VBA.Format(suma, "000.00") 'FrmNuevo.TextBox47 = VBA.Format(WorksheetFunction.Sum(ListBox3.List(.ListCount - 1, 3))) Next
  25. ahora he probado FrmNuevo.TextBox47 = FormatNumber(WorksheetFunction.Sum(Hoja6.Columns("D"))) me da error 9 en tiempo de ejecución subíndice fuera del intervalo esto es un expediente X Perdonad que sea tan pesado
×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png