[過去ログ]
VBAなんでも質問スレ Part2 [転載禁止]©2ch.net (1002レス)
VBAなんでも質問スレ Part2 [転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1432173164/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
242: デフォルトの名無しさん [sage] 2016/10/30(日) 09:23:46.57 ID:2kQlDpFE 今時差分管理もしてないのかよ http://mevius.5ch.net/test/read.cgi/tech/1432173164/242
243: デフォルトの名無しさん [sage] 2016/10/31(月) 23:59:17.10 ID:9abcSnRr VBACとか使ってんの? http://mevius.5ch.net/test/read.cgi/tech/1432173164/243
244: デフォルトの名無しさん [sage] 2017/02/06(月) 12:06:59.89 ID:1XFRepCN PowerPointのVBAでファイルを閉じた後も変数の値が保存されるようにしたいんですが外部のテキストに書き出す以外にファイル本体にどうにかして埋め込む方法はありますか? http://mevius.5ch.net/test/read.cgi/tech/1432173164/244
245: デフォルトの名無しさん [sage] 2017/02/06(月) 14:57:53.43 ID:atuXlQHb 透明のシェイプとかに書くとか色々あるけど 実際本体ファイルを更新されるとバージョン管理とか使う側が気持ち悪がるとか運用面で問題が出そう http://mevius.5ch.net/test/read.cgi/tech/1432173164/245
246: デフォルトの名無しさん [sage] 2017/02/06(月) 19:29:23.46 ID:4FxLnD3n Excel脳っすなぁ 標準的なユーザーデータ保存場所がちゃんとあるんだからそれ使えばいいじゃん http://mevius.5ch.net/test/read.cgi/tech/1432173164/246
247: デフォルトの名無しさん [sage] 2017/02/06(月) 19:58:54.20 ID:KOZLaxG/ >>246 どうすればいいでしょうか http://mevius.5ch.net/test/read.cgi/tech/1432173164/247
248: デフォルトの名無しさん [sage] 2017/02/06(月) 21:21:37.88 ID:VJg+IRhi >>244 Presentation.CustomDocumentProperties https://msdn.microsoft.com/ja-jp/library/office/ff744661.aspx http://mevius.5ch.net/test/read.cgi/tech/1432173164/248
249: デフォルトの名無しさん [sage] 2017/02/07(火) 07:09:26.95 ID:HIDKMkau >>246 条件によるだろ 思いつきで即答すんなアホ http://mevius.5ch.net/test/read.cgi/tech/1432173164/249
250: デフォルトの名無しさん [sage] 2017/02/07(火) 07:27:10.54 ID:ff698yUf >>249 条件って ファイル本体に埋め込みたい ってことだろ >>246 の保存場所がどこの事を言ってるのかよくわからんが >>245 より >>248 の方がはるかにマシ http://mevius.5ch.net/test/read.cgi/tech/1432173164/250
251: デフォルトの名無しさん [sage] 2017/02/07(火) 07:40:32.09 ID:xddq+MTq ファイル本体に埋め込みすんのがアホなんだよわかれよ素人 ゴミを量産して人に迷惑かけないでくれ 独りよがりの仕事してんじゃねえよ http://mevius.5ch.net/test/read.cgi/tech/1432173164/251
252: デフォルトの名無しさん [sage] 2017/02/07(火) 08:07:27.12 ID:ff698yUf 単なる基地害だったのか http://mevius.5ch.net/test/read.cgi/tech/1432173164/252
253: デフォルトの名無しさん [sage] 2017/02/07(火) 20:25:02.30 ID:1dqSFjs6 実際に仕事してるとそれこそ基地外避けを作る必要が出てきたりするんだよな http://mevius.5ch.net/test/read.cgi/tech/1432173164/253
254: デフォルトの名無しさん [sage] 2017/02/07(火) 21:24:47.40 ID:lpX4EXgF ユーザーデータを変な場所に保存したりするやつとか避けないとな http://mevius.5ch.net/test/read.cgi/tech/1432173164/254
255: デフォルトの名無しさん [sage] 2017/02/07(火) 22:43:16.46 ID:diTiDCUQ >>254 > 変な場所に 透明のシェイプとかのことですね、わかります http://mevius.5ch.net/test/read.cgi/tech/1432173164/255
256: デフォルトの名無しさん [sage] 2017/02/13(月) 17:14:33.92 ID:QPcPOced 50枚のスライドが入ったパワポが5個あります。 これを統合したいのですが ファイル1の1枚目 ファイル2の1枚目 ファイル3の1枚目 ファイル4の1枚目 ファイル5の1枚目 ファイル1の2枚目。。。 という順番にしたいのです。 どういうマクロを書けばいいでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1432173164/256
257: デフォルトの名無しさん [sage] 2017/02/13(月) 21:36:30.61 ID:MAF656mM >>256 その通りのマクロを書けばいいのでは? http://mevius.5ch.net/test/read.cgi/tech/1432173164/257
258: デフォルトの名無しさん [sage] 2017/02/13(月) 21:54:55.31 ID:1gaAmlEB 新規で作ったらコピペを繰り返すだけ http://mevius.5ch.net/test/read.cgi/tech/1432173164/258
259: デフォルトの名無しさん [sage] 2017/02/14(火) 00:38:49.96 ID:hvVJhpIb パワポってマクロ使えるんだ そらそうだわな http://mevius.5ch.net/test/read.cgi/tech/1432173164/259
260: デフォルトの名無しさん [] 2017/02/14(火) 01:58:27.90 ID:ahDpDw9M ExcelVBAをつかいこなしていても パワポはマクロの記録がないと腰が重いな http://mevius.5ch.net/test/read.cgi/tech/1432173164/260
261: デフォルトの名無しさん [sage] 2017/02/15(水) 08:18:34.60 ID:uIQboeV9 >>256 この作業用を何回も繰り返さないといけないの? 1度きりならあなたの場合は手作業の方が早い気が http://mevius.5ch.net/test/read.cgi/tech/1432173164/261
262: デフォルトの名無しさん [sage] 2017/02/15(水) 13:14:12.73 ID:zgJtAmDR >>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(新規のファイル) http://mevius.5ch.net/test/read.cgi/tech/1432173164/262
263: デフォルトの名無しさん [sage] 2017/02/23(木) 13:32:21.69 ID:xPy6pfR0 選択されているセル範囲内の文字、図形を削除する手順を作ってみましたが、処理がえらく重いです。 もっと処理を早くする方法はないでしょうか? 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 http://mevius.5ch.net/test/read.cgi/tech/1432173164/263
264: デフォルトの名無しさん [sage] 2017/02/23(木) 14:40:32.47 ID:bekNjoMq >>263 再計算とイベントも停止してみた? あと、コレクションに対するループの中で自分自身のコレクションが変化するのは、なんとなくまずい気がする 根拠はないけど、それって遅くなる要因と違う? http://mevius.5ch.net/test/read.cgi/tech/1432173164/264
265: デフォルトの名無しさん [sage] 2017/02/23(木) 15:02:34.32 ID:Q2T7iSLN 処理の基本をよく考えるべき。 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 じゃ駄目? http://mevius.5ch.net/test/read.cgi/tech/1432173164/265
266: デフォルトの名無しさん [sage] 2017/02/23(木) 15:08:21.72 ID:Q2T7iSLN 選択されているセル範囲については最初のIf文でExit Subしてるから削除されないんじゃ? 処理がよく分からん。 選択されているShapeの下のRangeの内容を削除したいならshp=Selectionの場合に Range(shp.TopLeftCell,shp.BottomRightCell).ClearContents で良いんじゃ? http://mevius.5ch.net/test/read.cgi/tech/1432173164/266
267: デフォルトの名無しさん [sage] 2017/02/23(木) 15:10:34.31 ID:Q2T7iSLN shp=Selectionの場合じゃなくてshp Is Selectionの場合だな。 shp.Deleteの前ね。 http://mevius.5ch.net/test/read.cgi/tech/1432173164/267
268: デフォルトの名無しさん [sage] 2017/02/23(木) 15:24:01.29 ID:5OVH7aZj >>265 質問者じゃないけど変わって説明するよ ・シート上に文字と図形が複数箇所に設定されている ・消す範囲を選択して、その範囲内の文字と図形を消すコードを書いた ・でもなぜか遅い 質問者に言えるのは、 ・Selection.ClearContentsはfor eachの外でいい ・試しに100個のshapeを貼り付けて50個くらいが入る範囲を選択して消してみたら一瞬で終了(もちろんコードでだよ) ・遅いって具体的にどれくらいなの? http://mevius.5ch.net/test/read.cgi/tech/1432173164/268
269: デフォルトの名無しさん [sage] 2017/02/23(木) 16:00:14.32 ID:Q2T7iSLN >>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 じゃ駄目なの? http://mevius.5ch.net/test/read.cgi/tech/1432173164/269
270: デフォルトの名無しさん [sage] 2017/02/23(木) 16:07:14.86 ID:xPy6pfR0 今までは長い時で1〜1.5秒程止まっていました >>268さんの言われた通り、Selection.ClearContentsの位置を変えたらスムーズになりましたのでこれで行こうと思います たくさんご意見頂きありがとうございました http://mevius.5ch.net/test/read.cgi/tech/1432173164/270
271: デフォルトの名無しさん [sage] 2017/02/23(木) 16:14:41.52 ID:5OVH7aZj >>269 > If TypeName(Selection) <> "Range" Then Exit Sub だよ http://mevius.5ch.net/test/read.cgi/tech/1432173164/271
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 731 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.029s