Sou novo no VBA e quero saber se posso converter a seguinte declaração e atribuição em uma linha:
Dim clientToTest As String
clientToTest = clientsToTest(i)
ou
Dim clientString As Variant
clientString = Split(clientToTest)
vba
variable-declaration
Ian R. O'Brien
fonte
fonte
Você pode fazer isso com objetos, como a seguir.
Mas não com strings ou variantes.
fonte
:
. Existem algumas limitações, pois você não pode ter várias declarações de valor na mesma linha (ou sejavar1 = val1: var2 = val2
). Irá funcionar de maneira esperada e permitir que você faça esse tipo de tarefa algumas vezes, mas como um todo, não sugerido por esta notação.Dim x As New T
sintaxe, que funciona apenas com objetos.dim str as String: str = "value"
edim str as Worksheet: set str = ActiveWorkbook.worksheets("Sheet1")
ambos funcionam repetidamente. Embora, se eu fizer uma instanciação de objeto, ocorrerádim ws as New Worksheet: set ws = ActiveWorkbook.Worksheets("Sheet1")
um erro como qualquer outra operação inválida no VBA.New
palavra-chave não. É tudo o que estou dizendo.de fato, você pode, mas não dessa maneira.
E você pode definir as variáveis de maneira diferente ao chamar o sub, ou deixá-los com seus valores padrão.
fonte
Em alguns casos, toda a necessidade de declarar uma variável pode ser evitada usando a
With
instrução .Por exemplo,
isso pode ser reescrito como
fonte
Você pode definir e atribuir valor como mostrado abaixo em uma linha. Dei um exemplo de duas variáveis declaradas e atribuídas em uma única linha. se o tipo de dados de várias variáveis for o mesmo
fonte