Excelente toda la colección de este curso. Son muy adictivos, ves un video y te vas con el que sigue y el que sigue. Felicitaciones por este excelente trabajo.
@tonygonzalez33216 ай бұрын
Excelente vídeo de cómo optimizar algo que ya funciona.... me encanta este curso Sergio!!!! Sigue así.
@luismartinezhernandez5532 Жыл бұрын
Excelente, he podido notar que tomar en cuentas los comentarios, sugerencias de las personas para optimizar su trabajo. Sigamos aprendiendo, gracias.
@consuelorivera42563 жыл бұрын
Felicitaciones maestro, es usted un genio, saludos desde no Honduras
2 жыл бұрын
Vas respondiendo a las preguntas que me van surgiendo a lo largo de cada uno de tus video. Tienes una grandísima facilidad didáctica y haces muy fácil aprender conceptos que a priori son complejos. Muchas gracias de nuevo. Estoy "Devorando" este curso y poniendo en práctica en mi día a día profesional 🙂
@CASHConsultoriaAsesoriaServici5 ай бұрын
¡Gracias!
@cirilomarconisoliz70913 жыл бұрын
Muy bueno Sergio sigue adelante cuentas con capacidad de hacer compreder...los capirulos.....
@mauriciohenaorua12274 жыл бұрын
De corazón muchas gracias por este gran curso!!!,eres de los mejores profesores que he conocido :) te cuidas don sergio y un saludo desde colombia
@joja22085 жыл бұрын
¡Bravo!. No sólo por la optimización de la macro, sobre todo por ser capaz de hacernos fácil la comprensión de ella
@acentrenamientoscorporativ37092 жыл бұрын
Gracias por su excelente enseñanza. Cuando sea grande quiero ser como usted
@samuelfranciscogarcia14403 жыл бұрын
Me gustó mucho. Gracias 🗻🏟
@jamtnez20004 жыл бұрын
Realmente un explicación impecable. Me está sirviendo de gran ayuda. Saludos desde España.
@Fredick.75 жыл бұрын
Mis respeto, realmente es una extraordinaria aportación. Que DIOS te bendiga.
@chasconmtl3 жыл бұрын
Me vi todo el curso, muchas gracias, el mejor.
@TICALI-ot3jv2 жыл бұрын
Excelente clase Gracias por enseñarnos
@leonardocontento42085 жыл бұрын
Excelente maestro mil gracias por compartir sus conocimientos
@DiegoDiaz-kc6cs3 жыл бұрын
Excelente video. Muchas gracias
@bot67315 жыл бұрын
Que gran video,con esto se pulira más el trabajo que ya tenía echo. Gracias por el aporte.
@carlexrivas4 жыл бұрын
Muchas gracias por todo el conocimiento Profesor!, saludos desde Cajamarca, Peru.!
@Julio_827 ай бұрын
Una optimizacion mas puedes poner Activeworkbook.Sheets.Add(before:=Sheets(1)).Name="Concentrado".. Asi le colocas el nombre a tu hoja nueva desde el principio y ya no necesitas la ultima linea
@reynaldocarmona46853 жыл бұрын
EXCELENTE CURSO, APLIQUE LA FUNCION CURRENTREGION VISTA ENTERIORMENTE ME DI CUENTA QUE SELECCIONA TAMBIEN LOS ENCABEZADOS SALUDOS.
@maticunia19825 жыл бұрын
Siempre aprendiendo con tu gran voluntad gracias por eso
@victorramos20604 жыл бұрын
Excelente! Muchas gracias por la dedicación, ya tienes un suscriptor. Saludos.
@SergioAlejandroCampos4 жыл бұрын
Gracias!
@Antonio86885 жыл бұрын
Genial, Sergio. Gracias.
@byrongonzalez13675 жыл бұрын
Muy buen video, ahora me vinieron muchas ideas a cuales macros aplicar esto! Gracias!
@hectorsanchez92255 жыл бұрын
Excelente!!!, mucho mejor, sin palabras. Gracias...
@jorgerodriguezbueso27182 жыл бұрын
Muchas Graciassss!!!
@joseantoniosanchezlopez72155 жыл бұрын
Jejejeje ahora se ve que nos pasamos de frenada cuando en el anterior video dijimos que se podía omitir "Select", ya lo tenías preparado, eso y mas. Sergio, Gracias por tu tiempo Saludos desde España.
@carmenflores11134 жыл бұрын
Excelente explicación Sergio, gracias por compartir!
@sergiozazueta73955 жыл бұрын
Tocayo buenos días, excelente video una forma muy articulada para optimizar el código, solo como comentario cuando ejecutas la macro, aun cuando le digas que no deseas hacer el proceso, es decir le dices que no al msgbox la macro hace el proceso, y lo resolví cambio el tipo de variable "Dim MsgContinuar As Boolean" a Dim MsgContinuar As Byte Saludos...
@leopoldoblancas42245 жыл бұрын
Cierto, ya que lo que regresa MsgBox es un número, 6 para vbYes y 7 para vbNo. Saludos.
@leopoldoblancas42245 жыл бұрын
Lo podemos checar con un "MsgBox MsgContinuar"...
@juanchoo3692 жыл бұрын
Lo que usted dice no es cierto, ya que por eso mismo Sergio colocó el Si condicional. En caso de que sea VbNot entonces se ejecuta Exit Sub, lo cual genera que se finalice el procedimiento. Saludos.
@RicardoRodriguez-br5jq2 жыл бұрын
exccelente curso
@JinjinatoSMP5 жыл бұрын
Excelente vídeo Sergio. Muchas gracias.
@Franxi4 жыл бұрын
Que bien explicas amigo!
@Edgaraza5 жыл бұрын
EXCELENTE!!!! nuevamente gracias por compartir tus conocimientos....!
@danielmontoyarestrepo70423 жыл бұрын
Gracias gracias
@EDSAOL20075 жыл бұрын
Excelentes videos. Muchas gracias
@oscarsantos92515 жыл бұрын
genial Sergio eso necesitaba saberlo gracias por esta entrega sal2 y pulgar arriba..
@linoquintana66635 жыл бұрын
De nuevo muchas muchas gracias.
@conradohernanvillagil27645 жыл бұрын
Gracias Sergio. Excelente!
@alexanderarias73845 жыл бұрын
gracias maestro
@yosoy32182 жыл бұрын
Una duda y en caso que que cuando hace la selecicon del current region fueran una base de datos mas grande? se puede utiliza otro metodo que no se resize para que seleccione la ultima celda con datos?
@joseantoniocarpio62643 жыл бұрын
Sergio ¿Podrías validar que la variable MsgContinuar está correctamente definida como Boolean o debería ser definida como Byte? Si corro la macro y le doy a "No".... la corre de todas formas... Un saludo. PD: Veo en comentarios anteriores que esta pregunta ya fue respondida por el Sergio. Quedamos en Byte entonces. Excelente Curso!!!
@juanmanuelduranmendoza69433 жыл бұрын
Sergio, muchisimas gracias por compartir tus conocimientos de forma libre, estoy siguiendo tus capitulos uno a uno, en este capitulo me quedo una duda: ¿ Porque es necesario resetear los valores de rango y rango2?, porque al volver a iterar en la siguiente hoja va a asumir los valores de la siguiente hoja. Agradeceria mucho puedas absolver mi duda. Muchas gracias nuevamente...desde Perú
@rafaelvelasco27345 жыл бұрын
Excelente Sergio, nuevamente comento que la declaración de MsgContinuar debe ser Byte, pues con Boolean no responde a la condición, saludos
@SergioAlejandroCampos5 жыл бұрын
Tienes razón Rafael. Gracias por comentar.
@rafaelvelasco27345 жыл бұрын
@@SergioAlejandroCampos Gracias a ti, me dió un poco de pena hacer ese comentario a un Maestro como tú, estoy aprendiendo mucho, Gracias Sergio
@diegorivadeneira1834 Жыл бұрын
Hola Sergio. Muchas gracias por tu valioso aporte. He aplicado particularmente lo tratado en este módulo y te cuento que al elegir la opción de no en el msgbox que consulta si se desea continuar, la agrupación de las hojas se ejecuta de todos modos. Puedes por favor darle un vistazo al código?
@miguelulloa827511 ай бұрын
en el anterior video, mencionó que tendria que nombrar a la variable de msgbox como un numero, el yes corresponde al 6 y el 7 al no, a partir de ahi se podria hacer una instruccion if con esos valores para el código, espero no equivocarme
@acentrenamientoscorporativ37092 жыл бұрын
Hola Sergio eatoy aprendiendo mucho con usted. Una pregunta ta hay alguien a macro para insertar un video desde KZbin a una hoja de exce.??l.
@CASHConsultoriaAsesoriaServici5 ай бұрын
Es necesario colocar el else en la instruccion If , si no genera ninguna accion? El desplazamiento a la derecha o hacia abajo no generaría segmentación de la base de datos (copia incompleta de información, en el ejemplo del capítulo 28) si existen valores vacios en algunas celdas de filas o de celdas en la columnas?
@daysimir9150 Жыл бұрын
Excelente. Pero pudiera ayudarme pq necesito que ademas me pegue el nombre de la hoja a la que correponde cada fila. Saludos
@josueferrey70435 жыл бұрын
Hola Sergio Excelentes todos tus aportes, gran conocimiento y gran don para la enseñanza. tengo dudas en esto: cuando vas a hacer que la macro omita mas de una hoja solamente se vuelve a poner "and" y se repite la linea de codigo para tantas hojas quieres omitir?, y tambien quiero preguntar como hacer para que una macro tenga un criterio de selección en base a una columna y sus filas, que selecione las celdas con datos + 1 sin datos, y oculte el resto de filas de la tabla. mi tabla es de 6c x10f. no se si me explico bien, espero me ayudes¡¡
4 жыл бұрын
Podrías probar con Ctrl+SHIFT+AV PAG, eso también es agrupar.
@armandobrito50225 жыл бұрын
Muy buen ajuste del ejercicio hay que practicarlo, una duda como se puede hacer que la hoja "concentrado" si existe se elimine desde la macro??. Gracias por todos sus aportes.
3 жыл бұрын
Excelente video por lo que me interese en agrupar unas facturas que tengo pero están hechas con tablas por lo que al agrupar me trae su formato, donde puedo colocar la función "xlPasteValues" para que solo pegue en la hoja Concentradora sus valores...
4 жыл бұрын
Con la función ARRAY también funciona.
@salvadorsena7057 Жыл бұрын
Hola Segio, me gustaria saber donde está el error en esta linea de codigo. Set Rango_Origen = Sheets(i).Range (Cells(2, 1), Cells( UFila_Origen, Cuenta_Columnas)) las variables UFila_Origen y Cuenta_Columnas están declaradas como Integer y Rango_Origen como Range Pretendo seleccionar una región con unas variables pero, a la hora de copiar este rango para pegarlo en la otra hoja, me da error. Si me posiciono encima de la variable Set Rango_Origen, aparece en el cursor la etiqueta Rango_Origen = Nothing. Todo esto es simplemente por evitarme el Resize, cuestión de cabezoneria e intentar sacar el ejercicio de forma diferente. Practicar para aprender. Muchas gracias y adelante con el curso. Salvador
@xlsm38583 жыл бұрын
Estas cabron llevaste las variables a otro nivel muy buen video
@SergioAlejandroCampos3 жыл бұрын
Qué bueno que te gustó el video.
@ivelec1005 жыл бұрын
Hola Sergio, excelente aportación. Tal vez se podría incorporar un temporizador en las dos macros de tal manera que se pueda visualizar la optimización de los tiempos. Saludos
@juanchoo3692 жыл бұрын
Lo eficiente no necesariamente es sinónimo de menor tiempo. En ese sentido Sergio se refiere a más eficiente en términos de modo de ejecución del código.
@carjosh77 Жыл бұрын
Estimado excelente explicacion, quisiera consultarle, que hacemos si al agrupar diferentes hojas nos encontramos con hojas que se encuentran vacias, ya que alli la macro sale que hay que finalizar o depurar, porque estar omitiendo las hojas es medio complicado cuando tienes muchas hojar por omitir, agradezco de antemano su ayuda
@Julio_827 ай бұрын
Entonces debes una condicional con IF antes de ejecutar el codigo y puedes usar la funcion CountA de worksheetsfunction para determinar si la hoja tiene datos o esta vacia
@RICARDOHERNANDEZ-fp9wu4 жыл бұрын
Hola Sergio, creo que mi comentario del video de ayer no paso como quería, tengo duda, en la linea siguiente "iIf MsgContinuar =vbNo Then Exit Sub", yo entiendo que si le dices que no, ya no se ejecuta la macro, pero tanto en mi archivo como el tuyo si la ejecuta, porque? Gracias, saludos
@joseantoniocarpio62643 жыл бұрын
La variable está defnida como Boolean (V o F) debiendo estar definida como Byte (1,2,3...)
@BlackeSmith773 жыл бұрын
Uff Sergio reprobe mi curso de programar excel porque no me salian las funciones. Que me recomiendan?
@SergioAlejandroCampos3 жыл бұрын
Recomiendo que sigas todo el curso desde cero.
@mariajosellobregatp10044 жыл бұрын
Hola Sergio, Excelente material, estoy aprendiendo mucho. Pero no entendi porque colocas en el If Sheets (i).... etc un AND???? No seria un OR??? Con el And se deben cumplir las dos condiciones al mismo tiempo: lo cual no es posible, al mismo tiempo. Gracias, ojala me contestes
@jesusmiranda10004 жыл бұрын
Hola Mª Jose, fíjate que la condición es que sea diferente( es decir ) para que se realice el bucle. Si pones un OR, en cuanto pase por una hoja que no interesa(por ejemplo "HojaPrueba") la lógica del programa te dirá si es diferente de la hoja "EXCELeINFO" o es diferente de la hoja "HojaPrueba", verás que se cumple la primera condición(es decir diferente de la hoja "EXCELeINFO") y por tanto sigue el código interior del bucle.
@alpema802 жыл бұрын
Hola Sergio, tengo una duda. En vez del and se podría utilizar el or?
@Julio_827 ай бұрын
no funcionaria
@fersjannl5 жыл бұрын
Sergio buen día, se puede dejar en una sola linea las variable Dim Rango y Dim Rango2 sabiendo que son del mismo tipo? y como?, Gracias
@SergioAlejandroCampos5 жыл бұрын
Si usas Dim Rango, la variable por defecto queda como Variant. Sį quieres que queden en una línea usa; Dim rango as Ranger: Dim rango2 as Ranger Ó Dim Rango, Rango2
@fersjannl5 жыл бұрын
@@SergioAlejandroCampos Está última tiene que ser con Variant, cierto?
@SergioAlejandroCampos5 жыл бұрын
Sí, al no definirle un tipo, se consideran Variant por default.
@alexandergonzalojimenezcas39844 жыл бұрын
Como agrupar pero sin que se repitan loa valores de ciertas columnas
@dankoduran89253 жыл бұрын
Duda, cómo puedo usar ese código sin usar las ocultas? O mejor uso la del video anterior?
@jmdm8923 жыл бұрын
Lo primero darte las gracias por ti tiempo y tus buenos videos Me gustaria que me ayudases con mi problema: al momento de cerrar un formulario se me cierra el excel y vuelve a reiniciarse
@fernandonebreda30052 жыл бұрын
Hola Sergio, tengo problemas con esta macro. Igual que en la del capítulo anterior cuando digo que no deseo ejecutarla con el MsgBox no cumple End Sub y otra cosa, me pega los datos salvo los de la última columna, el encabezado sí, pero los datos que están por debajo del último encabezado no. Lo he repasado varias veces, contrastándolo con tu código, y soy incapaz de localizar el error. Un saludo,
@fernandonebreda30052 жыл бұрын
He encontrado el fallo de la columna que no copiaba. Lo he resuelto de esta manera: Rango.Offset(1, 0).Resize(CuentaF, CuentaC).Copy Sheets(1).Cells(CuentaF2 + 1, 1). No he restado 1 a CuentaF de Resize. De todas formas, se sigue ejecutando la macro aunque al preguntarme le diga que no. Me pasaba en el capítulo 27 y también en el 28.
@daniel.go335 жыл бұрын
Excelente, Tengo hartos archivos, en cada archivo hay una hoja. Las hojas tienen el mismo encabezado. Y quiero tener un archivo con todos los datos, como se puede hacer? Gracias
@waldanituzaingo3 жыл бұрын
Hola Sergio, quiero que las hojas a copiar las seleccione a partir del nombre parcial de "Sucursal". No consigo hacerlo. Quise usar caracteres comodin o el comando xlpart, pero no lo se hacer, podrias ayudarme?
@waldanituzaingo3 жыл бұрын
Ya lo consegui con la funcion Mid. La linea quedo asi: If Mid(Sheets(i).Name, 1, 8) = "Sucursal" Then
@waldanituzaingo3 жыл бұрын
esto selecciona todas las hojas cuyos nombres empiecen con "Sucursal" y obvia todas las demás
@JefeArgentinaC2 жыл бұрын
Es muy complicado saber de antemano cuantas y cuales variables utilizar. Me parece que debemos iniciar el procedimiento y en base ala necesidad ir definiendo variables. Creo suponer que vos las sabes de antemano por haber preparado previamente la macro. Es así?
@SergioAlejandroCampos2 жыл бұрын
Claro! El ejercicio ya estaba probado.
@marcoscastaneda45503 жыл бұрын
Porque poner Nothing a rango y rango2 ? el ciclo no termina por si sola hasta que recorra las demas hojas ?
@yarithdelrosariogonzalesfa1187 Жыл бұрын
Es exactamente lo que yo pienso, probé sin liberar esas dos variables y dan los mismos resultados. A mi parecer, quizás es para mayor seguridad pero no sé.
@lorenzomolina47714 жыл бұрын
Sergio, junto con saludarte y agradecerte compartir tu conocimiento (me ha servido mucho en lo laboral). Quisiera hacerte una pregunta: Por qué debemos reiniciar Rangos? No me convencía, así que lo probé y resulta que me funciona igual sin tener que reiniciar. Saludos desde Chile y gracias de nuevo
@luisgalindo71114 жыл бұрын
Lorenzo: igualmente me funciono sin tener que reiniciar. Saludos y gracias al Maestro por su gran aporte.
@ellukayou4 жыл бұрын
Y si la hoja concentrado ya existía?
@jeanvaljean6468 Жыл бұрын
👍👍👌👌🦾🦾🤗🤗✔✔👀👀😎😎🍺🍺🍺🍺🍺🍺
@PAQUERO623 жыл бұрын
Option Explicit Public Cuenta As Integer Public I As Integer Public MsgContinuar As Boolean Public Rango As Range Public Rango2 As Range Public CuentaF As Integer Public CuentaF2 As Integer Public CuentaC As Integer Sub Ventas_2018() MsgContinuar = MsgBox("Se Agruparán Todos Los Meses" + _ vbNewLine + vbNewLine + "Desea Continuar?", vbYesNo + vbQuestion, "Alfonso Marín") If MsgContinuar = vbNo Then Exit Sub ActiveWorkbook.Sheets.Add Before:=Sheets(1) Sheets(3).Range("A9:L9").Copy Sheets(1).Range("A9") Sheets(1).Range("A10").Select Cuenta = Sheets.Count For I = 3 To Cuenta If Sheets(I).Name "TDENE" And Sheets(I).Name "TDFEB" And Sheets(I).Name "TDMAR" And _ Sheets(I).Name "TDABR" And Sheets(I).Name "TDMAY" And Sheets(I).Name "TDJUN" And _ Sheets(I).Name "TDJUL" And Sheets(I).Name "TDAGO" And Sheets(I).Name "TDSEP" And _ Sheets(I).Name "TDOCT" And Sheets(I).Name "TDNOV" And Sheets(I).Name "TDDIC" And _ Sheets(I).Name "TOTAL" And Sheets(I).Name Then Set Rango = Sheets(I).Range("A10").CurrentRegion CuentaF = Rango.Rows.Count CuentaC = Rango.Columns.Count Rango.Offset(1, 0).Resize(CuentaF - 1, CuentaC).Copy Sheets(1).Cells(CuentaF2 + 1, 1) Set Rango = Nothing Set Rango2 = Nothing Else End If Next I Application.CutCopyMode = False Cells.EntireColumn.AutoFit End Sub Hola Sergio, te comento desde la provincia de Alicante (España). Quiero unir todos los mese del año excluyendo las tabas dinámicas de cada mes, a la hora de ejecutar la macro me dice "ERROR 12 EN TIEMPO DE EJECUCION. NO COINCIDEN LOS TIPOS.", me estoy volviendo LOCO y no consigo el porqué. Me podrías ayudar...o bien alguno de los compañero de éste Foro. Muchas gracias de antemano.
@salvadormodesto34854 жыл бұрын
Me pueden apoyar estoy en la sección de la macro siguiente: Cuenta = Sheets.Count For i = 15 To Cuenta If Sheets(i).Name "EXCELeINFO" And Sheets(i).Name "HojaPrueba" Then Set Rango = Sheets(i).Range("A1").CurrentRegion CuentaF = Rango.Rows.Count CuentaC = Rango.Columns.Count Set Rango2 = Sheets(1).Range("A1").CurrentRegion CuentaF2 = Rango2.Rows.Count Rango.Offset(1, 0).Resize(CuentaF - 1, CuentaC).Copy Sheets(1).Cells(CuentaF2 + 1, 1) Set Rango = Nothing Set Rango2 = Nothing Else 'Nada Pero me sale: "Se ha rpoducido el error (6): desbordameinto" Estoy tratando de consolidar filas de 31 hojas (una diaria) con aprox. de 1600 filas cada una. Espero me puedan ayudar PD Soy principiante en tus cursos
@salvadormodesto34854 жыл бұрын
Yupii!!!! :) consegui corregir el error cambiando acá "Integer" por "Long" Sub AgruparHojas() Dim Cuenta As Long Dim i As Long Dim MsgContinuar As Boolean Dim Rango As Range Dim Rango2 As Range Dim CuentaF As Long Dim CuentaF2 As Long Dim CuentaC As Long