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

120
Views
Intentar buscar una columna con una determinada ocurrencia y luego configurarla como una variable a la que pueden acceder todos los Subs

Este es el código que tengo hasta ahora. Obtengo un error de objeto requerido en la primera línea. No estoy seguro de cómo hacer esto/qué hice mal. Básicamente, quiero revisar todas las columnas de una hoja y todas las filas hasta la primera aparición del valor. Luego, quiero establecer la columna en la que aparece este valor como una variable accesible para todas las subfunciones.

 Property Get col() As Long Count = 1 Do Set col = wsSrc.Columns(Count).Find(What:="Value", LookIn:=xlValues, _ LookAt:=xlPart, MatchCase:=False) Count = Count +1 Loop Until Not col Is Nothing End Property

Además, tengo otro emisor en el que quiero que la hoja de trabajo seleccionada actualmente y en la que estoy trabajando sea la fuente de datos para mi función. Actualmente esto es lo que tengo que definir el valor.

 Property Get wsSrc() As Worksheet Set wsSrc = Workbooks("SourceBook").Worksheets("SourceSheet") End Property

Sin embargo, quiero cambiarlo para que wsSrc sea solo el libro de trabajo en el que estoy trabajando. Traté de hacer que el siguiente código ejecutara esto, sin embargo, recibo un error de subíndice fuera de rango.

 Property Get wsSrc() As Worksheet Set wsSrc = ThisWorkbook.Worksheets("MBI DSCR") End Property
about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

No estoy seguro exactamente de lo que está tratando de lograr con la variable col. Pero si solo desea devolver el índice de la columna y no el valor de la columna, use .column al final. Y el wsSrc funciona bien sin problemas para mí.

 Sub test() wsSrc.Range("A1") = col End Sub Property Get wsSrc() As Worksheet Set wsSrc = ActiveWorkbook.Worksheets("sheet1") End Property Property Get col() As Long col = wsSrc.Columns.Find(What:="Value", LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False).Column End Property
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!