Los foros del Guille

MKN Reservas (Maro - Kayak Nerja)


Kayak Maro - Rutas y alquiler de kayak y tabla

Si no encuentras respuesta, puedes buscar en el sitio del Guille

Google
 
Selecciona el foro y pulsa en mostrar:     Mostrar 
De tu inter�s (algunos de los avisos publicados)

01/feb./2019

Como te avisé, desde el 1 de febrero de 2019

No se podrán escribir nuevos mensajes ni editar los existentes

En breve solo se mostrarán los mensajes con respuestas.
Posiblemente para el 1 de marzo, solamente se mostrarán los que tengan respuestas y estén marcados como respuesta válida.

  Foro: Office.Programación Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 57200 - repetir macro en execl
IDAsuntoFechaNick 
57200 repetir macro en execl13/09/13 22:15mendezhugo   
buenas programadores del foro del guille, tengo una hoja de excel con una macro que me ayuda a acumular valores en una celda, sin embargo requiero repetir esta programacion de la macro para que afecte a casi 300 celdas según se vallan acumulado valores en alguna de ellas, es con la intención de manejar una especie de inventario, la programacion es la siguiente:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Range("B1").Value = Range("B1").Value + Range("A1").Value
End If
End Sub

Esto me permite acumular valores escritos en A1 acumularlos en B1, pero requiero repetir esta programación para que la macro afecte desde la Celda A1 y B1, hasta la celda A300 y B300.

qué lineas de programacion se requieren para logar esto?
no se rian de mi, pero les comento, opté por escribir la programacion de esta macro 300 veces, jajaja y al final el me manda un error que dice que el procedimiento es demasiado largo, jajaja.
Perdonen mi inexperiencia en programación. espero me apoyen, saludos...
IDAsuntoFechaNick 
57262 Re: repetir macro en execl (Resp: 57200)18/10/13 12:59Pipe[hgjfkdls]   
hugo,

pues claramente repetir cualquier código 300 veces no esta bien, te envio un codigo que espero resuelva lo que deseas...

Private Sub Worksheet_Change(ByVal Target As Range)
Dim desde As Range
Dim hasta As Range
Dim iD As Integer
Dim iT As Integer
Dim iR As Integer

Set desde = Range("A1:A300")
Set hasta = Range("B1:B300")

iD = desde.Cells(1, 1).Row

If (Union(desde, Target).Address = desde.Address) Then
iT = Target.Cells(1, 1).Row
iR = iT - iD + 1
hasta.Cells(iR, 1).Value = Val(hasta.Cells(iR, 1).Value) + Val(Target.Value)
End If

End Sub

cualquier duda lo comentas =).

Saludos,

[hgjfkdls]


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.

 
(c) Guillermo 'guille' Som, 2005-2024  - foros.elGuille v1.0.6.3 (01/Jun/2021 12:45 GMT +2)  - (ASP.NET v4.0.30319.42000)
 
La hora GMT del servidor es: 21/11/2024 09:34:19 GMT