Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

287
Views
¿Cómo cambiar el valor de una celda con Excel vba usando una dirección de celda que está dentro de una celda en otra hoja de trabajo?

Tenemos dos hojas de trabajo:

  1. Referencia
  2. Operador

Suponga que la celda d2 en la hoja de Referencia contiene el valor $a$25 .

¿Cómo cambiar el valor de la celda $a$25 en la hoja de Operador usando Excel VBA (haciendo referencia a la dirección de d2 en la hoja de Referencia)?

Lo que he probado:

  1. Capturando la referencia en d2 con una variable:
 Dim NewRNG as Range NewRNG = Range(Range("d2").value).value

No hay suerte aquí.

  1. Encontrar la celda de referencia en Operador y usar la dirección de la celda encontrada
 Sub Find_Cell() Dim RNG As Range Dim NewRNG as Range With Sheets("Operator").Range("A:A") Set RNG = .Find(What:=Sheets("Reference").Range("d2"), _ After:=.Cells(.Cells.Count), _ LookIn:=xlValues, _ LookAt:=xlWhole, _ SearchOrder:=xlByRows, _ SearchDirection:=xlNext, _ MatchCase:=False) End With NewRNG = RNG.Address NewRNG.select End Sub

**en este caso, no puedo establecer rng.address en una variable

about 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Como esto:

 Dim addr As String addr = Sheets("Reference").Range("D2").Value 'get the cell address Sheets("Operator").Range(addr).Value = "Test" 'pass the address to Range()
about 4 years ago · Santiago Trujillo Report

0

¡Para definir la variable NewRNG tienes que usar "Set"!

 Option Explicit Sub setRange() Dim NewRNG As Range Set NewRNG = Range(Range("B2").Value) Range("B5").Value = NewRNG.Address Range("B6").Value = NewRNG.Value Sheets("Operator").Range(Range("B2").Value) = "Test" End Sub Sub setRange2() ' variant including a check and error handling Dim NewRNG As Range On Error Resume Next Set NewRNG = Range(Range("B2").Value) If Err() Then MsgBox ("You need to set a Range definition (eg ""B3"") in field B2!") Exit Sub End If On Error GoTo 0 Range("B5").Value = NewRNG.Address Range("B6").Value = NewRNG.Value Sheets("Operator").Range(Range("B2").Value) = "Test" End Sub
about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!