こんにちは。
エクセル2002を使用しています。
VBAで、開始行を入力させ開始行+38行を削除するような
マクロを作りました。
Sub 削除()
Dim Sline As Integer, Eline As Integer
Dim S As String
'開始行の入力
Sline = Application.InputBox(prompt:="削除開始 行を入力して下さい。",Type:=1)
'開始行が入力された場合
If Sline <> False Then
'開始行のチェック
'終了削除行のセット
Eline = Sline + 37
'削除確認メッセージ
S = MsgBox(Sline & "~" & Eline & _
"行を削除します。", _
vbOKCancel + vbExclamation, _
"行削除確認")
If S = vbOK Then
Rows(Sline & ":" & Eline).Select
Selection.Delete Shift:=xlUp
End If
End If
End Sub
これを実行すると
Selection.Delete Shift:=xlUp のところで、
実行時エラー 1004
RangeクラスのDeleteメソッドが失敗しました。
でとまってしまいます。
どなたか対応策を教えてください。
よろしくおねがいいたします。
No.2
- 回答日時:
#1の方に同意です。
削除処理の前に
ActiveSheet.Unprotect
処理の後に
ActiveSheet.Protect
を追加してみてください。
happypointさん、こんにちは。
「シートを保護していた」とは質問に書いていな
かったのに即解明されたとは・・・・。
自分の勉強不足を痛感させられました。
ありがとうございました。
No.3
- 回答日時:
こんにちは。
Excel97で試しましたが、少なくともExcel97ではシート保護の場合に出るメッセージとは異なるようです。
expression を省略した場合に、起こる事が多い現象だと思っています。
おまじないで削除処理の前に ActiveCell.Activate を入れてみてはどうでしょうか?
例は下記の点も手を加えてます。
1.Integerの範囲を超えるケースを想定し、変数 Sline と Eline を Long に。
2.MsgBoxの戻り値はInteger型なので、変数 S を Integer に。
3.65536行を超えないように処理を追加。
Sub 削除()
Dim Sline As Long, Eline As Long, S As Integer
Sline = Application.InputBox("削除開始行を入力して下さい。", Type:=1)
'Falseなら抜ける
If Sline = False Then Exit Sub
'最大行を超えたら最大行まで
if Sline > 65536 Then
MsgBox "最大行を超えています",vbOKOnly,"終了" : Exit Sub
End If
Eline = Sline + 37
If Eline > 65536 Then Eline = 65536
S = MsgBox(Sline & "~" & Eline & "行を削除します。", _
vbOKCancel + vbExclamation, "行削除確認")
'OK以外なら抜ける
If S <> vbOK Then Exit Sub
'おまじない
ActiveCell.Activate
Rows(Sline & ":" & Eline).Delete Shift:=xlUp
End Sub
No.4
- 回答日時:
なんか、他の方に使ってもらうことを考慮したか、複雑にしてありますが、骨子の
(1)
Sub test02()
s = InputBox("削除開始行=")
Rows(s & ":" & s + 3).Delete
End Sub
は私もテストしたが、動きました。
(2)
Sub test02()
s = Application.InputBox(prompt:="削除開始行を入力して下さい。", Type:=1)
Rows(s & ":" & s + 3).Delete
End Sub
も動きました。
(3)
Sub test02()
s = Application.InputBox(prompt:="削除開始行を入力して下さい。", Type:=1)
Rows(s & ":" & s + 3).Select
Selection.Delete Shift:=xlUp
End Sub
も動きました。
ロジックの問題ではないですね。
imogasiさん、こんにちは。
そうなんです、他の人間に頼まれてこのようなこと
をしております。(初心者の私に頼むほど超初心者からの
依頼です)
いろいろ試していただいてありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
都道府県穴埋めゲーム
都道府県の名前を1人1つずつ投稿してください。全ての都道府県が出たら締め切ります!
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
VBAで行削除のできない場合がある
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
-
4
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
5
エクセルVBAのDeleteキーによるエラー
Excel(エクセル)
-
6
EXCEL VBA マクロ 実行する度に処理速度がどんどん遅くなる原因が知りたい
Excel(エクセル)
-
7
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
8
エクセルのマクロで結合セルに値を貼り付けたい
Excel(エクセル)
-
9
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
10
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
11
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
12
実行時エラー -'-2147417848
Excel(エクセル)
-
13
Rangeメソッドは失敗しました。globalオブジェクトについて
Excel(エクセル)
-
14
[Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。
Visual Basic(VBA)
-
15
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
16
Excel VBA あるセルでENTERを押すと特定のセルへ移動したい
Excel(エクセル)
-
17
VBAでの結合セルのコピー&ペースト
Excel(エクセル)
-
18
VBAコード記述に際して、コード全体を自動的にインデント付ける方法
Access(アクセス)
-
19
エクセルVBAでオートフィルター最上行を取得するには
Excel(エクセル)
-
20
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Yahooフリマってどれくらい時間...
-
もう関わりたくない人がいたらL...
-
ウェブページへのアクセス不可 ...
-
ダブルクォーテーションの削除...
-
指定した文字があった場合、そ...
-
VBA:Openステートメントで開い...
-
DELETE文とTRUNCATE文の違いに...
-
離婚後の連絡
-
女友達にLINEしたら、既読スル...
-
iphoneに登録した顔文字を消し...
-
アクセスにおいて間違って削除...
-
VBA IF文でORを使ったとき後ろ...
-
ヤフー知恵袋は違反通報しても...
-
BOX Fresh で質問に回答したの...
-
職場の人と仕事中に喧嘩して LI...
-
質問とまったく違う回答してく...
-
セルの保護について
-
iPhoneのSafariについてです! ...
-
すべてやりきった、大満足を意...
-
削除されるの前提で質問するこ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えてgooの裏事情
-
Yahooフリマってどれくらい時間...
-
Facebookメッセンジャーの不具合
-
もう関わりたくない人がいたらL...
-
VBA:Openステートメントで開い...
-
喧嘩をしてLINE削除され、 また...
-
指定した文字があった場合、そ...
-
これはやらせですよね?
-
何回ぐらい質問を削除されると...
-
エクセルで住所の混在する「丁...
-
BOX Fresh で質問に回答したの...
-
(Access)複数条件の重複デー...
-
アクセスにおいて間違って削除...
-
インスタアカウント、前の携帯...
-
エクセルVBAで行削除時にエラー...
-
ウェブページへのアクセス不可 ...
-
告白してフラれた相手の連絡先...
-
google chromeのブックマークが...
-
女友達にLINEしたら、既読スル...
-
すべてやりきった、大満足を意...
おすすめ情報