- ベストアンサー
パワポ vba 全てのスライドをループする
エクセルなら 全てのシートをループして作業する場合は For Each s In Worksheets Next でできますが、 パワポで全てのスライドをループして 各スライドで作業したい場合は、 どのようなコードになるのでしょうか?
- VLHTQXGWRCDFX
- お礼率62% (20/32)
- PowerPoint(パワーポイント)
- 回答数1
- ありがとう数8
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
具体的にどのような処理をされるのかわかりませんが、次のような記述になります。 For i = 1 To ActivePresentation.Slides.Count With ActivePresentation.Slides(i) ここに作業内容 End With Next または For Each sld In ActivePresentation.Slides With sld ここに作業内容 End With Next
関連するQ&A
- 一回のループで次のオブジェクトの値も同時に取得する
一回のループで次のオブジェクトの値も同時に取得するにはどのようなコードを書けばよいですか? 例えば、 ブックにシートが Sheet1 Sheet2 Sheet3 あり、 Sub Sample1() Dim s As Worksheet For Each s In Worksheets Debug.Print s.Name Next End Sub のように、全てのシート名を取得する場合、 Sheet1とSheet2を1回のループで同時に取得する方法はありますか? Sub Sample1() Dim s As Worksheet For Each s In Worksheets Debug.Print s.Name Debug.Print s+1.Name Next End Sub みたいな方法があるのか知りたいです。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 右からループするにはどうすればいいですか?
Sub test() For Each s In Worksheets Debug.Print s.Name Next End Sub これでシート名を取得する際は左から取得されますが 右からループするにはどうすればいいですか?
- ベストアンサー
- Excel(エクセル)
- スライドのスライド番号を取得したいのですがVBAで
パワポのVBAについて教えてください。 1あああ 2いいい 3ううう のようにした時に、 「ううう」のスライドのスライド番号を取得したいのですがVBAで可能でしょうか? そもそも 全てのスライドをFor Eachでループさせて ブレースホルダに「ううう」が入力されてるかどうかを検索する方法がわかりません。 ご回答よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- VBAですべてのワークシートを処理したい
ブック内の全ワークシートに対して同じ処理をするために、 For each ワークシート in Worksheets ~処理~ Next ワークシート を使ってみたのですが、その時にアクティブになっているシートしか処理されません。たとえば次のようなシンプルなコードでも、同様です。何が抜けているのでしょうか。 Sub allworksheets() Dim WS As Worksheet For Each WS In Worksheets Range("a1") = "123" Next WS End Sub マクロの勉強を始めたばかりで、基本的なことでつまづいてます。よろしくお願い致します。
- ベストアンサー
- Visual Basic
- 任意でsの値にシート名を入れることは可能でしょうか
Sub test() Dim s As Worksheet For Each s In Worksheets Next End Sub このようなシート名を左からループする際に、任意でsの値にシート名を入れることは可能でしょうか? 例えば、 s="シート3" などです。
- ベストアンサー
- オフィス系ソフト
- エクセルVBAでFor each文
下記のようなコードを書きたいのですが「オブジェクトが必要です」というエラーが 出力されてしまいできないようです。何か代替案はありますでしょうか。 --- dim ws as worksheet with thisworkbook for each ws in array(.worksheets(1),.worksheets(2),.worksheets(3)) with ws 'ここに処理を書く end with next ws end with --- ちなみにこのbookにある全てワークシートで処理を回したいわけではなく 特定のシートのみで処理をしたいです。 エクセル2003です。 よろしくお願いします。
- ベストアンサー
- Visual Basic
- VBAでの作業グループ全体の操作
こんにちは、2度目の投稿です。 エクセル複数シートを作業グループ化してセルに値を入力したり色をつけたりすると、作業グループ全体に反映する機能があると思うのですが、これをVBAで記述したいと思っています。 調べると、作業グループで選択したシートはActiveWindow.SelectedSheetsに格納されるとあったので、例えば行を追加する場合、 For Each s In ActiveWindow.SelectedSheets s.Selection.EntireRow.Insert Next s で実行されるかと思いきや・・・同じシートに作業グループのシート数だけ行が増えたのです(・・;) セルの色を付けたい場合も、 For Each s In ActiveWindow.SelectedSheets s.Range("A2").Interior.Color = RGB(255, 255, 0) Next s これだと1シートにしか色がつかなかったり、インディックス範囲のエラーです・・・┐('~`;)┌ SelectedSheetsというのはコレクションで、Rangeはオブジェクトだから、、、えっと、、、と混乱してきてしまいました。 どのように記述すればいいのでしょうか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- VBA。開いているテキストファイルを検索
エクセル2010.VBAで 開いているテキストファイルが複数あるとして、 それらの中に、 任意のテキストファイル名が含まれているかどうかを 調べるにはどうしたらいいですか? たとえば、エクセルワークシートなら For Each s In ActiveWorkbook.Worksheets という感じで網羅的に調べられますが、 テキストファイルの場合はどうしたらいいのでしょうか?
- ベストアンサー
- Excel(エクセル)
- For Each でシートのループ
簡潔に質問する為に以下のマクロを見て頂きたいのですが、 この場合sheet1,sheet2,sheet3のそれぞれの(1,1)に2が発生せず 現在目でみているシートにのみ有効なのですが、全シートに有効に するには何が足りないのでしょうか Sub aaa() Dim ws As Worksheet For Each ws In Worksheets Cells(1,1)=2 Next End Sub
- ベストアンサー
- オフィス系ソフト
- Excel VBA; 複数のループ処理
↓のようなコードがあります。 Dim i As Long, MaxRow1 As Long, MaxRow2 As Long MaxRow1 = Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row MaxRow2 = Worksheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Row For i = 1 To MaxRow1 Worksheets("Sheet1").Cells(i, 1).Value = i . Next i For i = 1 To MaxRow2 Worksheets("Sheet2").Cells(i, 1).Value = i . Next i これらを最大行の多いシートに合わせて、パフォーマンスを良くしたいと思います。 同様の処理をシート1、シート2で実施しているので纏めて記述したいです。 シート1、シート2に対する処理をサブルーチンにする方法しかありませんか? どなたかお願いします。 If MaxRow1 >= MaxRow2 Then For i = 1 To MaxRow1 Else For i = 1 To MaxRow2 End If Worksheets("Sheet1").Cells(i, 1).Value = i Worksheets("Sheet2").Cells(i, 1).Value = i . Next i
- ベストアンサー
- Visual Basic
お礼
どうもありがとうございました。