No.10ベストアンサー
- 回答日時:
こんばんわ。
まだ、解決していないみたいですね。ちょっと面倒かもしれませんが、A1に適当な文字(アルファベットでも数字でも何でもよい)を1文字入れてエンターキーを押した時に行が削除できるようにマクロを組んでみました。1行目は、空白行として下さい。次のように操作します。
1.データの入力されているブックを開き、ALT+F11キーを押してVBE画面を表示する。
2.画面左上にあるVBEProjectと書いてある下のSheet1をダブルクリックし、右側の白い部分に下記のコードをコピー・ペーストする。
3.再びALT+F11キーを押してエクセルの画面にもどる
4.A1に適当な文字を1文字入力するとマクロが動作する。
このマクロはA1とA2が同じ・B1とB2が同じ・C1とC2が同じであった時、2行目のデータを削除するようにしてあります。
もし、うまく動作しなかった場合には、VBAProjectの下にブックに挿入されているシートの枚数文(例えばシートが3枚あったとしたらShet1・Sheet2・Sheet3)コードエディタがあります。Sheet2・Sheet3もそれぞれダブルクリックしてそれぞれのコードエディタに同じようにコードを貼り付けて実行してみて下さい。こちらでは確認済みなので多分今度は動作すると思います。
お手数をおかけいたしますが、よろしくお願いいたします。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myRow As Integer
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim myCnt As Integer
If Target.Address = "$A$1" Then
Application.EnableEvents = False
myRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To myRow - 1
If Cells(i, 1).Value <> "" Then
For j = i + 1 To myRow
For k = 1 To 3
If Cells(i, k).Value = Cells(j, k).Value Then
myCnt = myCnt + 1
If myCnt = 3 Then
Rows(j & ":" & j).ClearContents
End If
End If
Next k
myCnt = 0
Next j
End If
Next i
Do
myRow = Cells(Rows.Count, 1).End(xlUp).Row
If Cells(myRow, 1).End(xlUp).Row = 1 Then Exit Do
For i = 2 To myRow
If Cells(i, 1).Value = "" Then Rows(i & ":" & i).Delete
Next i
Loop
Application.EnableEvents = True
End If
End Sub
前回アクセスキーを使ってマクロを実行させようとしましたが、うまく動かなかったので、コマンドボタンで実行させる方法もご紹介しておきます。この方法を実行するには、次のように操作して下さい。
1.データが入力されているシートを開く。
2.メニューバーにマウスポインターを合わせて右クリック
3.出てきたプルダウンメニューのVisualBasicをクリック
4.出てきたツールバーのかなづちとスパナのマーク(コントロールツールボックス)をクリック
5.出てきたツールバーの一番右端の上から2番目(コマンドボタン)をクリックし、配置したい位置にマウスポインターを合わせクリックする。
6.配置されたコマンドボタンをダブルクリックするとVBE画面になり、コードエディターに自動的に
Private Sub CommandButton1_Click()
ここに下のコードをコピー・ペーストする。
End Sub
と表示される。
Dim myRow As Integer
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim myCnt As Integer
myRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To myRow - 1
If Cells(i, 1).Value <> "" Then
For j = i + 1 To myRow
For k = 1 To 3
If Cells(i, k).Value = Cells(j, k).Value Then
myCnt = myCnt + 1
If myCnt = 3 Then
Rows(j & ":" & j).ClearContents
End If
End If
Next k
myCnt = 0
Next j
End If
Next i
Do
myRow = Cells(Rows.Count, 1).End(xlUp).Row
If Cells(myRow, 1).End(xlUp).Row = 1 Then Exit Do
For i = 2 To myRow
If Cells(i, 1).Value = "" Then Rows(i & ":" & i).Delete
Next i
Loop
もし、変更点・ご不明な点がございましたらご遠慮なくお知らせ下さい。
No.9
- 回答日時:
もう1つ質問です。
今現在、どのような事をしているのでしょうか?
例えば、A1セルに手入力で、アドレスを入力しているとすれば、
A1セルに入力後、直ぐに(マクロを実行する為のボタンなどを押さないで)
行を削除するマクロを作る事も出来ます。
もう少し今現在、行っている様子がわかると、A1,B1,C1と入力しないでも
A1のみで、処理することも可能かと思いますので、少し細かい所を教えて頂ければと思います。
No.8
- 回答日時:
#5の補足について
もう少し具体的に教えて頂けますか?
1行目(A1,B1,C1・・・)に入力したアドレスをA2~A?までを検索し、重複した行を削除する
ということでよろしいのでしょうか?
No.7
- 回答日時:
こんばんわ。
マクロダイアログボックスは表示されたとのことですが、そのボックスの右下にあるオプションボタンをクリックしてカーソルが点滅しているところに半角小文字でeと入力してOKボタンをクリックして×ボタンでダイアログボックスを閉じていますよね。それからCTRL+eを押すと砂時計が出てきて画面の変化がないということでよろしいのでしょうか。あなた様はEと大文字でかかれていますが、大文字で入力してしまったということはないですか。もし大文字で入力してしまったのであれば、ctrl+Shift+eキーを同時に押すと動くと思います。
これで動かなかった時は、再度お知らせ下さい。
お手数をおかけいたしますが、よろしくお願いいたします。
この回答への補足
返事遅れてすいません。私の説明、誤解不足でよく
見てみるとアドレスはA1,A2,A3,A4,A5・・・・のように
並んでいました。ひょっとしてこれが原因でしょうか?
大変失礼致しました
No.6
- 回答日時:
こんばんわ。
ワードでは動かないと思います。エクセルで再度実行してみてください。この時の確認なのですが、ALT+F8キーを押した時にマクロダイアログボックスが表示されますでしょうか。
私はエクセル97を使ったことがないので、もしかしたらダイアログボックスが表示されないかもしれません。ダイアログボックスが表示されない場合は、お知らせ下さい。別の操作方法をご紹介したいと思います。
お手数をおかけいたしますが、よろしくお願いいたします。
No.5
- 回答日時:
#4さんへ
ちょっとマクロを見て思った事を2点あげさせてください。
(1)メールアドレスの重複チェックは、A1セルのみ対象でよいのでしょうか?
これは、質問者への補足質問になるのかな?
(2)このマクロだと、同じメールアドレスが2行並んでいると片方しか削除されないとおもいます。
そのような状況が無ければ問題はないでしょうけど。
この回答への補足
お忙しい所すみません
マクロを作っていただく事は可能でしょうか?
A1セルのみ対象ではなくA1,B1,C1,,,,を対象にしたいのですが。。。可能でしょうか?
No.4
- 回答日時:
早速補足いただきまして有難うございます。
サンプルマクロを作ってみました。下記のように操作してみて下さい。1.データの入力されているブックを開き、ALT+F11キーを押してVBE画面を表示する。
2.画面左上にあるVBEProjectと書いてある下のSheet1をダブルクリックし、右側の白い部分に下記のコードをコピー・ペーストする。
3.再びALT+F11キーを押してエクセルの画面にもどる
4.ALT+F8キーを押してマクロダイアログボックスを表示させ、右のオプションをクリックして、カーソルが点滅しているところに小文字でeと入力し、OKボタンをクリックする。その後×ボタンでマクロダイアログボックスを閉じる。
CTR+eを押してみてください。マクロが実行されて削除されているのがお解りいただけると思います。
Sub Test1()
Dim myRange As Range
For Each myRange In Range("A2:" & Cells(Rows.Count, 1).End(xlUp).Address)
If myRange.Value = Range("A1").Value Then
myRange.EntireRow.Delete shift:=xlShiftUp
End If
Next
End Sub
もし、不都合なことがありましたらご遠慮なくお知らせ下さい。
この回答への補足
ありがとうございます
そっそく試してみましたが、CTR+Eを押すと砂時計がでて
何か処理をしようとしているのですが、何も変化がありません WORD97が原因なんでしょうか?
No.3
- 回答日時:
(1)関数式で、自分や他行を削除することは出来ないと思います。
((3)のようにソートを使う一部に関数式を使うのは別として)
(2)ダブっている行を色づけし、削除する手間と正確性を
図ることは出来ます。
A.ダブリを考えている列(仮にA列とする)の最下行まで範囲を指定。
B.書式-条件付き書式-左のボックスで▼をクリックして「数式が」を出す。右のボックスに=countif(a:a,a1)>1と入力
する。
C.「書式」をクリック。
D.「パターン」タブをクリック。色を選ぶ。OKクリック。
E.ダブった行は、色がつくから上から、行削除していく。
削除でダブりが解消されると1つ残った行の色が消える。
(3)別法
ソートしても良いならA列でソートする。B列に列挿入する。
A1はデータなしとする。B2に関数式=IF(A2=A1,"",A2)をいれる。B列最下行まで複写。B列にB列を値複写。B列でソートする。上部のB列の空白部を範囲指定して、行削除する。
アドレスとして働かなくする必要があれば、働かないようにしてから上記を行ってください。
No.2
- 回答日時:
メニューバーの「データ」->「フィルタ」->オートフィルで
メールアドレスの項目で(列)重複データ(特定の)を選択して
その重複データだけを表示させて行削除そすれば良いと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- その他(コンピューター・テクノロジー) パソコンを昨日購入して何も分からない状態で詳しい方教えて頂きませんか? ①YouTubeなどをSaf 5 2022/07/22 22:45
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- X(旧Twitter) Twitterのアカウント消去に関して。 10年ほど前に使っていたアカウントを消去するべく、心当たり 1 2022/11/06 01:21
- ダイヤルアップ operaブラウザのスピードダイヤルの表示が遅いです、解決策はありませんか? 1 2022/11/23 22:19
- Excel(エクセル) エクセルでこのようなことはできますか? 3 2022/07/10 19:57
- iCloud Appleのファイル消去復元についてです。 大事なファイルを消してしまったかもしれません。 使ってい 1 2022/12/26 23:04
- その他(メールソフト・メールサービス) メールアドレスのことです 4 2023/03/07 11:30
- Windows 10 Windows11タスクバーやエクスプローラー、スタートメニュー 動画全画面時にカーソルが見えない 1 2022/04/08 00:03
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの数式について教えてくだ...
-
エクセルの「赤」の印刷がうま...
-
エクセル おすすめフォント
-
pdfの表をexcelにはりつけて計...
-
[オプション]の[アクセスビリテ...
-
Excelのデーターを消して保存し...
-
エクセルの「入力規則」のプル...
-
エクセルで特定のセルに入力が...
-
関数の説明
-
CSVファイルについて質問です。
-
エクセルで不等号記号(≠)が上に...
-
UNIQUE関数が使えないバージョ...
-
Excelについて
-
【マクロ】名前を保存する際に...
-
エクセルであるセルに数字を入...
-
Excelにいついて質問です。
-
Excelの関数について教えてくだ...
-
Excel ピボットテーブルで日付...
-
Excelでセルの値が同じか...
-
エクセルでの作業計算方法について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報