Classe Parameter - um único parâmetro usado em uma consulta parâmetro (Excel VBA)
A classe Parameter representa um único parâmetro usado em uma consulta parâmetro. 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)
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
DataType
Retorna ou define um valor XlParameterDataType que representa o tipo de dados do parâmetro de consulta especificado. Aqui você pode encontrar os valores possíveis para
ActiveCell.QueryTable.Parameters(1).DataType = xlParamTypeBigInt
Name
Retorna ou define um valor String que representa o nome do objeto.
ActiveCell.QueryTable.Parameters(1).Name =
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.
Você só poderá definir essa propriedade como True se usar parâmetros do tipo xlRange e se o valor do parâmetro ao qual foi feita referência estiver em uma única célula. A atualização ocorre quando você altera o valor da célula.
ActiveCell.QueryTable.Parameters(1).RefreshOnChange = True
SetParam
Define um parâmetro para a tabela de consulta especificada.
Set qt = Sheets("sheet1").QueryTables(1)
qt.Sql = "SELECT * FROM authors WHERE (city=?)"
Set param1 = qt.Parameters.Add("City Parameter", _
xlParamTypeVarChar)
param1.SetParam xlConstant, "Oakland"
qt.Refresh
Arguments
O seguinte argumento é opcional
Type (XlParameterType) - Uma das constantes de XlParameterType, que especifica o tipo de parâmetro.
Os valores de retorno possíveis são xlConstant - Usa o valor especificado pelo argumento Value, xlPrompt - Exibe uma caixa de diálogo que solicita o valor ao usuário. O argumento Valor especifica o texto mostrado na caixa de diálogo, xlRange - Usa o valor da célula do canto superior esquerdo do intervalo. O argumento Value especifica um objeto Range .
Value (Variant) - O valor do parâmetro especificado, como mostrado na descrição do argumento Type.
SourceRange
Retorna um objeto Range que representa a célula que contém o valor do parâmetro de consulta especificado. Somente leitura.
Set qt = Sheets("sheet1").QueryTables(1)
Set param1 = qt.Parameters(1)
Set r = param1.SourceRange
r.Value = "New York"
qt.Refresh
Type
Retorna um valor XlParameterType que representa o tipo de parâmetro. Os valores de retorno possíveis são xlConstant - Usa o valor especificado pelo argumento Value, xlPrompt - Exibe uma caixa de diálogo que solicita o valor ao usuário. O argumento Valor especifica o texto mostrado na caixa de diálogo, xlRange - Usa o valor da célula do canto superior esquerdo do intervalo. O argumento Value especifica um objeto Range .
Dim xptType As XlParameterType
xptType = ActiveCell.QueryTable.Parameters(1).Type
Value
Retorna um valor que representa o valor do parâmetro.
Para obter mais informações, consulte o objeto Parameter.
Dim varValue As Variant
varValue = ActiveCell.QueryTable.Parameters(1).Value