| 
    
     |  | 教えて頂いた方法で試したところ上手くいきました。 どうもありがとうございました。
 分けて記載するという方法もあるのですね。
 勉強になりました。
 
 
 ▼sa さん:
 >Selection.Copy やActiveSheet.Paste
 >するんでしたら
 >シートでselect方が良いような気がいます
 >それと
 >シートにボタンがあるので
 >シートがいろいろとSelectされるとうまく動かないので
 >標準モジュールにソースを書いて
 >CommandButton1_Click()で実行させてはどうでしょう
 >
 >Private Sub CommandButton1_Click()
 >
 > Application.ScreenUpdating = False '←画面のちらつき防止(画面の処理を止める)
 >  Call Button1
 > Application.ScreenUpdating = True  ’←画面戻す
 >
 >End Sub
 >
 >
 >↓↓↓ 標準モジュールにソースを書く ↓↓↓
 >
 >
 >Public Sub Button1()
 >
 >Dim 行, 空き行
 >行 = 2
 >空き行 = 2
 >
 >Do While Sheets("東京").Cells(行, 4) <> ""            '「東京」シートの○×のセルが空欄でなく
 >
 >  If Sheets("東京").Cells(行, 4) = "×" Then          '○×のセルが「×」の時
 >
 >  Sheets("東京").Select
 >  Range(Cells(行, 1), Cells(行, 4)).Select    'その行の範囲を選択し ←ココがエラー
 >
 >  Selection.Copy                        'コピー
 >
 >    Do While Sheets("結果").Cells(空き行, 1) <> ""      '「結果」シートの行が空欄でなかったら
 >
 >      空き行 = 空き行 + 1                  '空欄の行が見つかるまで検索
 >
 >    Loop
 >
 >  Sheets("結果").Select
 >  Cells(空き行, 1).Select            '空欄の行を選択
 >  ActiveSheet.Paste                       '貼り付け
 >
 >  End If
 >
 >行 = 行 + 1                            '「東京シート」の次の行
 >
 >Loop
 >
 >End Sub
 
 
 |  |