Poner una macro, que se ejecute en Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Tengo esta macro perfecta :
Sub ContabilizarVentaDiaria()
Set h = Sheets("Hoja1")
mes = Format(Date, "mmmm")
dia = Day(Date)
Set b = h.Range("C4:C15").Find(mes, lookat:=xlWhole)
If Not b Is Nothing Then
f = b.Row
Set b = h.Range("D2:AH2").Find(dia, lookat:=xlWhole)
If Not b Is Nothing Then
c = b.Column
For i = 4 To f
For j = 4 To 34
If i = f And j = c Then
Exit For
End If
conta = conta + h.Cells(i, j)
Next
Next
ventatotal = h.[B4]
Cells(f, c) = ventatotal - conta
End If
End If
End Sub

Pero hago una pregunta, intento ponerlo en la hoja dentro de:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub

Respuesta
1

Uy si eso no se quita. Que maleducado eres.

Por respeto y por creación del autor de la macro, merece que dejes eso.

Eso se llaman los Créditos del autor.

1 respuesta más de otro experto

Respuesta
1

H o l a:

Primero, te pediría de favor que no le quites esto a las macros:

'Por. Dante Amor

Entiendo que están en la red y cualquiera puede tomar el código, porque es público, pero me gustaría que dejaras mis créditos.


Te anexo la macro para el evento calculate. Va en este evento ya que en la celda B4 tienes una fórmula, entonces cada vez que se actualice el valor de la celda B4 la macro actualizará el valor del día.

Private Sub Worksheet_Calculate()
'Por.Dante Amor
    Application.EnableEvents = False
    Set h = Sheets("Hoja1")
    mes = Format(Date, "mmmm")
    dia = Day(Date)
    Set b = h.Range("C4:C15").Find(mes, lookat:=xlWhole)
    If Not b Is Nothing Then
        f = b.Row
        Set b = h.Range("D2:AH2").Find(dia, lookat:=xlWhole)
        If Not b Is Nothing Then
            c = b.Column
            For i = 4 To f
                For j = 4 To 34
                    If i = f And j = c Then
                        Exit For
                    End If
                    conta = conta + h.Cells(i, j)
                Next
            Next
            ventatotal = h.[B4]
            Cells(f, c) = ventatotal - conta
        End If
    End If
    Application.EnableEvents = True
End Sub

'

S a l u d o s

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas