https://oshiete.goo.ne.jp/qa/9671375.html
前回の引き続きです。
よろしくお願いします。
ボタンマクロの名前です。
xlsb'!ボタン2_Click でした。
前回は質問の補足が不足してしまい焦ってしまって、一気に沢山質問してしまい…
混乱してしまいました。1個づつ落ち着いて取り組んでいこうと思います。
よろしくお願いします。
増え続けていくデータの領域指定について、ご教授お願いします。
名前の定義の範囲指定について
シート名は 管理表 です。
AからZ列まであって、
行については増え続けていきます。増えていく行を確認するのは、A列です。
項目名の記載のあるのは、A6です。
データを入力するのは、A7から取りあえず、Z7までにしたいです。
データはこれから増え続ける予定です。
補足として、画像を別添しました。
No.2ベストアンサー
- 回答日時:
まずさあ、
sub ほにゃらか() ’ほにゃらかはあなたがつけたいSub名を自由に
ここに記述しないと!!
End sub
どうやって今まで試してたの?
で
Worksheets("Sheet1”)に変えてもいいって書きましたよね。
Worksheets("管理表”). て、なってないんじゃない?
それとあくまでもそれは入れ物で中身はまだ書いてないからね。
絞り込んでるかいないかをそうやって判断できるから
それぞれの場合でかき分けたらいいかなというもの。
いつもありがとうございます。
今日は過去のスレッドを再確認しながら、オートフィルター部分を再勉強してます。
わからない事ばかりで、何度も質問してしまって、申し訳ない気持ちでいっぱいです。
ついていけるように頑張りますので、またご教授お願いします。
No.15
- 回答日時:
おと、目で追うのは意味をかんがえながらね。
たとえば、反応するのは、g列とq列だっけ?
その他の列の場合と進み方が異なる筈だから、それを確認しながら追うって事です。
No.13
- 回答日時:
黄色はそこで停止してます。
つまり無反応ではありません。
ステップ実行はf8キーです。
どう進んで行って終わるかを
f8キーを押して、目で追ってみてくれませんか?
おはようございます。
お休み中、大変恐れ入ります。
昨日のトラブルの報告をさせてください。
デバック実行しても弾くような電子音がして、実行不可でしたが、新規ブックにコピーで無事稼働しました。
心より感謝しています。
取り急ぎお礼を申し上げます。
No.12
- 回答日時:
最後の画像のコードに関しては、判らないのですが・・・
チェンジイベントで一度エラーが出た場合、その後無反応になることがあります。
ダメ元で次のコトをしてみてください。
新しくExcelを立ち上げる → 元のシートをコピー → まっさらなExcelに貼り付け
(データがあるシートが複数ある場合はシートの数だけコピー&ペースト)
マクロがある場合はマクロのコードをコピー → そのままVBE画面に貼り付け!
※ ブック全体をコピーしないでください。
これでマクロが復活するコトがあります。m(_ _)m
ありがとうございました。
早速新しいエクセルにシートを一つずつコピペして、プライベートモジュールもコピーぺ。標準モジュールもコピペしました。
一番最初に教えていただいた回数指定の列のコピーは無事に動きました。
やはり、2回目に教えていただいたQ列のセルのどれかに該当する番号の(A7以降)コピーどころか、セルの操作をすると応答が無くなってしまいます。
どうしたらよいでしょうか?
No.11
- 回答日時:
>エクセルが応答無くなってしまって
これが全くの無反応なら、まず試してほしいのは
添付の様に
IF Target. で始まる行の横に丸が
有るところをクリックすると
丸がついて行の色が変わります。
これをブレークポインタをセットするといいます。
これで管理表に何か入力したらここで
実行が停止します。
ここで止まるなら無反応ではありません
そうならず無反応ならイミディエイトウィンドウに
Application.EnableEvents=True
とすれば回復するかと。
対応ありがとうございます。夜分にすみません。
早速やりましたが、
if target.の一行目から黄色くなっていました。
補足添付します。
No.10
- 回答日時:
この質問最初の画面が変だなぁ。
どうしてこうなったのかな?
僕は前のスレッドの最後の補足の画面で処理することを
考えてました。K17:L18に入力したので絞るから
そのシートのコマンドボタンで起動。
勿論オートフィルターは管理表シートですが、
そこは手で操作するわけじゃないと。
表示するのも入力した画面だしね。
それがフィルターの詳細設定なら、管理表シートはデータ置き場
というだけで、名前定義さえ済んでたら、その名前しか使わない
考えでした。
前のシートと違う理由は、質問用で並行して勉強して行こうと思い、新たなブックにコピーして、用語を触ったりして、教えて頂いて成功したのを原本に貼り付けていました。
どころが…私の勉強不足から、3月16日16時に頂いたいた、A列のセルの中身が…例えば、A列に123という数字が5行あったら、A列に123と入力された行にQ列で指定した数字をコピーするという大切なプログラムを教えて頂いたのに…
Q列に数字を入れたり、消したりしたら、エクセルが応答無しになってしまうトラブルが発生してしまいました。
とても大事なプログラムです。
助けてください。お願いします。
本当にごめんなさい。自分で何とかしようと頑張ったんですが…難しくて、手に負えませんでした。
助けてください。
よろしくお願いします。
No.9
- 回答日時:
ちょっと整理しておきますね。
それと僕の話とtomo04さんの話は一緒くたにすると意味不明になるから
ブックは別名でお願いします。
>前回のスレッドの質問で、オートフィルターの検索マクロを
この話しの流れは表示的には管理表でオートフィルターをかけるのと
ほぼ同じデータだと。
ただ表示するのは別のシートのK17:L18で指定したもので
管理表をフィルタリングしたデータを、その別シートに
という話でしたよね。
だからオートフィルターで絞り込んだのを、もう一つのシートに
貼り付ける想定で話しかけてました。
補足の②がその時のことです。
オートフィルターで操作するときに事前に絞り込み状態を知って
処理するのが妥当と考えたのです。
その流れの中で、フィルターの詳細設定に、ちょっと横道それましたが
(というか、そっちが本筋で良かったんじゃないかと思うけど、)
補足②でオートフィルターに戻す話を言われたので・・・
動かすこと自体はどっちでも出来ますよ。
ただ、No1に書いた通りですが、管理表のA1:A5は名前定義に
あたって使わない前提ですから、お忘れなく。
いつも大変お世話になっております。
3/16に教えていただいて、ちゃんと動いていたはずの列Qのセルの内、一つに任意数字を入力したら、A1の重複しているすべての番号にコピーされるというマクロを実行したら、エクセルが応答無くなってしまうようになってしまいました。
成功していた分をコピペで何度もリトライしてもダメでした。
助けてください。
取り急ぎ補足説明に画像を添付します。
No.8
- 回答日時:
それでは最後にコードにコメントを記載しておきます。
まず↓の画像の左側「管理表」シートのシートモジュールに↓のコードをコピー&ペースト
Private Sub Worksheet_Change(ByVal Target As Range)
If Target <> "" And Target.Address = "$A$1" Then
Call Sample1
End If
End Sub
次に標準モジュールに↓のコードをコピー&ペースト
Sub Sample1() 'この行から//
Dim lastRow As Long, lastCol As Long, wS As Worksheet
'//「貼り付け用」シートを「wS」という変数に格納//
Set wS = Worksheets("貼り付け用")
'//「管理表」シートの・・・//
With Worksheets("管理表")
'//最終行を取得//
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
'//6行目で最終列を取得//
lastCol = .Cells(6, Columns.Count).End(xlToLeft).Column
'//「貼り付け用」シートのデータを一旦消去//
wS.Cells.Clear
'//「管理表」シートのA列をA1セルのデータをキーとしてフィルタを掛ける//
.Range("A6").AutoFilter field:=1, Criteria1:=.Range("A1")
'//A1セルのデータがあれば表示されているデータを「貼り付け用」シートのA1に貼り付け//
'//(データがない場合は項目行だけの表示になるので「>6」としている)//
If .Cells(Rows.Count, "A").End(xlUp).Row > 6 Then
Range(.Cells(6, "A"), .Cells(lastRow, lastCol)).SpecialCells(xlCellTypeVisible).Copy wS.Range("A1")
'//オートフィルタを解除//
.AutoFilterMode = False
Else
'//A1セルのデータがない場合、メッセージボックスを表示//
.AutoFilterMode = False
MsgBox "該当データなし"
End If
End With
End Sub 'この行まで//
これで「管理表」シートのA1セルにデータを入力してみてください。
※ こちらで上記のコードでは↓の画像のような感じになります。m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- Excel(エクセル) excelの列幅高さが勝手に変わる(特定のPCだけ) 8 2022/07/14 16:51
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける (再質問) 4 2022/09/14 22:51
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Excel(エクセル) 別シートの表の値を参照したい 2 2022/03/30 15:11
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelについて教えてください
-
【マクロ】名前を保存する際に...
-
エクセル マクロ チェックボックス
-
Excel 複数列 A列B列C列一致 D...
-
エクセル vbaについて教えてく...
-
エクセルであるセルに数字を入...
-
【Excel】数字を3倍にし、なお...
-
Excel分析ツールでのポアソン回...
-
エクセルVBA、別ブックへ転記す...
-
【マクロ】顧客番号にて一致さ...
-
Excelでセルの値が同じか...
-
(マクロ)データをAブックからB...
-
エクセルを使っていて2024/5/15...
-
エクセル共有したが、アクセス...
-
エクセル②
-
エクセルのデーターが2か月前の...
-
UNIQUE関数が使えないバージョ...
-
INDIRECTを使わず excelで複数...
-
Excelで縦軸の書式を0:00形式の...
-
【マクロ】読取専用のファイル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報
よく考えたら、この質問には名前の定義は不要なんですよね。
すみませんでした。
これが解決したら、名前の定義について、ゆっくり考えて行きたいと思います。
前回のスレッドの質問で、オートフィルターの検索マクロを教えていただいていたのを思い出しました。
コピペで、ワークシート名を入れたのですが、エラーになってしまいました。
ご教授お願いします。
>次に表示されているVBE画面の左側に「Sheet1(管理表)」と表示されていると思いますので
そこをダブルクリック → 表示されたVBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト
この部分、見つけました。
ありがとうございました。
実行したところ、データが全て消えてしまいました。
私の貼り付けがまずかったのでしょうか?
助けてください(汗)
Qの列のコピーや削除をしたら、エクセルが応答無くなってしまって、困っています。
3/16のスレッドに戻って、何度もトライしているのですが、結果は同じで。
せっかく上手くモジュールが作動して、喜んでいたのに・・・
どうしたらよいのでしょうか?
とても困っています。
一行づつ茶色に反転させて試してみました。
添付の通り、一行目から黄色くなってしまいました。
全部反転して試しました。
画像添付します。