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
×
×
  • Create New...

Important Information

Privacy Policy