[過去ログ]
VBAなんでも質問スレ Part2 [転載禁止]©2ch.net (1002レス)
VBAなんでも質問スレ Part2 [転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1432173164/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
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
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.043s