Excel VBA質問箱 IV

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

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


37363 / 76738 ←次へ | 前へ→

【44546】Re:データの抽出コピーでリソース不足エラー
発言  Jaka  - 06/11/21(火) 11:19 -

引用なし
パスワード
   例えば、これ↓
>Range("A2:BP2").Select
>Range(Selection, Selection.End(xlDown)).Select
この書き方なんですが、前にもどこかで質問者が書いているのを見かけたことがあるんですが、何でこんな書き方をするのか解りませんでした。
データ状態によって、下記コードのようになってしまいますよ。
1度、新規シートで、実行してみてください。

Sub abcd1()
 Range("A2:N15").Value = 5
 Range("A11:A15").Value = Empty
 Range("A2:N2").Select
 Range(Selection, Selection.End(xlDown)).Select
End Sub

Sub abcd2()
 Range("A2:N15").Value = 5
 Range("M16:M20").Value = 5
 Range("A2:N2").Select
 Range(Selection, Selection.End(xlDown)).Select
End Sub

・書式もフィルするから、必要なかったら後で書式を修正する手間が要ります。
 でも、連番の作成は1番早いです。

>      Range("B65536").Select
>      Selection.End(xlUp).Select
>      最大行 = ActiveCell.Row
>      Range("a2").Select
>      If 最大行 = 1 Then

>      Else
>        For k = 2 To 最大行
>          Cells(k, 1).Value = k - 1
>        Next
>      End If

       ↓

      最大行 = Range("B65536").End(xlUp).Row
      If 最大行 <> 1 Then
       With Range("B2")  '←スタート位置
         With .Resize(最大行 - .Row + 1).Offset(, -1)
           .Cells(1).Value = 1
           .DataSeries Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, _
                 Step:=1, Trend:=False
         End With
       End With
      End If

・オートフィルター使用時は、マクロ記録をそのまま使用せずに
 範囲がB2:AA2だったら、左端の始点セルを指定しておく
 また、いちいちシートを選択しなくてもできます。

>     Sheets("サンプルリスト").Select
>     Selection.AutoFilter Field:=68, Criteria1:=項目コード
       ↓
      Sheets("サンプルリスト").Range("B2").AutoFilter Field:=68, Criteria1:=項目コード
                     ↑例えばだけど....。

・↓を修正しようと思いましたが、何でエラートラップしてあるのでしょうか?
 この辺は、上記したことが判明しないと修正できませんけど
 なんとなく、データ量が多すぎる、SpecialCells(コードには書いてないけど)の最大認識数に
 関係しているのかな?と思います。
>     Range("B2:BP2").Select
>     On Error GoTo tugi
>     Range(Selection, Selection.End(xlDown)).Select
>     Selection.Copy
>     On Error GoTo tugi

なんか課題が多いようですから、少しづつ修正していくほかないような気もします。

これなんか選択しなくてもできますよ。
>     Worksheets(Array(i)).Select
>     Range("B2").Select
>     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
>     :=False, Transpose:=False
       ↓
      Worksheets(Array(i)).Range("B2").PasteSpecial Paste:=xlPasteValues, _
           Operation:=xlNone, SkipBlanks:=False, Transpose:=False
0 hits

【44496】データの抽出コピーでリソース不足エラー こなつ 06/11/19(日) 20:03 質問
【44506】Re:データの抽出コピーでリソース不足エラー こなつ 06/11/20(月) 9:07 質問
【44510】Re:データの抽出コピーでリソース不足エラー Jaka 06/11/20(月) 11:25 発言
【44519】Re:データの抽出コピーでリソース不足エラー こなつ 06/11/20(月) 13:48 お礼
【44522】Re:データの抽出コピーでリソース不足エラー りん 06/11/20(月) 14:48 発言
【44528】Re:データの抽出コピーでリソース不足エラー Jaka 06/11/20(月) 16:36 発言
【44537】Re:データの抽出コピーでリソース不足エラー こなつ 06/11/20(月) 21:32 発言
【44546】Re:データの抽出コピーでリソース不足エラー Jaka 06/11/21(火) 11:19 発言
【44566】Re:データの抽出コピーでリソース不足エラー こなつ 06/11/21(火) 22:20 お礼

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