我在Excel中有一个二维图表。我需要使用两个字符串变量来获取单元格的值。该图表如下所示:
Document person1 person2
Text1 5 8
Text2 2 1
Text3 9 6
在网上看后,我发现这很困难,因为:
这应该是唯一相关的代码:
Dim document as string
Dim person as string
Dim oExcel as excel.application
Dim oWB as workbook
Set oExcel = New Excel.application
Set oWB = oExcel.Workbooks.open. ("C:")
oExcel.Visible = True
oWB.Sheets ("sheet1").Cells(documemt, person)
答案 0 :(得分:0)
假设文档和person是包含整数字符串表示的字符串变量(例如document =“1”,person =“2”),那么
oWB.Sheets ("sheet1").Cells(val(document), val(person))
会奏效。如果字符串变量的内容更复杂,那么您需要对这些字符串进行一些解析。
答案 1 :(得分:0)
假设“2d Chart”是指工作表中的一个表,那个人将是全文“person1”或“person2”等,同样对于文档,那么也许这个函数可以解决问题。
Dim result As Variant
result = FindDocPerson("person2", "text1")
If Application.WorksheetFunction.IsError(result) Then
' handle it
Else
' found it
End If
调用语法:
extension=php_pdo_sqlsrv_55_ts.dll
答案 2 :(得分:0)
您的代码中存在拼写错误
oWB.Sheets ("sheet1").Cells(documemt, person)
documemt应该是文档
除了目前还不清楚你想做什么之外,你还可以提供更多的描述吗?
我们所知道的是你需要使用两个字符串变量来获取单元格的值,它可以是字符串或数字。您发布的代码并未提供更多关于您目标的提示。
要在字符串和数字之间进行转换,您可以使用CLng转换为长数字或CStr转换为字符串。例如,CLng(“3”)= 3,CStr(3)=“3”
在你的代码中:
Set oWB = oExcel.Workbooks.open. ("C:")
因为你试图在没有指定名称的情况下打开工作簿而不起作用,我还注意到(“C:”)在命令调用的右边间隔很远,这使我相信这是已经输入的自由式,即不在VBE中。这使得解码您的要求变得更加困难。
最后,这段代码:
Set oExcel = New Excel.application
为什么要从Excel VBA代码启动另一个Excel会话?此代码是否在Excel以外的其他地方,即Outlook / Access / PowerPoint / Word / Business Objects等等。