「夫を成功」へ導く妻の秘訣 座談会

いつもお世話になります
下記のコードでシート3以外
を選択したいのです
For Each ww In ActiveWorkbook.Worksheets
If ww.Name <> "Sheet3" Then
Worksheets.Select
コレだと全部選択です
宜しくお願い致します

質問者からの補足コメント

  • うーん・・・

    いつも有難うございます。
    i = i + 1 ←ここのなかには何がはいるのですか。

    If ww.Name <> "Sheet3" Then
    ReDim Preserve sw(i)  ←この場合ですとSheet3以外をsw(i)の中に
    代入た値を保持するということでしょぅか

    Sheet3 Sheet2 Sheet1
    だとSheet2 Sheet1

    sw(i) =Sheet2 Sheet1
    値がそのままのこるということですか。

    sw(i) = ww.Name

    i = i + 1 ←ここのなかには何がはいるのですか。

    End If
    Next
    Worksheets(sw).Select

    お時間があればおしえてくれませんでしょうか

    No.2の回答に寄せられた補足コメントです。 補足日時:2020/09/20 21:24
  • 画像添付しました。
    i = 4
    となっています。
    お時間があるときでいいのでおしえてくれませんでしょうか

    「いつもお世話になります 下記のコードでシ」の補足画像2
    No.3の回答に寄せられた補足コメントです。 補足日時:2020/09/20 21:36

A 回答 (4件)

補足を見て。



配列のインデックスナンバーの上限値を変化させていく為の作業と、増えたインデックスの値としてIf文を通過したシート名を格納しているのです。
一般的には動的配列と言われてます。

逆は静的配列で宣言時に aa(5) と個数を決めておく方法もあります。
    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2020/09/20 21:46

Worksheet.Select メソッドのReplaceオプションが使えると思います。

調べてみて下さい。
こんな感じです。

Sub sample()
Dim ww As Worksheet
Dim f As Boolean: f = True
For Each ww In ActiveWorkbook.Worksheets
If ww.Name <> "Sheet3" Then
ww.Select Replace:=f
f = False
End If
Next ww
End Sub
この回答への補足あり
    • good
    • 0
この回答へのお礼

If ww.Name <> "Sheet3" Then
ww.Select Replace:=f
f = False
こんどはフラグでしょうか
なんかコードは無限ですね

お礼日時:2020/09/20 21:41

VBでのテストなのでちょっとコードが違いますけど、


ReDim と ReDim Preserve の違いを。

Dim i1() As Integer, i2() As Integer
Dim i As Integer

For i = 0 To 5
ReDim i1(i) : ReDim Preserve i2(i)
i1(i) = i
i2(i) = i
Next

For i = 0 To 5
Debug.Print(CStr(i1(i)) & vbTab & CStr(i2(i)))
Next

結果:

0 0
0 1
0 2
0 3
0 4
5 5

ReDim ですと過去に代入していたはずの値を保持していません。
保持しておきたい場合は ReDim Preserve ですね。
この回答への補足あり
    • good
    • 0

Sub test()


Dim ww As Worksheet
Dim i As Integer, sw()

i = 0

For Each ww In ActiveWorkbook.Worksheets

If ww.Name <> "Sheet3" Then
ReDim Preserve sw(i)
sw(i) = ww.Name
i = i + 1
End If

Next

Worksheets(sw).Select

End Sub

拾い集めてみましたが未検証です。
    • good
    • 0
この回答へのお礼

いつも有難うございます。
ReDim Preserve sw(i)なんですか
ところところでみます。
調べてみます。
実行はおもいどおりにいきました。
本当にありがとうございました

お礼日時:2020/09/20 18:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング