Classe Parameter (Excel VBA)

A classe Parameter representa um único parâmetro usado em uma consulta parâmetro.

Os principais procedimentos da classe Parameter são Parameters.Add e Parameters.Delete

Set

Para usar uma variável de classe Parameter, ela primeiro precisa ser instanciada por exemplo

Dim prm as Parameter
Set prm = ActiveCell.QueryTable.Parameters(Index:=1)

Os procedimentos a seguir podem ser usados ​​para definir variáveis ​​do tipo Parameter: Parameters.Item, Parameters.Add e QueryTable.Parameters

For Each

Aqui está um exemplo de processamento dos itens Parameter em uma coleção.

Dim prm As Parameter
For Each prm In ActiveCell.QueryTable.Parameters
	
Next prm

Métodos

Estes são os principais métodos da classe Parameter

Parameters.Add - Cria um novo parâmetro de consulta.

Dim strName As String: strName = 
Dim prm As Parameter
Set prm = ActiveCell.QueryTable.Parameters.Add(Name:=strName)

Parameters.Delete - Exclui o objeto.

ActiveCell.QueryTable.Parameters.Delete

Estes são os principais métodos da classe

SetParam - Define um parâmetro para a tabela de consulta especificada.

Parameters.Item - Retorna um único objeto de uma coleção.

Propriedades

DataType Retorna ou define um valor XlParameterDataType que representa o tipo de dados do parâmetro de consulta especificado.

ActiveCell.QueryTable.Parameters(1).DataType = xlParamTypeBigInt

Name Retorna ou define um valor String que representa o nome do objeto.

ActiveCell.QueryTable.Parameters(1).Name =

Parent Retorna o objeto pai do objeto especificado. Somente leitura.

Dim objParent As Object
Set objParent = ActiveCell.QueryTable.Parameters(1).Parent

PromptString Retorna a frase solicitando ao usuário um valor de parâmetro em uma consulta parametrizada. String somente leitura.

Dim strPromptString As String
strPromptString = ActiveCell.QueryTable.Parameters(1).PromptString

RefreshOnChange True se a tabela de consulta especificada for atualizada sempre que você alterar o valor de parâmetro de uma consulta parametrizada. Boolean de leitura/gravação.

ActiveCell.QueryTable.Parameters(1).RefreshOnChange = True

SourceRange Retorna um objeto Range que representa a célula que contém o valor do parâmetro de consulta especificado. Somente leitura.

Dim rngSourceRange As Range
Set rngSourceRange = ActiveCell.QueryTable.Parameters(1).SourceRange

Type Retorna um valor XlParameterType que representa o tipo de parâmetro.

Dim xptType As XlParameterType
xptType = ActiveCell.QueryTable.Parameters(1).Type

Value Retorna um valor que representa o valor do parâmetro.

Dim varValue As Variant
varValue = ActiveCell.QueryTable.Parameters(1).Value

Parameters.Count Retorna um valor Long que representa o número de objetos na coleção.

Dim lngCount As Long
lngCount = ActiveCell.QueryTable.Parameters.Count

Parameters.Parent Retorna o objeto pai do objeto especificado. Somente leitura.

Dim objParent As Object
Set objParent = ActiveCell.QueryTable.Parameters.Parent