[過去ログ] VBAなんでも質問スレ Part2 [転載禁止]©2ch.net (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
242: 2016/10/30(日)09:23 ID:2kQlDpFE(1) AAS
今時差分管理もしてないのかよ
243: 2016/10/31(月)23:59 ID:9abcSnRr(1) AAS
VBACとか使ってんの?
244
(1): 2017/02/06(月)12:06 ID:1XFRepCN(1) AAS
PowerPointのVBAでファイルを閉じた後も変数の値が保存されるようにしたいんですが外部のテキストに書き出す以外にファイル本体にどうにかして埋め込む方法はありますか?
245
(1): 2017/02/06(月)14:57 ID:atuXlQHb(1) AAS
透明のシェイプとかに書くとか色々あるけど
実際本体ファイルを更新されるとバージョン管理とか使う側が気持ち悪がるとか運用面で問題が出そう
246
(3): 2017/02/06(月)19:29 ID:4FxLnD3n(1) AAS
Excel脳っすなぁ
標準的なユーザーデータ保存場所がちゃんとあるんだからそれ使えばいいじゃん
247: 2017/02/06(月)19:58 ID:KOZLaxG/(1) AAS
>>246
どうすればいいでしょうか
248
(1): 2017/02/06(月)21:21 ID:VJg+IRhi(1) AAS
>>244
Presentation.CustomDocumentProperties
外部リンク[aspx]:msdn.microsoft.com
249
(1): 2017/02/07(火)07:09 ID:HIDKMkau(1) AAS
>>246
条件によるだろ
思いつきで即答すんなアホ
250: 2017/02/07(火)07:27 ID:ff698yUf(1/2) AAS
>>249
条件って
ファイル本体に埋め込みたい
ってことだろ
>>246 の保存場所がどこの事を言ってるのかよくわからんが >>245 より >>248 の方がはるかにマシ
251: 2017/02/07(火)07:40 ID:xddq+MTq(1) AAS
ファイル本体に埋め込みすんのがアホなんだよわかれよ素人
ゴミを量産して人に迷惑かけないでくれ
独りよがりの仕事してんじゃねえよ
252: 2017/02/07(火)08:07 ID:ff698yUf(2/2) AAS
単なる基地害だったのか
253: 2017/02/07(火)20:25 ID:1dqSFjs6(1) AAS
実際に仕事してるとそれこそ基地外避けを作る必要が出てきたりするんだよな
254
(1): 2017/02/07(火)21:24 ID:lpX4EXgF(1) AAS
ユーザーデータを変な場所に保存したりするやつとか避けないとな
255: 2017/02/07(火)22:43 ID:diTiDCUQ(1) AAS
>>254
> 変な場所に
透明のシェイプとかのことですね、わかります
256
(3): 2017/02/13(月)17:14 ID:QPcPOced(1) AAS
50枚のスライドが入ったパワポが5個あります。
これを統合したいのですが
ファイル1の1枚目
ファイル2の1枚目
ファイル3の1枚目
ファイル4の1枚目
ファイル5の1枚目
ファイル1の2枚目。。。

という順番にしたいのです。
どういうマクロを書けばいいでしょうか?
257: 2017/02/13(月)21:36 ID:MAF656mM(1) AAS
>>256
その通りのマクロを書けばいいのでは?
258: 2017/02/13(月)21:54 ID:1gaAmlEB(1) AAS
新規で作ったらコピペを繰り返すだけ
259: 2017/02/14(火)00:38 ID:hvVJhpIb(1) AAS
パワポってマクロ使えるんだ
そらそうだわな
260: 2017/02/14(火)01:58 ID:ahDpDw9M(1) AAS
ExcelVBAをつかいこなしていても
パワポはマクロの記録がないと腰が重いな
261: 2017/02/15(水)08:18 ID:uIQboeV9(1) AAS
>>256
この作業用を何回も繰り返さないといけないの?
1度きりならあなたの場合は手作業の方が早い気が
262: 2017/02/15(水)13:14 ID:zgJtAmDR(1) AAS
>>256
スマホからだから試してないけどこんな感じかな
Application.Presentations.Open(ひとつ目のファイル)
Application.Presentations.Open(ふたつ目のファイル)
...
Application.Presentations.Open(いつつ目のファイル)
Set P = Application.Presentations.Add
For I = 1 To 50
For J = 1 To 5
Application.Presentations.Item(J).Slides(I).Copy
P.Slides.Paste
Next
Next
P.SaveAs(新規のファイル)
263
(1): 2017/02/23(木)13:32 ID:xPy6pfR0(1/2) AAS
選択されているセル範囲内の文字、図形を削除する手順を作ってみましたが、処理がえらく重いです。
もっと処理を早くする方法はないでしょうか?
Sub sakujo()
Application.ScreenUpdating = False   '画面更新を停止
Dim shp As Shape
Dim rng As Range
If TypeName(Selection) <> "Range" Then Exit Sub
For Each shp In ActiveSheet.Shapes
Selection.ClearContents
Set rng = Range(shp.TopLeftCell, shp.BottomRightCell)  '図形の配置されているセル範囲をオブジェクト変数にセット
If Not (Intersect(rng, Selection) Is Nothing) Then  '図形の配置されている範囲と選択されているセル範囲が重なっているときに図形を削除
shp.Delete
End If
Next
Application.ScreenUpdating = True  '画面更新を再開
End Sub
264: 2017/02/23(木)14:40 ID:bekNjoMq(1) AAS
>>263
再計算とイベントも停止してみた?
あと、コレクションに対するループの中で自分自身のコレクションが変化するのは、なんとなくまずい気がする
根拠はないけど、それって遅くなる要因と違う?
265
(1): 2017/02/23(木)15:02 ID:Q2T7iSLN(1/4) AAS
処理の基本をよく考えるべき。
1.Shape毎にSelection.ClearContentsする意味は?
2.shp.Delete後もループする意味は?
3.そもそもSelectionって何?つまり何が選択されている時に削除したいの?

For Each shp In ActiveSheet.Shapes
If shp Is Selection Then
shp.Delete
Exit For
End If
Next

じゃ駄目?
266: 2017/02/23(木)15:08 ID:Q2T7iSLN(2/4) AAS
選択されているセル範囲については最初のIf文でExit Subしてるから削除されないんじゃ?
処理がよく分からん。

選択されているShapeの下のRangeの内容を削除したいならshp=Selectionの場合に
Range(shp.TopLeftCell,shp.BottomRightCell).ClearContents
で良いんじゃ?
267: 2017/02/23(木)15:10 ID:Q2T7iSLN(3/4) AAS
shp=Selectionの場合じゃなくてshp Is Selectionの場合だな。
shp.Deleteの前ね。
268
(2): 2017/02/23(木)15:24 ID:5OVH7aZj(1/2) AAS
>>265
質問者じゃないけど変わって説明するよ
・シート上に文字と図形が複数箇所に設定されている
・消す範囲を選択して、その範囲内の文字と図形を消すコードを書いた
・でもなぜか遅い

質問者に言えるのは、
・Selection.ClearContentsはfor eachの外でいい
・試しに100個のshapeを貼り付けて50個くらいが入る範囲を選択して消してみたら一瞬で終了(もちろんコードでだよ)
・遅いって具体的にどれくらいなの?
269
(1): 2017/02/23(木)16:00 ID:Q2T7iSLN(4/4) AAS
>>268
コード見りゃわかる。
でもコードがやってることは無駄な部分が多いから聞いてる。

最初のIf文を見ればRangeを選択した場合はExit Subしたいみたいだがら範囲選択した場合は処理して欲しく無いんだよな。
→じゃ、どんな時に処理して欲しいの?

For Each shp In ActiveSheet.Shapes
If shp Is Selection Then
Range(shp.TopLeftCell,shp.BottomRightCell).ClearContents
shp.Delete
Exit For
End If
Next

じゃ駄目なの?
270: 2017/02/23(木)16:07 ID:xPy6pfR0(2/2) AAS
今までは長い時で1〜1.5秒程止まっていました
>>268さんの言われた通り、Selection.ClearContentsの位置を変えたらスムーズになりましたのでこれで行こうと思います
たくさんご意見頂きありがとうございました
271: 2017/02/23(木)16:14 ID:5OVH7aZj(2/2) AAS
>>269
> If TypeName(Selection) <> "Range" Then Exit Sub
だよ
1-
あと 731 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.013s