Saltar al contenido
View in the app

A better way to browse. Learn more.

Ayuda Excel

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Ejecutar Formula Linest Cuando se Cumple una Condición en Rango de Datos

publicado

Hola,

Tengo que analizar una serie de datos, ejecutando una formula mediante una macro.

La formula debe ejecutarse en el rango de celdas de la columna "c" y "d", adyacentes a la columna "b" que es donde se analiza la siguiente condición.

Es un conjunto de rango de filas de aproximandamente 40 filas (a veces 39, otras 38), de forma que tengo que ejecutar la formula para cada rango independientemente. Por lo tanto, busco una formula para automatizar la localización del comienzo y final de cada conjunto de filas. En este rango de filas el incremento del valor de las celdas no es mayor que 2. Por lo tanto, tengo la idea de buscar en la columna "b" la fila "inicial" y "final", tomando como condición para la fila "Final", que será la última celda de una valor menor que el valor de ("inicial" + 2). El siguiente rango comienza por lo tanto a partir de "Inicial = Final +1" del rango anterior.

He escrito una macro posible, pero no me trabaja correctamente.

Si me pudieran ayudar a corregir el error, estaría inmensamente agradecido.

Código:

Range("b6").Select

inicio = ActiveCell.Address

i = ActiveCell.Row

columna = ActiveCell.Column

valor = ActiveCell.Value

Cells(ActiveSheet.Rows.Count, ActiveCell.Column).Activate

ultimafila = Selection.End(xlUp).Row

Range(inicio).Activate

Do While i <= ultimafila

For i = i To ultimafila

Range("b" & i).Select

valor = ActiveCell.Value

If Cells(i, columna).Value > (valor + 2) Then

Final = ActiveCell.Row

Range(Cells(Final, 7), Cells(Final, 7 + 4)).Select

Selection.FormulaArray = _

"=LINEST(R[22]C[-1]:R[36]C[-1],R[22]C[-2]:R[36]C[-2]^{1,2,3},,TRUE)"

End If

i = Final + 1

Next

Loop

End Sub

Gracias de antemano.

Ejecutar Formula.xls

Featured Replies

No hay posts para mostrar

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.