这非常复杂,但我会尽可能清楚地解释它.如果没有意义,请告诉我.
我有两个工作簿 - 输入和输出.由于系统的工作方式,它们必须是分开的,即"提名者"将所有输入都输入到简单的输入工作簿中,输出工作簿将其格式化为可供使用.为了使其工作,输出工作簿必须引用输入工作簿来检索值.
我一直在测试这两个工作簿是开放的.
为此,我使用了嵌套INDIRECT函数; 第一个创建文件路径,调用命名范围,第二个告诉Excel解释该文件路径并检索该值.
我首先使用INDIRECT构建文件路径:
=INDIRECT("input_sheet_location")&"Wk 25 2012'!$B$11"
Run Code Online (Sandbox Code Playgroud)
这返回类似于:
\\My Documents\Subfolder\[input_sheet.xlsx]Wk 25 2012'!$B$11
Run Code Online (Sandbox Code Playgroud)
然后将其嵌套在另一个中以使Excel读取该路径:
=INDIRECT("'"&INDIRECT("input_sheet_location")&"Wk 25 2012'!$B$12")
Run Code Online (Sandbox Code Playgroud)
这成功地从input_sheet_location返回单元格B12的值 - 一个命名范围,它是一个文件目录.为了论证,我们可以说它返回:
Captain America's underpants
Run Code Online (Sandbox Code Playgroud)
所以上面的效果非常好.为了我.但是,在另一个用户的计算机上,它不起作用.我试图深入研究,并制定了以下内容:
INDIRECT公式确实有效.它只是嵌套的公式,只适用于我的计算机.在每个其他用户的计算机上,它返回#REF错误.有谁知道为什么会出现这种情况?我很茫然.
感谢阅读那篇高谈阔论.
我一直在谷歌上搜索一页,在这里寻找这个看似简单的请求的解决方案,但无济于事.有没有人知道使用vba将字符串转换为句子的可靠方法?
理想情况下,我会将其构建为子而不是函数,因此从GUI调用更容易.
作为参考,我想要:
这里是一个长长的,高级的句子.请立刻向我致敬.
成为:
这是一个冗长,丑陋的大写句子.请立即修改我.
转换为标题案例我发现非常简单(因为有一个内置函数)但转换到句子案例确实非常困难.
我尝试了以下一些方法,但每次都会出现错误:
我怎样才能让它发挥作用?
如何使用VBA获取活动工作簿中所有工作表的名称(或者最多三个)作为字符串返回?对于上下文,我将在保存时使用字符串命名工作簿.我已经想出如何使用输入对话框等为文件创建savename,所以这只是让VBA返回类似"[Worksheet 1 name]和[Worksheet 2 name]"之类的东西.
非常感谢!
我刚刚经历了一个宏的突然失败.它调用以下函数,该函数使用选定的可选分隔符连接一系列单元格:
Public Function MAKELIST(ByVal cellRange As Range, Optional ByVal delimiter As String)
'Function to join a range of cells together with an optional
Dim c As Range
Dim newText As String
Dim Count As Integer
Count = 0
newText = ""
For Each c In cellRange
Count = Count + 1
newText = newText & c.Value
If Count < cellRange.Count Then
newText = newText & delimiter
End If
Next
MAKELIST = newText
End Function
Run Code Online (Sandbox Code Playgroud)
它只是简单地将手动输入的单元格数据连接在一起 - 任何值似乎都会破坏它.似乎问题在于如何引用/调用函数(抱歉,不是命名法)而不是函数本身.
这很完美.我在文件夹之间移动文件,它突然停止工作, …
说我连接到test.server.com我的互联网访问.有没有办法让使用VBA返回该字符串?
根据您的要求进行扩展(对不起,网络是我所知甚少的):
以下是Windows 7企业版:如果您要导航到"控制面板"中的"网络和共享中心",这将是"域网络"的名称.或者,单击任务栏中的网络图标将显示此网络名称下方的"Internet访问".