- ベストアンサー
EXCELに詳しい方への質問
- EXCELに詳しい方への質問です。セルA1に「食費」「交際費」と記載するとセルB1に記載されていたものが消えるようにする方法を教えてください。
- また、A1にアルファベットと数字の文字、C1には数字があるときにB1に1から連続した数字を自動的に割り振られるようにする方法も教えてください。
- マクロを使わずに設定する方法があれば教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
No.3です! たびたびごめんなさい。 前回の投稿で説明が抜けていました。 ・・・右クリック → コードの表示 → VBE画面が出ますので・・・ の後は 前回載せたコードをコピー&ペースト → ExcelSheet画面に戻る → 範囲指定 → マクロを実行です。 何度も失礼しました。m(_ _)m
その他の回答 (4)
- mar00
- ベストアンサー率36% (158/430)
A列を入力してC列に入力が無いという事はないと思いますが、A列に入力がある場合C列にも入力があり、かつC列は連続したデータ(途中に空白セルがない)であるという事が前提です。 入力後、A列、C列の修正があった場合の事を想定して、必ず2行目から動作するようにしています。 大量のデータを入力する場合は、動作がどんどん遅くなっていくのでおすすめしません。 1 行目にタイトル行で2行目から実データとして Private Sub Worksheet_SelectionChange(ByVal Target As Range) With ActiveSheet.UsedRange MaxRow = .Rows(.Rows.Count).Row End With For INP = 2 To MaxRow If Range("A" & INP) = "交際費" Or Range("A" & INP) = "食費" Or Range("C" & INP) = "" Then Range("B" & INP) = "" ElseIf Range("A" & INP) <> "" Then Range("B" & INP) = 1 Else If Range("B" & INP - 1) = "" Then Range("B" & INP) = "" Else Range("B" & INP) = Range("B" & INP - 1) + 1 End If End If Next INP End Sub Sheet見出し上で右クリック → コードの表示 → VBE画面が出ますので貼り付けてください。 あとは普通にデータを入力していけば動作します。 すべての入力が終わってから動作すればいいのであれば Private Sub Worksheet_SelectionChange(ByVal Target As Range)の部分を Sub Macro1()にしてマクロを実行して下さい。
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 横からお邪魔します。 (1)はちょっと保留にさせてください。 (2)に関してはNo.1さんから回答が出ていますので・・・ No.2さんの補足内の >1回目入力し2回目以降、自分でいれたデータを自分で消せばいいですが >消し忘れがないように自動でセルのデータを削除できるようにしたいです に関してだけの投稿です。 VBAになってしまいますが・・・ 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので データ範囲(数式が入っていても問題ありません)を範囲指定し、マクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub 消去() 'この行から Dim c As Range For Each c In Selection If Not c.HasFormula Then c.ClearContents End If Next c End Sub 'この行まで ※ 必ず範囲指定後、マクロを実行してください。 これで数式はそのまま残り、生データが消去されると思います。 参考になりますかね?m(_ _)m
- imogasi
- ベストアンサー率27% (4737/17069)
質問が不完全。 どういう意図でこういうことがやりたいのか。 B1には現在、または質問実現後も数式が(入っている、入れたい)るのか?どういう数式? =IF(A1="食費","",数式)ではダメなのか(交際費は別にして、2つならAND関数利用。)? >EXCELに詳しい方、 そんなことを書く前に、したいことを十分読者あて、十分文章表現できるだけの、エクセルの色んなケースを勉強のこと。 詳しい人も質問の意味がわからなければどうしようもないだろう。 VBAも良いが質問者はVBAの経験はないのだろう? 条件付き書式でA1セルの値が食費なら、B1セルの文字のフォント色を白色にするのはどうか?
- keithin
- ベストアンサー率66% (5278/7941)
>消す 条件付き書式で文字色を白(セルの塗り色と同じ)にして,消えているように見せます。 言わずもがなですが,実際のデータは残ってます。 >連続した数字 ご相談で例示されたような,1行目からいきなりデータみたいな表の作り方はしません。 1行目にタイトル行で2行目から実データとして B2: =IF(C2="","",SUM(1,IF(A2="",B1))) 以下コピーして埋めておく
補足
説明不足ですみません。 EXCELについは関数の一部を勉強したくらいでVBAも知りません。 EXCELからシステムにアップするためのEXCELのフォーマットをつくりたいのです。 このフォーマットは何度も繰り返し使います 1回目入力し2回目以降、自分でいれたデータを自分で消せばいいですが 消し忘れがないように自動でセルのデータを削除できるようにしたいです 白色にするのではなく元のデータを完全になくしたいです。