Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


25161 / 76736 ←次へ | 前へ→

【56919】Re:別シートへ行と列を入れ替えてコピー
発言  kanabun  - 08/7/10(木) 17:04 -

引用なし
パスワード
   > お疲れ様です。
>
> > ◆Try1 CopyPaste が 4.129 秒
> > ◆Try2 TransValue が 0.367 秒 でした。
> Try1のCopyPasteの方は、理解ができました!ありがとうございます。
>
> Try2の方は、今から取り掛かろうとおもっているのですが、
>
> 上記二つが、Try1に比べ大きく変わっているかと思います。
> ■-1,Application.ScreenUpdating = False/True
>  は、更新をせず、一発で転記させるというのはわかるのですが、
 Application.ScreenUpdating = False
は、画面の更新を抑止するものです。なので、
Try1() にも、 Try2()にも必要です。
シートに盛んにアクセスしてますから。

> > ◆Try1 CopyPaste が 4.129 秒
 これは
 Application.ScreenUpdating = False
 を入れたあとの計測データです。


> ■-2,With Application
>  は、よく理解できないのです。
> オブジェクトを返すプロパティ・・。
 これまで Withステートメントを使われたことなかったですか?

>  With Application
>   c.Range("A1").Resize(8).Value = .Transpose(r.Range("A1:H1"))
>   c.Range("C1").Resize(8).Value = .Transpose(r.Range("J1:Q1"))
>   c.Range("F1").Resize(8).Value = .Transpose(r.Range("S1:Z1"))
>   
>   c.Range("I1").Resize(8).Value = .Transpose(r.Range("A5:H5"))
>   c.Range("K1").Resize(8).Value = .Transpose(r.Range("J5:Q5"))
>   c.Range("N1").Resize(8).Value = .Transpose(r.Range("S5:Z5"))
>  End With

ここは、With 使わないと、こうなります。
c.Range("A1").Resize(8).Value = Application.Transpose(r.Range("A1:H1"))
c.Range("C1").Resize(8).Value = Application.Transpose(r.Range("J1:Q1"))
c.Range("F1").Resize(8).Value = Application.Transpose(r.Range("S1:Z1"))

c.Range("I1").Resize(8).Value = Application.Transpose(r.Range("A5:H5"))
c.Range("K1").Resize(8).Value = Application.Transpose(r.Range("J5:Q5"))
c.Range("N1").Resize(8).Value = Application.Transpose(r.Range("S5:Z5"))

このように、.Transposeのまえに 毎行 Applicationを書かないといけません。
もちろんそれでよいのですが、あ〜メンドイと思ったら、迷わず、
最初に一回だけ
 With Application
と宣言しておけば、「.Transpose 」とピリオドから打ち込むだけで
ピリオドの前に Applicationオブジェクトがあるかのように動作します。
(Withステートメントを使ったほうが若干動作も速いです)

なお、With に対応する
   End With をお忘れなく。

0 hits

【56864】別シートへ行と列を入れ替えてコピー 初心者さっち 08/7/9(水) 9:11 質問
【56866】Re:別シートへ行と列を入れ替えてコピー ハチ 08/7/9(水) 9:22 回答
【56868】Re:別シートへ行と列を入れ替えてコピー 初心者さっち 08/7/9(水) 11:27 質問
【56869】Re:別シートへ行と列を入れ替えてコピー kanabun 08/7/9(水) 12:02 発言
【56885】Re:別シートへ行と列を入れ替えてコピー 初心者さっち 08/7/9(水) 16:51 お礼
【56873】Re:別シートへ行と列を入れ替えてコピー ハチ 08/7/9(水) 13:19 発言
【56874】Re:別シートへ行と列を入れ替えてコピー ハチ 08/7/9(水) 13:33 発言
【56883】Re:別シートへ行と列を入れ替えてコピー 初心者さっち 08/7/9(水) 16:48 質問
【56886】Re:別シートへ行と列を入れ替えてコピー kanabun 08/7/9(水) 17:18 発言
【56887】Re:別シートへ行と列を入れ替えてコピー ハチ 08/7/9(水) 17:39 発言
【56888】Re:別シートへ行と列を入れ替えてコピー ハチ 08/7/9(水) 17:54 発言
【56897】Re:別シートへ行と列を入れ替えてコピー 初心者さっち 08/7/10(木) 9:07 お礼
【56899】Re:別シートへ行と列を入れ替えてコピー 初心者さっち 08/7/10(木) 10:27 お礼
【56902】Re:別シートへ行と列を入れ替えてコピー ハチ 08/7/10(木) 11:10 発言
【56900】Re:別シートへ行と列を入れ替えてコピー kanabun 08/7/10(木) 10:39 発言
【56901】Re:別シートへ行と列を入れ替えてコピー 初心者さっち 08/7/10(木) 10:56 お礼
【56904】Re:別シートへ行と列を入れ替えてコピー kanabun 08/7/10(木) 11:22 発言
【56918】Re:別シートへ行と列を入れ替えてコピー 初心者さっち 08/7/10(木) 16:10 質問
【56919】Re:別シートへ行と列を入れ替えてコピー kanabun 08/7/10(木) 17:04 発言
【56905】Re:別シートへ行と列を入れ替えてコピー 初心者さっち 08/7/10(木) 12:00 質問
【56906】Re:別シートへ行と列を入れ替えてコピー Abebobo 08/7/10(木) 12:36 発言
【56907】Re:別シートへ行と列を入れ替えてコピー 初心者さっち 08/7/10(木) 13:03 回答
【56908】Re:別シートへ行と列を入れ替えてコピー 初心者さっち 08/7/10(木) 13:15 回答
【56909】Re:別シートへ行と列を入れ替えてコピー kanabun 08/7/10(木) 13:47 発言
【56913】Re:別シートへ行と列を入れ替えてコピー 初心者さっち 08/7/10(木) 14:45 お礼

25161 / 76736 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free