- ベストアンサー
Excel VBAで指定されたセルをクリアする方法
- この記事では、Excel VBAを使用して特定の条件で指定されたセルをクリアする方法について説明します。
- 具体的には、E14が×の場合はF20~I20のセルをクリアし、F14が○の場合はF20のセルをクリア、G13が○の場合はG20のセルをクリア、H13が○の場合はH20のセルをクリア、I13が○の場合はI20のセルをクリア、J13が○の場合はJ20のセルをクリアします。
- VBAのIF文ではセルのクリアができないため、条件に応じてセルをクリアするためのコードを使用します。また、IF文を使用して条件に応じたメッセージを表示することもできます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- エクセルの条件文で抽出したセルに改行を入れたい
条件文で作成した文字列内に改行を入れる方法を教えてください。 下記のようなエクセル(以後、数百行あります)があり、○がついているところの1行目にある文字をK2セルに入力したいと思います。 A B C D E F G H I J K 1 あ い う え お か き く け こ 2 ○ ○ ○ ○ ○ 3 ○ ○ ○ ○ K2セルには、○印のついている あ え き け こ と改行して出力されるように関数を組むにはどうしたらいいのでしょうか? =IF(A2=○,A1&"","")&IF(B2=○,B1,"")&IF(C2=○,C1,"")&IF(D2=○, D1,"")&IF(E2=○,E1,"")&IF(F2=○,F1,"")&IF(G2=○,G1,"")&IF(H2=○,H1,"")&IF(I2=○,I1,"")&IF(J2=○,J1,"") と入力してみましたがうまくいかず、これではうまくいったとしても 改行なしで あえきけこ と出てしまう気がします・・・。 一晩悩みましたがどうしてもうまくいかないのでどなたか教えてください。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセル 条件に当てはまるセルの値を返す方法
こんにちは、よろしくお願いします。 D E F G H I ・・・・・N O 1 北海道 東京 愛知 大阪 京都 沖縄 2 1 2 3 4 5 6 愛知 3 2 3 6 5 1 4 北海道 4 4 2 3 1 5 6 東京 5 2 3 6 5 1 4 京都 6 1 2 3 4 5 6 北海道 となっている表があります。(本来はMまで地名が入っています) この時にNに該当の数字を入れたいのです。 具体的にはN2に3、N3に2、N4に2となっていきます。 =IF(O2=$D$1,D2,IF(O2=$E$1,E2,IF(O2=$F$1,F2,IF(O2=$G$1,G2, IF(O2=$H$1,H2,IF(O2=$I$1,I2,IF(O2=$J$1,J2,IF(O2=$K$1,K2,(O2=$L$1,L2))))))))) とやってみたのですが、やたら長くスマートではない上に、これ以降が エラーになって入力できなくなってしまいました。 良い方法を知っていればご教授下さい。 お願いします。 mac OS10.5 excel2004を使用しています。
- ベストアンサー
- オフィス系ソフト
- EXCEL VBA 特定セルの保護解除したい
お世話になります。田中ともうします。 EXCELのあるシートを一度全て保護して、特定セルの解除をVBAで実現したいのです。 現在、上記処理を毎回手動でやっており、手間もそうですが間違いも多くなり困っています。 イメージとしましては[保護]というボタンをクリックしたら上記処理がVBAで実行されるようにしたいのです。どなたかご教授いただけませんでしょうか。 以下処理の順番イメージです。 ■全てのセルをロック ■保護解除したいセル その(1) 行は決まっていますが列(XX)は可変です。 XX7行目に[調整]という文字がありますのでそのXX列の、XX8行目、XX10行目、XX14行目、XX16行目、XX18行目、XX28行目が保護解除したいセルになります。 ■保護解除したいセル その(2) D20を起点にして、F20、H20、J20・・と2列ずつ右に移動して保護解除したいのです。 ある程度右いにいくと"E"という文字にあるので、この"E"にぶつかるまで上記のように2列ずつ解除したいのです。 ■保護解除したいセル その(3) D24を起点にして、F24、H24、J24・・と2列ずつ解除したいのです。 条件はその(2)と同じです。 これを毎回手でやっているため結構大変で困っています。 どなたかお助けいただけませんでしょうか? よろしくお願い致します。 EXCEL2013
- ベストアンサー
- Excel(エクセル)
- Excel 条件で足すセルを自動的に変える方法
///////////////////////////// A1に“0”か“-2(マイナス数値※2は例)”が入る場合には、H1に「=B1&C1&D1&E1&F1」という結果。 B1に1以上の数字が入る場合には、H2に「=B1&D1&F1&G1」という結果。 ※B1~F1には文字列が入っています。 ///////////////////////////// という感じでA行セルの内容によって、 足す(&)対象にするセルを自動的に変えたいと思います。 上記の“H1”や“=B1&C1&D1&E1&F”などは例ですが、 「0」か「1以上の数字(1や100等)」が入る事は確定しています。 こういった処理はIF文になるのでしょうか? 初心者な故、ご回答頂く際に不足なことがございましたらお伝え下さい。 よろしくお願い致します。
- 締切済み
- その他MS Office製品
- EXCEL VBA (変更セル値の値をとる)
「A1セルからJ1セル」にランダムに数字が入っていたとします。 A1セルからH1セルのどこかの数字を変更した場合、その数字が変更したセルからJ1セルまで同じ数字になるようにしたいです。 たとえば、A1からJ1セルに1~10の数字をいれ、B1セル値の2を5に変更した場合、B1セルからJ1セルまでの値が全て5になるようにしたいです。 これはVBAで可能ですか? すいませんが宜しくお願いします。
- ベストアンサー
- Windows XP
- エクセルVBA/抽出・貼付け
下記を行いたいのですが、どのようなコードになるのでしょうか? シート001(入力用) (1)A1~A50、B1~B50、C1~C50、D1~D50 に数値、E1~E50に文字列 (2)F1~F50、G1~G50、H1~H50、I1~I50 に数値、J1~J50に文字列 ※空白行混在 シート002(計算用) シート001に作ったコマンドボタン:クリックにより、 シート002を表示させ、A1~E100に、 シート(1)のA1~E50とF1~J50の空白行以外を連続して 反映させたい。並べ替え用など別シートを用いずに、 VBAコード内で処理したい。
- ベストアンサー
- オフィス系ソフト
- 【VBA】特定の条件でセルをコピー
VBA初心者です 特定の条件を満たすセルの隣接する指定のセルをコピーして別のシートへ貼付けたいです 【sheet1】 A B C ~ F G 1 2 あ ~ 3 あり 2 1 い ~ 7 なし 3 2 う ~ 4 あり 5 3 え ~ 6 あり 6 2 お ~ 5 なし 7 1 か ~ 3 あり 8 3 き ~ 7 なし 9 2 く ~ 8 なし といったデータのうち、G列が「あり」の行の C~Fの値を別のシートへ以下のように貼り付けたいです 【sheet2】 A ~ D E あ ~ 3 _ う ~ 4 _ え ~ 6 _ か ~ 3 _ 全くの初心者です よろしくお願いします
- ベストアンサー
- Visual Basic
- エクセルの条件付き書式を使ってセルに色を付けたい
A2~D2以下のセルにある数字がランダムで並んでいるとします(各セルには一桁の数字のみ)。E1~H1にもある数字が並んだ時、同じ数字があれば、A2行のセル数字に色を付けたいんです。条件付き書式の数式を・・・でやると思うのですが、イマイチよく解りません。他の質問でも調べて自分なりに関数を使っているのですが、うまくいきません・・・?すいませんがどなたか教えて下さい、よろしくお願いします。 こんな感じで・・・ A B C D E F G H 1 1 7 3 8 2 0 9 4 7(←色塗) 3 ・ ・
- ベストアンサー
- オフィス系ソフト
- エクセルVBAの条件指定が上手くいきません
「7を超えたら、For Eachステートメントを抜けなさい」という条件を入れたいのですが、 7を超えても処理が継続し困っています。 勉強不足で申し訳ないですが、ご教授願います。 【やりたいこと】 まず、セルB1~D3までのセルの値(9つ)が、7を超えない条件で1を加算していきます。 加算したときの値はE~Gの列に貼り付けていきます。 7を超えた時点でFor Eachステートメントを抜けます。 また、B1~D3までのセルには計算式が入っており、A1に数字を入れると、 それぞれ異なる増え方をします。(計算式自体は$A$1+1.1、$A$1+2.1などシンプルなもの) Sub test() Dim i As Range Dim n As Long Dim x As Long n = 1 x = 1 For Each i In Range("B1:D3") Range("A1").Value = x If i < 7 Then Range("B1:D3").Copy Cells(n, 5).Select Selection.PasteSpecial Paste:=xlPasteValues n = n + 3 x = x + 1 ElseIf i > 7 Then Exit For End If Next End Sub お手数ですが、宜しくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- 【Excel】複数条件の論理式をVBAマクロでオートフィルするには?【エクセル】
セルF2からF5000までは =VLOOKUP(C2,sp_csv!C:H,6,0) という関数をオートフィルで入力できるようにマクロを組みました。 Sub Macro1() セル範囲 = "F2:F5000" 数式 = "=VLOOKUP(C2,sp_csv!C:H,6,0)" Range(セル範囲).Formula = 数式 End Sub 同様にセルG2からG5000は =IF(AND(E2>0,F2=0),"削除",IF(AND(E2=0,F2>0),"新規","変動なし")) という関数を入れてオートフィルさせたいのですが、コンパイルエラーが出てしまいます。 Sub Macro2() セル範囲 = "G2:G5000" 数式 = "=IF(AND(E2>0,F2=0),"削除",IF(AND(E2=0,F2>0),"新規","変動なし"))" Range(セル範囲).Formula = 数式 End Sub 複数条件の論理式をVBAマクロでオートフィルするにはどうしたらいいのでしょうか?
- ベストアンサー
- オフィス系ソフト
お礼
ご回答ありがとうございました。 無事解決しました。 また質問させて頂く際にはよろしくお願い致します。
補足
大変申し訳ありませんでした。 E14が×の○の場合、F20~I20は全てセルのクリア E14が○の場合でした。