ループ処理③ (while)
2017.08.14 23:19
ループ処理③
使用:while
1.ループ処理①や②では最後にループ判定をするDo Whileを使用したので、今回は前判定のWhileを使用して、同様のループ処理を作成する。
![](https://cdn.amebaowndme.com/madrid-prd/madrid-web/images/sites/332380/b140e22f3755b97218329e9102b09534_8963aacada42b81a7c7609a79e9cbfb6.jpg?width=960)
2.以前作成した後処理のフローをそのまま使用。DoWhileをWhileに変更する。処理は次の通り。①エクセルを読み込んでセルA1の内容を表示②yes/noの選択肢を表示③yesの場合はA2、A3へと順に進む④noを選択するか、セルの中身がなくなるまでループ。
![](https://cdn.amebaowndme.com/madrid-prd/madrid-web/images/sites/332380/77cc921d4df60785ea824f3477c7f436_45ccc7f7dbf56987a83f78cf4cdd2277.jpg?width=960)
3.この状態で実行をしても何も起こらず。前判定、条件式button = "Yes"の時のみwhileの中の処理に入るので、何も選択していない状態ではFalseとなり、そのまま処理が終了してしまう。なので、buttonの初期値をyesに設定する。
![](https://cdn.amebaowndme.com/madrid-prd/madrid-web/images/sites/332380/61a4754c82e3d9f12187c02e1e54da2e_1efc6e2e22c6e44f84416fc1e0843b05.jpg?width=960)
4.また、セルの中身が空白になってもループが続いてしまうので、条件式を追加する。
![](https://cdn.amebaowndme.com/madrid-prd/madrid-web/images/sites/332380/4f989734eac3021b92b66933a32657e7_1d5a6fabc95b29376e49c4893aba8655.jpg?width=960)
5.ここで実行すると、また何も起こらず。resultはReadCellで中身を入れているので、最初の段階では空になっている為。という事で、resultの初期値も設定する。
reusltの初期値はReadCellと同じ"A"+counterでも問題ありませんが、readcellを使っているわけではないので、ここで入るのはセルの中身ではなく、ただの"A1"という文字になる。空でなければ何でも良いので、画像では0を設定。