2016-06-13 9 views
0

私は、数秒でシート保護をバイパスできるExcelの悪用を見ています。彼らはVBA 'For'の構文

この場合、私は思っていた最初のコードスニペットに似たforループをネストされたを使用します。

For i = 65 To 66: For j = 65 To 66: For k = 65 To 66 
    'code' 
Next: Next: Next: 

はこれと同じである:

For i = 65 To 66 
    For j = 65 To 66 
     For k = 65 To 66 
       'code' 
     Next 
    Next 
Next 

すべてのヘルプは高く評価されます。

+1

はい、通常、新しい行の代わりに ':'を使用することができます。 –

+0

それを答えると、私はあなたが望むならそれを受け入れます。 –

+2

'debug.print i、j、k'で 'code'を置き換えれば、あなたは知っているでしょう。 –

答えて

1

これは同じです。しかし少し違いがあります。下のスニペットはネストを明示的にします。

はトップスニペットは、その本当のネスティングレベルについてのコードのインデント嘘を行い、重要なコーディングの原則に違反:

[...]常にコードかのようにあなたのコードを維持して終わる男あなたがどこに住んでいるか知っている暴力的な精神病者になるでしょう。 可読性のためのコード。

source

このコードは、基本的には可能な限り短くすること、そしてそれが本当にあるあからさま醜い矢印コードのように見える避けるために、「golfed」されます。