Autocompletar inteligente hacia abajo y hacia la derecha

Contenido

Hasta ahora, a veces con una sonrisa recuerdo una de mis primeras capacitaciones corporativas de campo hace 10 años.

Imagine: the open space office of the representative office of an international FMCG company, huge as a football field. Chic design, expensive office equipment, dress code, expats cooing in the corners – that’s all 🙂 In one of the meeting rooms, I start a two-day advanced training on the then current version of Excel 2003 for 15 key employees of the economic department, along with their leader. We get acquainted, I ask them about business tasks, problems, I ask them to show several typical work files. They show the kilometer length of unloading from SAP, the sheets of reports that they make on this, etc. Well, it’s a familiar thing – I mentally figure out topics and timing, adjust to the audience. Out of the corner of my eye, I notice how one of the participants, demonstrating a piece of his report, patiently pulls the cell with the formula down by the black cross in the lower right corner for several thousand lines, then skips the end of the table on the fly, pulls it back, etc. Unable to stand it, I interrupt him curling the mouse around the screen and show a double-click on the black cross, explaining about auto-completion down to the stop. 

De repente me doy cuenta de que el público está sospechosamente callado y todos me miran raro. Imperceptiblemente miro a mi alrededor siempre que puedo: todo está bien, mis brazos y piernas están en su lugar, mi bragueta está abotonada. Rebobiné mentalmente mis últimas palabras en busca de alguna cláusula terrible; no hubo nada criminal, al parecer. Después de eso, el jefe del grupo se levanta en silencio, me da la mano y dice con cara de piedra: “Gracias, Nikolai. Esta formación se puede completar.

Bueno, en resumen, resultó que ninguno de ellos tenía idea de hacer doble clic en una cruz negra y autocompletar. De alguna manera sucedió históricamente que no había nadie que les mostrara algo tan simple pero necesario. Todo el departamento sacó fórmulas manualmente para miles de líneas, pobres tipos. Y aquí estoy yo. escena del aceite. El jefe del departamento pidió entonces mucho no revelar el nombre de su empresa a nadie 🙂

Varias veces más tarde hubo situaciones similares, pero solo con oyentes individuales; la mayoría ahora, por supuesto, conoce esta función. 

Autocompletar inteligente hacia abajo y hacia la derechaLa pregunta es diferente. Después de la primera alegría de dominar una función tan maravillosa, la mayoría de los usuarios llegan a comprender que la copia automática de fórmulas haciendo doble clic en la cruz negra (marcador de autocompletar) tiene todos los aspectos positivos y negativos:

  • La copia no siempre ocurre al final de la tabla.. Si la tabla no es monolítica, es decir, hay celdas vacías en columnas adyacentes, entonces no es un hecho que la función de autocompletar funcione hasta el final de la tabla. Lo más probable es que el proceso se detenga en la celda vacía más cercana antes de llegar al final. Si hay celdas ocupadas por algo debajo de la columna, la función de autocompletar se detendrá exactamente en ellas.
  • Al copiar el diseño de la celda se echa a perder, porque por defecto no solo se copia la fórmula, sino también el formato. Para corregir, haga clic en el botón de opciones de copia y seleccione solo valores (Rellenar sin formato).
  • No hay una forma rápida de estirar convenientemente la fórmula no abajo sino a la derechaexcepto para tirar con la mano. Hacer doble clic en la cruz negra está justo abajo.

Intentemos solucionar estas deficiencias con una macro simple.

Presiona el atajo de teclado hacia la izquierda Alt + F11 o botón Visual Basic de la pestaña. revelador (Desarrollador). Insertar nuevo módulo vacío a través del menú Insertar – Módulo y copiar el texto de estas macros allí:

Sub SmartFillDown() Dim rng As Range, n As Long Set rng = ActiveCell.Offset(0, -1).CurrentRegion If rng.Cells.Count > 1 Entonces n = rng.Cells(1).Row + rng.Rows. Recuento - ActiveCell.Row ActiveCell.AutoFill Destination:=ActiveCell.Resize(n, 1), Type:=xlFillValues ​​End If End Sub SmartFillRight() Dim rng As Range, n As Long Set rng = ActiveCell.Offset(-1, 0).CurrentRegion Si rng.Cells.Count > 1 Entonces n = rng.Cells(1).Column + rng.Columns.Count - ActiveCell.Column ActiveCell.AutoFill Destination:=ActiveCell.Resize(1, n), Type: =xlFillValues ​​End If End Sub  

Tales macros:

  • puede llenar no solo hacia abajo (SmartFillDown), sino también hacia la derecha (SmartFillRight)
  • no estropee el formato de las celdas de abajo o a la derecha; solo se copia la fórmula (valor)
  • las celdas adyacentes vacías se ignoran y la copia se realiza exactamente hasta el final de la tabla, y no hasta el espacio más cercano en los datos o la primera celda ocupada.

Para mayor comodidad, puede asignar atajos de teclado a estas macros mediante el botón Macros – Opciones (Macros — Opciones) ahí mismo en la ficha. revelador (Desarrollador). Ahora será suficiente ingresar la fórmula o valor deseado en la primera celda de la columna y presionar la combinación de teclas especificada para que la macro llene automáticamente toda la columna (o fila):

Belleza.

PS Parte del problema de copiar fórmulas al final de la tabla se resolvió en Excel 2007 con la llegada de las "tablas inteligentes". Es cierto que no siempre ni en todas partes son apropiados. Y a la derecha, Excel nunca aprendió a copiar por sí solo.

  • Qué son las macros, cómo usarlas, dónde obtener el código de Visual Basic y dónde pegarlo.
  • Tablas inteligentes en Excel 2007-2013
  • Copiar fórmulas sin cambio de enlace

Deje un comentario