Jump to content

Pirtrafilla

Members
  • Posts

    406
  • Joined

  • Last visited

  • Days Won

    2

Pirtrafilla last won the day on March 28

Pirtrafilla had the most liked content!

About Pirtrafilla

  • Birthday 06/09/1968

Converted

  • Campos
    ;

Recent Profile Visitors

1,082 profile views

Pirtrafilla's Achievements

  1. Creo definitivamente que es una tornería. Modifico el .body del mensaje y no es necesario introducción. .body = "A/A: " & Me.ComboBox1.Value & vbNewLine & vbNewLine & "Adjunto se remite recibo de nómina desde PERIODO " & Me.TextInicio & " a PERIODO " & Me.TextFin & vbNewLine & vbNewLine & vbNewLine & vbNewLine & spie Os he hecho perder el tiempo, lo siento.
  2. Me estoy liando @Antoni, .Subject es el asunto no el texto como he dicho y .MailEnvelope es para pegar por ejemplo una hoja de un libro en el cuerpo del correo. Pero yo solo estoy enviando un correo con un texto y quería poner una introducción al principio pero sin pegar nada, y ahí es donde no me aclaro. Lo mismo ni se puede y es una tontería. Saludos.
  3. Hola @Antoni, en el código de arriba ya viene .Subject Eso es el texto del mensaje, pero con .Introduction se pone una pequeña introducción al texto del mensaje. Parece lo mismo pero no lo es. Creo que va ligado a esto, .MailEnvelope pero no acabo de encontrar como hacerlo. Voy a seguir buscando pero si alguien sabe le agradezco. Gracias @Antoni
  4. Buenas. Tengo un programa para enviar nóminas automatizadas desde el Excel, pero se me ha ocurrido que antes de poner el texto del cuerpo del correo podría añadir una introducción, por ejemplo pondría A/A: JOSE LOPEZ GARCIA. Para enviar el correo tengo este código en un bucle y funciona perfectamente, solo que no me añade la introducción. Pongo solo esta parte del código donde envío correos por si podríais decirme si he de añadir algo más para que el código funcione. 'Enviamos por mail Set OutMail = OutApp.CreateItem(0) On Error Resume Next spie = "Gracias." With OutMail .To = destino .CC = copia .BCC = "" .Introduction = "A/A: " & Me.ComboBox1.Value .Subject = Me.ComboBox1.Value & " - Nóminas PERIODO " & Me.TextInicio & " a PERIODO " & Me.TextFin .body = "Adjunto se remite recibo de nómina desde PERIODO " & Me.TextInicio & " a PERIODO " & Me.TextFin & vbNewLine & vbNewLine & vbNewLine & vbNewLine & spie .Attachments.Add Ruta3 .send End With ' Set OutMail = Nothing: Set OutApp = Nothing No añado ningún archivo porque solo necesito saber si la línea (.Introduction = "A/A: " & Me.ComboBox1.Value) funcionaría de alguna manera o es que esta instrucción no procede con OutMail O si me decís como puedo averiguarlo os lo agradezco. Gracias. Moisés.
  5. He probado esta fórmula pero tampoco me funciona: =SUMAR.SI($F$2:$F$8;A2&"*";$G$2:$G$8)
  6. Hola, buenas tardes. Os pido ayuda para este problema. Quiero hacer sin necesidad de macros, si es posible y no veo como hacerlo. Se trata de sumar los importes de un rango teniendo en cuenta que el valor que se busca de la celda es las 4 cifras de la izquierda. Envío un ejemplo con el resultado en amarillo. Por ejemplo todas las obras que empiecen por 1100 se refieren a la delegación 1100. La obra sería 11000001, 11000002 por ejemplo. Como digo es un ejemplo, no tiene nada que ver con el fichero original que tiene muchas otras celdas y obras. pero siempre coincide los primeros 4 dígitos de la obra con el numero de delegación. Gracias de antemano. CuotaDelegación.xlsx
  7. Gracias @Antoni. Mucho más corto y lógico.
  8. Hola de nuevo, ya lo solucioné. Dejo el código y si alguien sabe mejorarlo será un gusto aprender. Sub Convertir_Cells_en_Range() ' Dim rng1$, rng2$, rng3$, wdatos As Worksheet Set wdatos = ThisWorkbook.Sheets("Hoja1") uCol = Range("B2").End(xlToLeft).Offset(0, 1).Column + 1 For col = 2 To uCol rng1 = wdatos.Cells(3, col).Address(RowAbsolute:=False, ColumnAbsolute:=False) rng2 = wdatos.Cells(12, col).Address(RowAbsolute:=False, ColumnAbsolute:=False) rng3 = wdatos.Cells(22, col).Address(RowAbsolute:=False, ColumnAbsolute:=False) wdatos.Cells(13, col) = "=" & rng2 & "/" & rng1 wdatos.Cells(24, col) = "=" & rng3 & "/" & rng1 Next ' End Sub Cell to Range.xlsm
  9. Creo que ya lo tengo...... A ver si ceno y luego pruebo, y si lo consigo subo el código.
  10. Hola de nuevo. Envío un ejemplo de lo que necesito, no se si esto es posible. Tengo unos datos en una hoja y en una celda calculo el % entre dos celdas. Hasta ahí es sencillo, pero lo que necesito es que en la celda donde se hace el calculo aparezca la fórmula como si no estuviera hecho con VBA. Por ejemplo, Sub ejemplo() lColumn = Hoja1.Cells(13, Columns.Count).End(xlToLeft).Column For x = 2 To x Hoja1.Cells(13, x) = Hoja1.Cells(12, x) / Hoja1.Cells(3, x) Next End Sub Sub ejemplo() lColumn = Hoja1.Cells(13, Columns.Count).End(xlToLeft).Column For x = 2 To x Hoja1.Cells(13, x) = Hoja1.Cells(12, x) / Hoja1.Cells(3, x) Next End Sub Es un ejemplo sencillo. lo que quisiera es que en la celda "B13" pusiera la fórmula "=B12/B3" Tengo una hoja Excel que trae muchísimos datos de otras hojas, incluidos los % y necesito que aparezca la fórmula para poder "tocar" algunos datos y ver cual sería el resultado. Si es posible y me podéis ayudar lo agradezco, subo un archivo que no tiene nada que ver pero es un ejemplo. Gracias. Cell to Range.xlsm
  11. @AntoniGracias, ahora sí que sale. Un abrazo.
  12. Ahora he probado a ver si el error viene por aquí: nMes = Val(mMes) + 2 Y ahora solo uso nMes cuyo valor si me pongo encima del código cuando salta el error pone "7" Y cambio el código de antes. .Sheets("RES_Origen").Range(Cells(61, nMes), Cells(84, nMes)).Copy Pero me salta el mismo error. Como ves aquí el valor es 7. Pero da error.
  13. Antoni, no he subido el archivo porque lo que pongo es que no se si he escrito bien el código. Es una combinación de Range y Cells. No se si me he dejado algo por poner, porque si evito poner Cells y hago referencia a la celda con Range... Range("G61:G84") me funciona bien, pero si combino Range con Cells me da error. Range(Cells(61, Val(mMes) + 2), Cells(84, Val(mMes) + 2)) Es lo mismo que poner Range(Cells(61, 7), Cells(84, 7)). La columna "G" es la columna número 7. Pregunto si el código lo he escrito bien o el error viene provocado por otra cosa que debería buscar. No se mi he explicado bien.
×
×
  • Create New...

Important Information

Privacy Policy