Cambiar valores de celdas con Macro

5 envíos / 0 nuevos
Último envío
tato25
Imagen de tato25
Offline
última acción: Hace 5 años 3 meses
alta: 16/11/2018 - 20:07
Puntos: 100
Cambiar valores de celdas con Macro

Buenas tardes necesitaria hacer una macro que me cambie el valor de las celdas segun dos criterios y no lo logro hacer esto es lo que realice

'Declaraciones de vaiable

 

Dim Final As Long

Dim grupo As String

Dim marca As String

Dim sucursal As Long

Dim iniciofila As Long

'Me posiciono en la fila ultima

Final = Sheets("Hoja1").Range("A" & Rows.Count).End(xlUp).Row

'Recorro los registros

  For iniciofila = 2 To Final

   'Aca obtengo los valores de las celda

   

   sucursal = Sheets("hoja1").Cells(iniciofila, 2)

   marca = Sheets("hoja1").Cells(iniciofila, 3)

   grupo = Sheets("hoja1").Cells(iniciofila, 1)

    ' Aca comparo los valoes de las variables

   If sucursal = 17 And marca = adidas Then

     ' Aca quiero cambiar el valor de la celda si se cumple la concion

     'pero no lo realiza al pa

     Sheets("hoja1").Cells(d, 1).Value = " btter"

     

     

   

   End If

   

  Next iniciofila

  

  

End Sub

 

 

 

GRUPOSUCURSALMARCA

sur17ADIDAS

sur12ADIDAS

sur17ADIDAS

lo que necesitaria cambiar es el las celdas de la columna grupo y no me realiza los pasos de las sentecias if
 
Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 1 día
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Tienes que tener en cuenta el

Tienes que tener en cuenta el tipo de dato que hay en la celda. Si quieres comparar con texto, debes ponerlo entre comillas. También es importante que las mayúsculas estén igual. Prueba esto:

If (sucursal = 17) And (marca = "ADIDAS") Then

Los paréntesis los pongo porque VBA evalúa primero el operador AND y posteriormente los operadores =

Así me aseguro de que primero realice las comparaciones y luego el operador AND.

 

Un saludo

tato25
Imagen de tato25
Offline
última acción: Hace 5 años 3 meses
alta: 16/11/2018 - 20:07
Puntos: 100
Error en tiempo de ejecucion 10004

Sub cambiargrupo()

'Declaraciones de vaiable

 

Dim Final As Long

Dim grupo As String

Dim marca As String

Dim sucursal As Long

Dim iniciofila As Long

'Me posiciono en la fila ultima

Final = Sheets("Hoja1").Range("A" & Rows.Count).End(xlUp).Row

'Recorro los registros

  For iniciofila = 2 To Final

   'Aca obtengo los valores de las celda

   

   sucursal = Sheets("hoja1").Cells(iniciofila, 2)

   marca = Sheets("hoja1").Cells(iniciofila, 3)

   grupo = Sheets("hoja1").Cells(iniciofila, 1)

    ' Aca comparo los valoes de las variables

   If (sucursal = 17) And (marca = "ADIDAS") Then

     ' Aca quiero cambiar el valor de la celda si se cumple la concion

     'pero no lo realiza al pa

  'Aca cuando quiero darle el valor a la celda me pone error en tiempo de ejecucion 1004       

Sheets("hoja1").Cells(A, 1).Value = " btter" 

     

     

   

   End If

   

  Next iniciofila

  

  

End Sub

 lo que me brindaste anduvo barvaro, aora me tira error en tiempo de ejecucion 1004en la parte que quieero darle el valor a la celda despues de las sentencia if que me enseñaste. 

Te agradezco mucho por la informacion, sos un maestro

 

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 1 día
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Cuando haces referencia a una

Cuando haces referencia a una celda, normalmente suele hacerse de dos maneras: con Range o con Cells.

Cuando lo haces con Range, se hace poniendo entre comillas la dirección de la celda en notación A1, por ejemplo así:

Range("J5").value = "valor dentro de la celda J5"

Cuando lo haces con Cells, tiene dos parámetros separados por coma. El primero es un número que indica la fila. El segundo es un número que indica la columna. Para la misma celda de antes, el ejemplo sería:

Cells(5, 10).value = "valor dentro de la celda J5"


Espero que esto te lo solucione.


Un saludo

tato25
Imagen de tato25
Offline
última acción: Hace 5 años 3 meses
alta: 16/11/2018 - 20:07
Puntos: 100
Muchisimas gracias por tu

Muchisimas gracias por tu solaridad y eseñanza, sos un maestro!!!!!