| 
    
     |  | ▼Ex初心者 さん: こんにちは、初めての機能を使うときはそれ単独で動作確認をすると
 良く内容が理解できると思います。Msgboxの利用が有効かも
 新しいBOOKの標準モジュールに以下のマクロを貼り付け実行してから
 各シートのA1セルを確認してみてください。
 Sub test()
 Dim mySheet As Worksheet
 For Each mySheet In Worksheets
 '>〜
 '>内
 mySheet.Range("A1").Value = mySheet.Name
 '>容
 '>〜
 Next mySheet
 End Sub
 
 >度々の質問失礼します。
 >
 >超初心者様のお陰で、マクロは無事に完成したのですが
 >それを複数のシートにて実行したいのですがどうすればいいでしょうか?
 >
 >シート名は1,2,3・・・40までありましてその後 1〜40までのデータをまとめるシートが用意されている状態です
 >
 >この1〜40のシートにて一度にマクロを実行させたいのです
 >手動で40シート分でもいいのですが、できればスマートにしたいなぁと思ったもので・・・
 >
 >中身は、超初心者さんのものを使わせて頂きました!
 >
 >Sub sub_sampleple()
 >  Dim myB2 As Integer
 >  Dim myMOVE As Boolean
 >  Dim myRow As Long
 >  Dim myRowMax As Long
 >  Dim myCnt As Long
 >
 >  '第一条件の判定
 >  Select Case Range("B2").Value
 >    Case "あ", "い", "う"
 >      myB2 = 1
 >    Case "え", "お"
 >      myB2 = 2
 >  End Select
 >
 >  myRow = 3    'B3から
 >  myRowMax = 20  'B20までをチェック
 >  Do
 >    '第二条件の判定
 >    Select Case Cells(myRow, 2).Value
 >      Case 1, 11, 20
 >        myMOVE = (myB2 = 1)
 >      Case 50, 100
 >        myMOVE = (myB2 = 2)
 >      Case Else
 >        myMOVE = False
 >    End Select
 >
 >    '移動処理
 >    If myMOVE Then
 >      Rows(myRow).Cut
 >      Rows(30 + myCnt).Insert Shift:=xlDown '30行目に挿入
 >      Rows(30 - 1).Insert Shift:=xlDown
 >      myCnt = myCnt + 1
 >      myRowMax = myRowMax - 1
 >    Else
 >      myRow = myRow + 1
 >    End If
 >  Loop Until myRow > myRowMax
 >
 >End Sub
 >
 >これを1〜40までのシート内を一気に実行は可能なのでしょうか?
 >
 >Dim mySheet As Worksheet
 >For Each mySheet In Worksheets
 >〜
 >内
 >容
 >〜
 >Next mySheet
 >
 >これを改良する感じなのでしょうか?
 >度々申し訳ありませんが、再度お知恵をお貸しください
 
 |  |