使用Excel表格进行COBOL分析。需要脚本来定位段落

使用Excel表格进行COBOL分析。需要脚本来定位段落,excel,cobol,vba,Excel,Cobol,Vba,我已将COBOL程序复制到Excel工作表中。我想写一个宏并分配键。因此,当我按下指定的键时,它应该执行以下操作。例如,当光标位于PERFORM 001-PARA-ADD行时,它应将行值行2存储在变量中,并仅复制PARA name 001-PARA-ADD和ADD。在字符串末尾,去掉行中的其他字符,搜索字符串001-PARA-ADD。并将控件移动到第7行,其中字符串001-PARA-ADD。存在,当我再次按键时,它应返回到初始位置第2行 如果可能的话,请告诉我。请让我知道,如果更多的细节需要有关

我已将COBOL程序复制到Excel工作表中。我想写一个宏并分配键。因此,当我按下指定的键时,它应该执行以下操作。例如,当光标位于PERFORM 001-PARA-ADD行时,它应将行值行2存储在变量中,并仅复制PARA name 001-PARA-ADD和ADD。在字符串末尾,去掉行中的其他字符,搜索字符串001-PARA-ADD。并将控件移动到第7行,其中字符串001-PARA-ADD。存在,当我再次按键时,它应返回到初始位置第2行

如果可能的话,请告诉我。请让我知道,如果更多的细节需要有关的要求

 IF A > B
345    PERFORM 001-PARA-ADD 12345
     IF A < B
        PERFORM 002-PARA-SUB
     END-IF
    END-IF
    001-PARA-ADD.
       COMPUTE A = A+B.
    .
    002-PARA-SUB.
       COMPUTE B = B-A.
    .
节目图像:


试着把这些点连接起来:

我已将COBOL程序复制到Excel工作表中。我想写一个宏并分配键。因此,当我按下指定的键时,它应该执行以下操作。例如,当光标位于PERFORM 001-PARA-ADD行时,它应将行值行2存储在变量中

   strValue = ActiveCell.Value
   Sheets("Sheet2").Range("A1") = ActiveCell.Address 'save your cell address into a scratch sheet
仅复制段落名称001-para-ADD

   arrayValue = Split(strValue, " ")
   For Each val In arrayValue
        If Instr(val, "PARA") > 0 Then
            strPara = val
            Goto ProcessNext
        End If
   Next

   ProcessNext:
并添加。最后

   strPara = strPara & "."
并去掉行中的其他字符

   strPara = Trim(strPara)  
并搜索字符串001-PARA-ADD。并将控件移动到第7行,其中字符串001-PARA-ADD。存在

get the code from this link <https://stackoverflow.com/questions/11813720/search-a-string-in-a-worksheet-in-vba>!

是的,这是可能的。但是请理解,堆栈溢出不是免费的代码编写服务,因此您需要显示您已经尝试过的问题,并添加代码,并向代码中提出特定问题。包括所有错误消息以及它们在代码中出现的位置和卡住的位置。是否始终要基于光标位置进行搜索?而且只有一次?所以你只是在寻找段落,而打算忽略部分?@Peh我对Vba了解不多。我试着录制一个宏,但根本不起作用。@Myplanet看看下面的答案。你会在那里找到大部分你需要的东西。如果您遇到问题,请发布您的实际代码,并告诉您在哪里遇到了问题,以便从这里的人那里获得更多帮助。
   'create another macro for this
   ActiveSheet.Range(Sheets("Sheet2").Range("A1").Value).Activate