VBA Excel String Escape退格符

时间:2013-10-11 23:31:17

标签: string excel vba

我正在为进度报告创建一个宏,它将通过向用户询问他们想要添加的进度报告的日期来更新用户的总收入,成本和利润单元。当所有文件都在跳转驱动器上时,我有这个工作,但当我将它们全部移动到我的硬盘驱动器并更改了字符串,因此它没有在跳转驱动器中查找它为每个单元格弹出一个打开的对话框。它可以在你选择你想要的文件时起作用,但我不想这样做。

我启动宏时会显示一个输入框,询问指定格式的日期。这很好,只出现一次,这就是我想要的。

我认为这个问题与我的wkbk变量有关,因为\字符因此没有找到文件并打开每个单元格的打开对话框。

有没有办法在VBA中转义此角色?我发现的所有逃避角色信息都是“或”,而不是其他任何东西。

    Range("J38:K38").Select
    myNum = Application.InputBox("Please enter the date of report to be added EX 5-12-13")
Dim wkbk As String
    wkbk = "Documents\Project for dad\Sent\PROGRESS REPORTS " & myNum & ".xls"

ActiveCell.FormulaR1C1 = _
    "=RC[-2]+'[wkbk]Day'!R38C10:R38C11"
Range("J39:K39").Select
ActiveCell.FormulaR1C1 = _
    "=RC[-2]+'[wkbk]Day'!R39C10:R39C11"
Range("J40:K40").Select
ActiveCell.FormulaR1C1 = _
    "=RC[-2]+'[wkbk]Day'!R40C10:R40C11"

1 个答案:

答案 0 :(得分:1)

您的代码有很多错误:

  1. 如果文件的路径不好,您将获得您描述的行为
  2. 您没有正确使用.FormulaR1C1
  3. 此代码将起作用但您的解决方案不健全:

    Sub Test2()
      'Dim's go at the top
      Dim wkbk As String
      Dim RelativeOffSet As String
      Dim strRange
    
      'This is just the file name
      myNum = Application.InputBox("Please enter the date of report to be added EX 5-12-13")
      wkbk = "Documents\Project for dad\Sent\PROGRESS REPORTS"
    
      'gets the "C:\" from the cell relative to activeCell (h38 after 1st select)
      RelativeOffSet = "=RC[-2]"
      Range("J38:K38").Select
      strRange = "$J$38:$K$38"
    
      ActiveCell.FormulaR1C1 = RelativeOffSet
      ActiveCell.Value = "='" & ActiveCell.Value & wkbk & "[" & myNum & ".xlsx]Sheet1'!" + strRange 
    End Sub