Jump to content

sintaxis de código fuente


Go to solution Solved by DiegoPC,

Recommended Posts

Buenas tardes estimados (as):

Tengo una duda, por favor si pueden aclararme lo siguiente. dentro de la sintaxis que se maneja eh visto que en algunos casos se utiliza por ejemplo:

Set Dato = .Cells.Find(What:=nombre, lookat:=xlWhole)

y en otros casos se utiliza

set dato =.cells.find(nombre, xlwhole)

¿Existe alguna razón para ello?, eh notado que en algunas versiones de excel ya sea 32 bits o 64 bits no ejecuta el código,  entonces ¿Hay alguna regla para codificar de una u otra manera?, si pueden ayudarme con esta duda. 

Gracias de antemano
 

 

Link to comment
Share on other sites

El nombre de los parámetros de cualquier método de un objeto es opcional y puede ser sustituido por comas, en el ejemplo que pones la sintaxis de set dato =.cells.find(nombre, xlwhole) es incorrecta, ya que xlwhole correspondería al segundo parámetro y no al cuarto que es el correcto, así pues la forma correcta sería:

set dato =.cells.find(nombre, , , xlwhole).

Y por último, este método, como todos, si se codifica correctamente, funciona en cualquier versión de Excel, sea de 32 bits o 64 bits

La sintaxis del método Find es:

   .Find (WhatAfterLookInLookAtSearchOrderSearchDirectionMatchCaseMatchByteSearchFormat)

Edited by Antoni
Link to comment
Share on other sites

Hace 13 horas, Antoni dijo:

El nombre de los parámetros de cualquier método de un objeto es opcional y puede ser sustituido por comas, en el ejemplo que pones la sintaxis de set dato =.cells.find(nombre, xlwhole) es incorrecta, ya que xlwhole correspondería al segundo parámetro y no al cuarto que es el correcto, así pues la forma correcta sería:

set dato =.cells.find(nombre, , , xlwhole).

Y por último, este método, como todos, si se codifica correctamente, funciona en cualquier versión de Excel, sea de 32 bits o 64 bits

La sintaxis del método Find es:

   .Find (WhatAfterLookInLookAtSearchOrderSearchDirectionMatchCaseMatchByteSearchFormat)

Gracias por la correción.

¿Qué sucede entonces en esta parte de código?

Set Cache_Tabla = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=Rango_Tabla.Address)

E intentado codificarlo sin utilizar los nombres de parámetros y me devuelve un error, pero colocando los nombres de parámetros  y luego el parámetro, no tengo inconvenientes. 

Link to comment
Share on other sites

  • Solution

Saludos @chiquitinx y @Antoni

Como bien lo indicó Antoni, se puede pasar directamente los valores en los argumentos de la función o método; o sino indicar el nombre del argumento seguido de dos puntos e igual y luego el valor que tomará dicho argumento. A esto se le llama pasar argumentos con nombre o named arguments en inglés. Adjunto un artículo de Microsoft al respecto.

 

https://docs.microsoft.com/en-us/office/vba/language/concepts/getting-started/understanding-named-arguments-and-optional-arguments

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 30.00 EUR
      Objetivo: 130.00 EUR
  • Files

  • Download Statistics

    • Files
      143
    • Comments
      87
    • Reviews
      25

    Latest File
    By pegones1

    4    0

  • Crear macros Excel

  • Posts

    • Hola a todos, Intento extraer en una sola función, una fecha que esta dentro de una cadena de texto y esta función extraiga únicamente la fecha. Adjunto un archivo como ejemplo, seria hacer en una sola celda los 4 pasos del archivo  Gracias de antemano Libro1.xlsx
    • Buenas noches. Quería preguntar si es posible incluir un buscador dentro de un dashboard teniendo en cuenta que solo quiero incluir algunos parámetros (nombre, DNI, Categoría y otro más, hasta un total de 4) de todos los que tiene la tabla dinámica situada en otra hoja. ¿Tengo que exportar todos los datos al propio dashboard? Mi idea es que todo los datos se mantengan en la una hoja y que en el dashboard (otra hoja) tan solo aparezcan los que cumplan con los requisitos que se incluyen en el propio buscador.......Es la primera pregunta que lanzo y quiero pedir disculpas porque he visto que hay que adjuntar archivo, pero tiene datos personales y por la protección de datos es imposible. Agradecería que me informaran si es posible hacer lo que pido y alguna referencia para poder estudiarla porque entiendo que será trabajoso pero me gusta aprender. Muchas gracias.
    • Ante todo dar las gracias por la acogida.  Soy Jose Mari y la verdad que llego a estos lugares con ganas de aprender mucho y sobre todo a resolver aquellas dudas que me vayan surgiendo. Tengo 47 años y soy profesor.  Saludos. 
    • Muchas gracias por toda tu ayuda JSDJSD, como le comenté a Israel hoy he solucionado el problema, pero seguiré investigando. Saludos cordiales!!!
    • Muchas gracias Israel por tus comentarios, todavía el proyecto no está en producción, así es que solo lo he probado yo y  tengo habilitadas las macros, hoy en la mañana agregué el siguiente código al formulario y solucioné el problema, de todas maneras voy a investigar porque me estaba ocurriendo porque al parecer no estaba cerrando Excel y solo cerraba el formulario y por esa razón no me resultaba, nuevamente te agradezco tu ayuda. Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) ThisWorkbook.Save ThisWorkbook.Close  End Sub Saludos cordiales!!!!!!!!!!!!!!!!  
  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Privacy Policy