
No.5
- 回答日時:
>しかし、これでは空白行の下の方の合計の行まで削除されてしまいます。
Range("A" & Rows.Count).End(xlUp).Offset(1)はA列の最終行のひとつ下という意味です。
A100は適当に思う数字に変えて下さい。
Range(Range("A" & Rows.Count).End(xlUp).Offset(1), Range("A100")).EntireRow.Delete xlShiftUp
>それからついでなのですが、VBAを理解するのに良いサイトがあれば教えていただきたいのですが。
私は全て独学なので、初心者にとってどういうのがわかりやすいのかが私には理解出来ません。
「良い」かどうかは、ご自身で判断するものなので、これについての回答は控えます。
この回答への補足
解答ありがとうございます。
Range("A" & Rows.Count).End(xlUp).Offset(1)はA列の最終行のひとつ下という意味です。
ですね、勉強しましたのでわかりますが、
これですと、つまりA50行目までデータが入っていたとしてA51行目から下に空白を検索して
A100迄を削除しなさいってことですよね。
しかしこれですと下全部がやはり削除されるみたいです。
たとえばA101行目に合計欄があるとして、A51からA100までを削除したいのですが、
教えて頂いた上記の書き方では駄目みたいなのですが?
たびたび済みませんが、宜しくお願いします。
そうか、わかりました、
Range("A" & Rows.Count).End(xlUp).Offset(1)は
つまり上から下に最終行を見ていく際、A101に合計欄があるからA102を
示す訳ですね、だからA102行目から上に50行削除された訳ですね。
では、A101行目に合計欄があるとして、A51からA100までを削除したい場合は
どのように書いたらよいのでしょうか?
サイトの件はわかりました、確かに人によって理解の仕方違いますし、よけいな事聞いてすみませんでした。
宜しくお願いします。
No.4
- 回答日時:
A列の最終行から下をすべて削除するコードです。
Range(Range("A" & Rows.Count).End(xlUp).Offset(1), Range("A" & Rows.Count)).EntireRow.Delete xlShiftUp
この回答への補足
ありがとうございます。
色々とお手数をお掛けしております。
しかし、これでは空白行の下の方の合計の行まで削除されてしまいます。
行を指定して削除したいのですが...。
それからついでなのですが、VBAを理解するのに良いサイトがあれば教えていただきたいのですが。
色々調べておりますが、なかなkわかりやすいサイトがないものでして...。
すみませんが、宜しくお願いします。
行を指定した削除でなく、たとえば、A列に日にち、B列に社名、C列20行目に合計をしているとして、
19行目から上の空白を削除するように下記のように書きましたが動きません。
どこが違うのかご教授、宜しくお願いします。
Range(Range("A4", Range("A19").EntireRow.End(xlUp).Offset(1).EntireRow.Delete xlShiftUp
No.3
- 回答日時:
>1の余った行を削除出来る様にするにはどうやればよいのでしょうか?
ちょっと意味がわかりかねます。
当初の質問からかなりずれているのでは?
この回答への補足
説明不足で済みません、
A列に日にち、B列に社名、C列に金額、C100に合計欄という表を作っていて
たとえば、A列1~C列10までデータを入力していき、
70行迄しかデータがなかった場合、A71行からA99行までの空行は削除したいっていう
意味です。
教えて頂いたVBAでは上記の作業は出来ないみたいですので出来る様に出来ないかと
思いまして、よろしくお願いします
No.2
- 回答日時:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
SendKeys "%{DOWN}"
End If
End Sub
A1:A10であれば、できます。
>また、sheet1、sheet2とsheetごとに書かなければならないのでしょうか?
全シートであれば、ThisWorkbookに以下の様にすれば、1回で済みます。
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
SendKeys "%{DOWN}"
End If
End Sub
この回答への補足
解答ありがとうございました。出来ました。
重ねて質問なのですが、
1.データを入力していって余った行を削除する場合があるのですが、
これでは削除できないみたいですね。
2.B列、C列にも設定する場合はどうやるのでしょうか?
上記の中に記入しないといけないのでは無いかと思い、&でつないでみたり
しましたが、わかりません。
よろしくお願いします。
2の離れた列に設定する場合は出来ました。
単にRange("A1:A10,C1:C10")これでいいわけですね。
1の余った行を削除出来る様にするにはどうやればよいのでしょうか?
宜しくお願いします。
No.1
- 回答日時:
そんな方法はSendkeyしかないと思います。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then
SendKeys "%{DOWN}"
End If
End Sub
この回答への補足
早速の解答ありがとうございます。
やってみましたが、動かず色々調べておりますが、どうも上手くいきません。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then
SendKeys "%{DOWN}"
End If
End Sub
A1のセルに来たらリスト表示するという意味でしょうか?
たとえば、A1にA、A2にB、A3にCとあり、B列にドロップダウンリストの設定をしているとう事で
したらどうなるのでしょうか?
宜しくお願いします。
出来ました。
これは各sheetに書かなければならないのですね。
最初、標準モジュールとかクラスモジュールに書いたから動きませんでした。
それで質問なんですが、
例えば、A1に会社名としてB1にA社、B2にB社、B3にC社としてA列2から下へと
データを入力していき、自動表示をさせたいのです。
If Target.Address = "$A$2"を"$A$2:$A$10"としても駄目みたいですね。
列を指定することが出来るのでしょうか?
出来れば、A2以下でその設定が出来ればよいのと、行を削除してもエラーにならないように
したいです。
また、sheet1、sheet2とsheetごとに書かなければならないのでしょうか?
色々勉強しましたが、いまいちわかりません。
どうかよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA ドロップダウンリストを残して値のみクリア 2 2022/10/27 05:42
- Excel(エクセル) エクセルで値ではなく関数を参照する方法 6 2023/03/19 00:50
- Excel(エクセル) エクセルにサムネイル画像組み込み 2 2022/09/02 17:13
- Excel(エクセル) Excelの機能に関してです ドロップダウンリストをB3セルに設定します 元データはB3~B1000 2 2023/07/22 09:20
- Excel(エクセル) エクセルについて質問です 1 2022/12/10 11:49
- Excel(エクセル) Excel VBA セルの書式設定 2 2022/03/30 10:48
- Excel(エクセル) エクセルで条件付き書式を使わずにセルの文字の色を変える方法を教えて下さい 8 2023/07/28 01:15
- Excel(エクセル) IF 関数で「〇〇 という文字を含む場合」の分岐処理で表示された数字はSUMで数字集計できますか? 3 2022/08/02 16:29
- Excel(エクセル) エクセルの祝日に色が反映しない 4 2022/05/18 09:58
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
このQ&Aを見た人はこんなQ&Aも見ています
-
ドロップダウンリスト 自動表示したい
Excel(エクセル)
-
excel入力セルをクリックしただけで(▽をクリックしないで)選択肢を表示させる方法
Excel(エクセル)
-
VBAで、なぜかSendkeyが効きません。
PowerPoint(パワーポイント)
-
-
4
【sendkeysメソッドが動かずに苦慮しております】
Visual Basic(VBA)
-
5
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
6
テキストボックス(VBA)でEnterを押したときに作動するマクロ
Access(アクセス)
-
7
エクセルVBAでNumLockキーの状態を確認する
Excel(エクセル)
-
8
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
9
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
10
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
11
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
12
エクセルのVBA 特定のセルでエンターキーでマクロ実行
Excel(エクセル)
-
13
VBAでセルをクリックする回数で表示が変わる
その他(プログラミング・Web制作)
-
14
コンボボックスの開いたリストを閉じるには
Access(アクセス)
-
15
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
16
excelで セルの移動時にマクロ実行を設定したい。
Excel(エクセル)
-
17
エクセルでセル未入力時の初期値設定はできますか?
Excel(エクセル)
-
18
Excel VBA あるセルでENTERを押すと特定のセルへ移動したい
Excel(エクセル)
-
19
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
20
ドロップダウンさせるボタンを出したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
エクセルで質問です。 ハイパー...
-
大学のレポート A4で1枚レポー...
-
マクロ自動コピペ 貼り付ける場...
-
エクセル 同じ数字を他の列に自...
-
Officeを開くたびの「再起動メ...
-
Excel 日付を比較したら、同じ...
-
パソコンWindows11 Office2021...
-
別シートの年間行事表をカレン...
-
Microsoft Formsの「個人情報や...
-
Microsoft365、ページ設定がで...
-
快活CLUBについて 私用で使う書...
-
Office2021を別のPCにインスト...
-
MicrosoftOfficeについて質問で...
-
エクセルからメールを作れるか...
-
libreoffice calcで行を挿入し...
-
outlookのメールが固まってしま...
-
エクセル:一定間隔で平均値を...
-
Office 2021 Professional Plus...
-
【Excel VBA】PDFを作成して,...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
Office2021を別のPCにインスト...
-
大学のレポート A4で1枚レポー...
-
Microsoft365について
-
outlookのメールが固まってしま...
-
英数字のみ全角から半角に変換
-
Office 2021 Professional Plus...
-
エクセルVBAで1004エラーになり...
-
エクセルで特定のセルの値を別...
-
MSオフィス2013にMS365が上書き...
-
Microsoft Formsの「個人情報や...
-
【Excel VBA】PDFを作成して,...
-
別シートの年間行事表をカレン...
-
office2019 のoutlookは2025年1...
-
マクロ自動コピペ 貼り付ける場...
-
表の作成について
-
office365 回復できない。
-
マイクロソフト 一時使用コード...
-
Teams内でショートカットって貼...
-
Microsoft Office Homeインスト...
おすすめ情報