Jump to content

Darkcanibal

Members
  • Content Count

    22
  • Joined

  • Last visited

About Darkcanibal

  • Rank
    Member

Converted

  • Campos Array
  1. Sub copiafolder() Dim FSO As Object Dim inicio As String Dim fin As String Dim valida As String Set FSO = CreateObject("scripting.filesystemobject") Range("A1").Select On Error Resume Next Do While ActiveCell.Value <> "" inicio = Range("B1") & "\" & ActiveCell & "\" & "*.*" fin = Range("B1") MsgBox inicio & " - " & fin ' estas seguro que existe esa ruta ??? presentala para ver si te vale valida = Dir(inicio) If valida = "" Then Else FSO.CopyFolder inicio, fin, 1 End If ActiveCell.Offset(1, 0).Select Loop End Sub agrege el *.*¨y el slash, la ruta parece estar bien pero no copia nada.
  2. ¡SI!, el ultimo de tus ejemplos es como lo estoy trabajando ahora, pero se me hace raro que en el caso donde en A1 tengo "car1" y en B1 "C:\Users\Microformas\Desktop\destino" Corrijo con esto ¿no? inicio = Range("B1") & "\" & ActiveCell Pero aun así no funciona. Y en el primer ejemplo es como me gustaria trabajar el macro, pero seria solo ajustarlo. Por ahora no logro que copie nada.
  3. ¡Hola! Estoy trabajando con un macro que copie toda una carpeta con subcarpetas y archivos a otra ubicación, el nombre de las carpetas estan en A1, la ruta donde las voy a mover en B1. Por ahora tengo esto pero no logro que funcione. Sub copiafolder() Dim FSO As Object Dim inicio As String Dim fin As String Dim valida As String Set FSO = CreateObject("scripting.filesystemobject") Range("A1").Select On Error Resume Next Do While ActiveCell.Value <> "" inicio = Range("B1") & ActiveCell fin = Range("B1") valida = Dir(inicio) If valida = "" Then Else FSO.CopyFolder inicio, fin End If ActiveCell.Offset(1, 0).Select Loop End Sub Como dato adicional, por ahora las carpetas están en mi escritorio, pero pienso cambiarla por una formula que completa la ruta donde se encuentran. Por ejemplo: En A1 estaria "X:\documentos\car1" En B1 esaria la ruta donde deben pegarse las carpetas "D:\contenedor" carpetas.xlsm
  4. Gracias, funciono bastante bien.
  5. ¡Hola! Anexo el código completo que termine, tuve bastantes limitaciones pero si puede servirle a alguien de referencia. Private Sub CBFI_Change() CBFI.Value = Format(CBFI.Value, "dd-mm-yyyy") End Sub Private Sub CBFI_DropButtonClick() Dim Rang As Range With Hoja2 Set Rang = .Range(.Range("A2"), .Range("A2").End(xlDown)) End With Hoja1.CBFI.ListFillRange = Rang.Address(, , , True) End Sub Private Sub CBFF_Change() CBFF.Value = Format(CBFF.Value, "dd-mm-yyyy") End Sub Private Sub CBFF_DropButtonClick() Dim Rang As Range With Hoja2 Set Rang = .Range(.Range("A2"), .Range("A2").End(xlDown)) End With Hoja1.CBFF.ListFillRange = Rang.Address(, , , True) End Sub Private Sub CommandButton1_Click() Dim rango, rango2, celda, celda2 As Range Dim encontrado As Boolean Dim comb1 As Range Dim comb2 As Range Dim CR1 As String Dim CR2 As String Dim fincel As Long Dim wb As Workbook: Set wb = ThisWorkbook Dim ws, ws1 As Worksheet Set ws = wb.Sheets("SIGNOS") Set ws1 = wb.Sheets("PLANTILLA") encontrado = False With ws Set rango = ws.Range("FECHAL") For Each celda In rango If CDate(CBFI) = CDate(celda) Then MsgBox "Registro encontrado en la fila: " & celda.Row CR1 = celda.Address End If Next celda End With With ws encontrado = False Set rango2 = ws.Range("FECHAL") For Each celda2 In rango2 If CDate(CBFF) = CDate(celda2) Then MsgBox "Registro encontrado en la fila: " & celda2.Row CR2 = celda2.Address End If Next celda2 MsgBox "Registro No encontrado" End With With ws ws.Range(CR1, CR2).Copy End With With ws1 ws1.Activate Range("C12").Select ActiveSheet.Paste End With With ws ws.Range(CR1, CR2).Offset(1, 0).Copy End With With ws1 ws1.Activate Range("D12").Select ActiveSheet.Paste Range("E12").FormulaLocal = "=SUMAR.SI(SIGNOS!C:C,PLANTILLA!D12,SIGNOS!B:B)+(SUMAR.SI(SIGNOS!E:E,PLANTILLA!D12,SIGNOS!D:D))+(SUMAR.SI(SIGNOS!K:K,PLANTILLA!D12,SIGNOS!J:J))+(SUMAR.SI(SIGNOS!M:M,PLANTILLA!D12,SIGNOS!L:L))+(SUMAR.SI(SIGNOS!O:O,PLANTILLA!D12,SIGNOS!N:N))" End With Range("E12").Select fincel = Range("C12").End(xlDown).Row Selection.AutoFill Range("E12:E" & fincel) End Sub
  6. ¡Hola! Tengo una fila con datos, algunas de las celdas están en blanco y otras tienen cifras. EJ: HOJA "Signos" A7 03-02-2019 B7 Celda en blanco C7 05-02-2019 D7 157 E7 01-02-2019 De toda la fila, necesito obtener la fecha más antigua, copiarla y pegarla en otra hoja "Plantilla" celda D12. Muchas gracias.
  7. ¡Hola! Estoy trabajando en un libro con bastantes fechas y sumas, así que recurrí a un macro para agilizar el llenado de una plantilla. Es algo complejo de explicar pero trataré: Subí un ejemplo con colores para ser mas especifico. Tengo una tabla que ocupo para vaciar datos, con una fecha legal (que me sirve de guía) y fechas de migración con el numero de documentos. Mediante dos combobox selecciono el rango de fechas a trabajar (Hoja "signos" columna A), necesito copiar ese rango de fechas a la hoja "Plantilla" celda C12 en adelante (en el ejemplo use del 22-02-19 al 26-02-19), luego, en D12, deberá buscar la fecha mas antigua del día legal, en el ejemplo corresponde al 28-02-19 y en la columna E12, sumar los totales de las columnas B,D,J,L Y N que correspondan a esa fecha de migración. En el documento que adjunte tengo 4 hojas, "PLANTILLA" (que es la que debe llenarse), "SIGNOS" (mi base de datos) e hice un ejemplo que puse en las hojas "EJEMPLO" (como deberia quedar la plantilla "Signos ejemplo" (la base de datos de donde se obtuvieron los datos del ejemplo), le puse colores para que sea más fácil de observar lo que se suma. De antemano muchas gracias SIGNOS.xlsm
  8. Funciono perfecto, al parecer era la forma en la que estaba el rango de fechas, funciono perfecto, podemos dar el tema por finalizado. Muchisimas gracias a ambos por su atención.
  9. Gracias, termine de armar el macro y termine también de asignar nombres a los textbox y a los combobox, lo probe y hace exactamente lo que necesitaba (hablando de posicionar los datos en la fila correcta), pero las fechas me las cambia si eligo en el Combobox "07-03-2019" lo escribe como "03-07-2019" ¿Saben donde esta el error que estoy cometiendo? Anexo el nuevo documento. SIGNOS.xlsm
  10. Gracias, aun no lo reviso pero parece que funcionara perfectamente, una duda el valor del combobox ¿Se puede utilizar como referencia de rango? Por ejemplo: ComboBox1.Value".range"
  11. Hola, gracias por responder. Subí un ejemplo, es un pequeña tabla con datos, la columna A "Fecha legal" es mi referencia. Doy clic en el botón formulario y ahí elijo la "Fecha legal" que quiero. Al llenar el formulario, este debería pegar los datos en esa misma fila de la fecha seleccionada. Solo necesito que al llenar el formulario, estos datos pasen a la fila correcta.
  12. ¡Hola! Estoy creando un macro que contiene un formulario para llenar las celdas consecuentes a la selección del combobox que es la fecha. Me he detenido en un punto, donde no se como hacer referencia a la celda seleccionada en el combobox (Fecha Legal). Con esa Fecha lo único que necesito es que al dar clic al botón capturar, vacié esos datos. El formulario ya esta prácticamente completo. Estuve buscando como hacer refencia a la celda que contiene la fecha seleccionada en el combobox pero nada. Muchas gracias. SIGNOS.xlsm
  13. Funciona perfecto, muchas gracias. Increible que hayas modificado el macro, un saludo.
  14. Sigue sin funcionar, las celdas en blanco que debe eliminar son las consecuentes al codigo hasta llegar el siguiente: C 1 Codigos 2 1234569 3 -----(celda el blanco) 4 1253657 5 4587962 6 7895112 Por ejemplo si quisiera borrar el código "1234569", el macro tendría que borrar la linea "C2 y C3" pero respetar todas las demas lineas en blanco.
×
×
  • Create New...

Important Information

Privacy Policy