Slant-shadow Posted December 13, 2016 Report Share Posted December 13, 2016 Всем привет. Можете помочь с макросом, который будет проверять каждую ячейку столбца и в том случае, если в тексте ячейки присутствует ошибка в проставлении скобок, останавливать работу макроса и выводить сообщение, в каком месте листа макрос обнаружил ошибку. Например, запись «Текст(текст)» будет правильно, а такая – «Текст)текст(» или «((( )) () ))» будут неправильными и для них следует вывести сообщение об ошибке. Link to comment Share on other sites More sharing options...
AbraShwabraKadabra Posted December 14, 2016 Report Share Posted December 14, 2016 Для каждой текущей ячейки. Предположим, что в S содержимое ячейки. NumOpen=0 NumClose=0 Flag=0 kmax=len(S) for k=1 to kmax S1=mid$(S,k,1) if S1="(" then NumOpen=NumOpen+1 if S2=")" then NumClose=NumClose+1 if NumClose>NumOpen then Flag=1 next k if NumOpen<>NumClose then Flag=1 if Flag=1 then Остановить и Вывести сообщение Остановить и вывести сообщение сделайте сами. Link to comment Share on other sites More sharing options...
AbraShwabraKadabra Posted December 14, 2016 Report Share Posted December 14, 2016 Можно покрасить все неверные ячейки красным: NumColomn=5 for NumRow=1 to NumRowMax NumOpen=0 NumClose=0 Flag=0 kmax=len(S) for k=1 to kmax S1=mid$(S,k,1) if S1="(" then NumOpen=NumOpen+1 if S2=")" then NumClose=NumClose+1 if NumClose>NumOpen then Flag=1 next k if Flag=1 then Cells(NumRow, NumColomn).Interior.Color = vbRed Next NumRow По окончании редактирования выделить столбец и снять окраску. Это удобнее, чем запинаться каждый раз за ошибку и перезапускать макрос. Link to comment Share on other sites More sharing options...
Slant-shadow Posted December 26, 2016 Author Report Share Posted December 26, 2016 Спасибо Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now