Excel VBA質問箱 IV

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

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


45208 / 76732 ←次へ | 前へ→

【36526】Re:初心者なのでおしえてください
回答  クウガ E-MAILWEB  - 06/4/2(日) 14:30 -

引用なし
パスワード
   ▼komoro さん:
クウガでございます。
私は、Select したり、Copy Paste したりするのは、
できるだけ、省いたほうがいいかと思いますので、

>Sub test()

>Sheets("Sheet1").Select
>Range("J2") = 1
ここは、Sheets("Sheet1").Select する必要は無いと思いますので、
Sheets("Sheet1").Range("J2") = 1
でいいのではないのでしょうか。

>    
>  AA = 3
> 
>For i = 1 To 10


>  Sheets("Sheet2").Activate
>   Cells(AA, 1).Select
ここは、いりません。


>If Sheets("Sheet2").Cells(AA, 1) > 0 Then
>  Sheets("Sheet1").Range("H2") = Sheets("Sheet2").Cells(AA, 1)
 
 
>  Sheets("Sheet2").Cells(AA, 2).Copy
>  Sheets("Sheet1").Activate
>  Range("I2").Select
>  Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
>    False, Transpose:=False
>  Application.CutCopyMode = False
>  Range("A1").Select
ここは、
Sheets("Sheet1").Range("I2") = Sheets("Sheet2").Cells(AA, 2)
で、よろしいのでは?

  
>  Sheets(1).Range("A3:D20").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
>   Range("H1:J2"), CopyToRange:=Range("F3:I3"), Unique:=False

  
>   Sheets("Sheet1").Range("K2").Copy
>  Sheets("Sheet2").Activate
>  Cells(AA, 3).Select
>  Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
>    False, Transpose:=False
ここも、
Sheets("Sheet2").Cells(AA, 3) = Sheets("Sheet1").Range("K2")
で、よろしいのでは?

  
>  End If
> AA = AA + 1
> Next
>End Sub


あと、With を使った場合、省けるところは省けますので、
使った方がいいかと思います。

Sheets("Sheet1").Range("I2") = Sheets("Sheet2").Cells(AA, 2)
Sheets("Sheet2").Cells(AA, 3) = Sheets("Sheet1").Range("K2")

With Sheets("Sheet2")
  Sheets("Sheet1").Range("I2") = .Cells(AA, 2)
  .Cells(AA, 3) = Sheets("Sheet1").Range("K2")
End With

先に、Sheets("Sheet1")を Activate にしておけば、

Sheets("Sheet1").Activate
With Sheets("Sheet2")
  Range("I2") = .Cells(AA, 2)
  .Cells(AA, 3) = Range("K2")
End With

に、なります。
最初から、よーく目を通していけば、
この Selectは、必要かな?とか、省ける所は出てくると思いますので、
色々考えてみてください。

3 hits

【36480】初心者なのでおしえてください komoro 06/4/1(土) 12:08 質問
【36483】Re:初心者なのでおしえてください クウガ 06/4/1(土) 16:34 回答
【36484】Re:初心者なのでおしえてください ちゃう 06/4/1(土) 16:45 発言
【36486】Re:初心者なのでおしえてください クウガ 06/4/1(土) 17:21 発言
【36487】Re:初心者なのでおしえてください クウガ 06/4/1(土) 17:31 発言
【36496】Re:初心者なのでおしえてください komoro 06/4/2(日) 7:12 質問
【36497】Re:初心者なのでおしえてください クウガ 06/4/2(日) 8:20 回答
【36518】Re:初心者なのでおしえてください komoro 06/4/2(日) 13:15 質問
【36525】Re:初心者なのでおしえてください Kein 06/4/2(日) 14:05 回答
【36528】Re:初心者なのでおしえてください クウガ 06/4/2(日) 14:32 発言
【36530】Re:初心者なのでおしえてください Kein 06/4/2(日) 14:46 発言
【36533】Re:初心者なのでおしえてください komoro 06/4/2(日) 17:10 発言
【36534】Re:初心者なのでおしえてください Kein 06/4/2(日) 17:32 発言
【36536】Re:初心者なのでおしえてください komoro 06/4/2(日) 19:50 発言
【36537】Re:初心者なのでおしえてください Kein 06/4/2(日) 22:19 発言
【36539】Re:初心者なのでおしえてください komoro 06/4/3(月) 8:15 お礼
【36526】Re:初心者なのでおしえてください クウガ 06/4/2(日) 14:30 回答
【36532】Re:初心者なのでおしえてください komoro 06/4/2(日) 17:06 発言
【36535】Re:初心者なのでおしえてください 白い鳩 06/4/2(日) 18:55 発言
【36540】Re:初心者なのでおしえてください komoro 06/4/3(月) 8:27 お礼

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