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