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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
ドロップダウンリスト 自動表示したい
Excel(エクセル)
-
excel入力セルをクリックしただけで(▽をクリックしないで)選択肢を表示させる方法
Excel(エクセル)
-
VBAで、なぜかSendkeyが効きません。
PowerPoint(パワーポイント)
-
-
4
Excel VBA あるセルでENTERを押すと特定のセルへ移動したい
Excel(エクセル)
-
5
ドロップダウンさせるボタンを出したい
Excel(エクセル)
-
6
【sendkeysメソッドが動かずに苦慮しております】
Visual Basic(VBA)
-
7
Excel VBA:ComboBoxのドロップダウンリストで文字が欠ける
Excel(エクセル)
-
8
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
9
ドロップダウンリストの行を増やしたいです。VBA。
Visual Basic(VBA)
-
10
エクセルVBAでNumLockキーの状態を確認する
Excel(エクセル)
-
11
フォントの大きさ
Visual Basic(VBA)
-
12
別のシートから値を取得するとき
Visual Basic(VBA)
-
13
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
14
標準モジュール、フォームを別のブックにコピーするには?
Excel(エクセル)
-
15
エクセルvba (ByVal Target As Range)について
Excel(エクセル)
-
16
エクセルでエンターを押すと任意のセルに移動は出来ますか?
その他(コンピューター・テクノロジー)
-
17
エクセルVBAでフォームのListboxをスクロールするには?
その他(Microsoft Office)
-
18
プルダウンで選択すると隣のセルに自動で入力される方法
その他(ビジネス・キャリア)
-
19
コンボボックス ▼ボタンをクリックしたらイベント
PowerPoint(パワーポイント)
-
20
エクセルで、入力したい品名の最初の文字を入力した時に、候補を表示する方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
【スプレッドシート】指定の日...
-
エクセルにリンクされるのをし...
-
office365って抵抗感ないですか?
-
Office2021を別のPCにインスト...
-
大学のレポート A4で1枚レポー...
-
<条件追加/スプレッドシート>...
-
バソコンが二台とも壊れ後換装...
-
【Excel VBA】PDFを作成して,...
-
会社PCのメールが更新されない
-
エクセルで例えば、関数を使っ...
-
VBA
-
Microsoft Officeを2台目のPCに...
-
何文字超えたファイルだけを抽...
-
エクセルでXLOOKUP関数...
-
マイクロソフト 一時使用コード...
-
Microsoft365で写真をアルバム...
-
PC officeのアイコンを触ってい...
-
Microsoft Formsの「個人情報や...
-
Excelについて教えてください。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
マイクロソフト 一時使用コード...
-
英数字のみ全角から半角に変換
-
Office2021を別のPCにインスト...
-
Microsoft Formsの「個人情報や...
-
officeビジネス型のワードやエ...
-
会社PCのメールが更新されない
-
【スプレッドシート】指定の日...
-
Microsoft Officeを2台目のPCに...
-
何このステータスバー
-
2つのシートの一致する行のセ...
-
会社のTeamsのことで相談です。...
-
エクセルにリンクされるのをし...
-
Windows 11で、IME言語バー(IM...
-
office2010とoffice365の共存で...
-
Microsoftのパソコンです。 エ...
-
エクセルでXLOOKUP関数...
-
Excel関数について質問ですm(__)m
-
VBA
-
自分の専門分野の仕事。初見で...
おすすめ情報