vba中怎么将变量的值变为字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vba中怎么将变量的值变为字符串相关的知识,希望对你有一定的参考价值。

参考技术A CStr(expression)
expression 为要转换的变量本回答被提问者采纳

使用函数获取变量的值(将变量从函数传递到子例程)[重复]

【中文标题】使用函数获取变量的值(将变量从函数传递到子例程)[重复]【英文标题】:Using a function to get the value of a variable (Passing a variable from a function to a subroutine) [duplicate] 【发布时间】:2018-12-24 16:32:31 【问题描述】:

我在 Windows 机器上的 Excel (Office 365) 中使用 VBA。 (我已经发现几乎所有主要的 VBA 函数都不能在 Mac 上运行)。

首先,我向所有说“这个问题已经被问过”的人道歉。也许是这样,但我刚刚在这里呆了一个多小时,找不到答案。

我发现了如何将变量的价值传递给函数,但我不能以其他方式从函数返回子例程。

有一些类似的问题,但答案中的代码远远超出了我的绝对初学者水平,我无法弄清楚。我已经尝试了很多东西,比如使用“Option Explicit”、“Dim”、“Public”和“Private”,但我就是无法让这段代码工作。

所以这里是代码。请问有人可以为我正确地重写它吗?

Sub GetTheValueOfXXX()

      getXXX
      MsgBox XXX
End Sub

Function getXXX()

      XXX = 999
End Function

感谢那些可怜我这个完全新手的人,并向那些认为这就像加1加1的人道歉。

【问题讨论】:

【参考方案1】:
Sub GetTheValueOfXXX()
    Dim x
    x = getXXX()
    Msgbox x
End Sub

Function getXXX()
    getXXX = 999   '<< return a value using the function's name...
End Function

数组:

Sub GetTheValueOfXXX()
    Dim x
    x = getXXX()
    Msgbox x(0)   '>> 999
    Msgbox x(1)   '>> 88
End Sub

Function getXXX()
    getXXX = Array(999, 88, 7) 
End Function

【讨论】:

谢谢蒂姆·威廉姆斯!我看到了差异。您的代码有效。但是,它并没有像我希望的那样完全解决问题。我认为我过于简化了这个问题。你看我正在尝试将 26 个变量的值传回(“AAA”“BBB”,“CCC”,....“ZZZ”)。根据您的代码,看来我必须编写 26 个函数才能做到这一点。有没有一种简单的方法可以在单个 Sub 或 Function 中加载 26 个变量,然后将它们全部传回以在主 sub 中使用? 在上面查看我的编辑

以上是关于vba中怎么将变量的值变为字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Access VBA 将具有默认值的未绑定文本框的值设置为空字符串

EXCEL VBA 里面如何动态获取字符串转换为变量名?

学习Python第四天

使用布尔变量在 VBA 中键入不匹配错误

如何将组合框的值转换为 vba 模块中的字符串?

VBA变量