• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:セルについて)

VBA初心者のためのセル操作方法

このQ&Aのポイント
  • VBA初心者の方向けに、セルに値が入っているかどうかをチェックし、条件に応じて文字を出力する方法を解説します。
  • セルに値が入っている場合は、その値に対して追加書きをする手法も紹介します。
  • これらの処理は、VBAの基本的な機能を使って実装できますので、ぜひ試してみてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • taocat
  • ベストアンサー率61% (191/310)
回答No.1

こんにちは。 シンプルなサンプルを。 セルA1が未入力だったら、"あああ"をセット セルA1が入力済だったら、入力値に "いいい"を追記する場合 '------------------------------------------------------------- Sub Test()  If Range("A1").Value = "" Then    Range("A1").Value = "あああ"  Else    Range("A1").Value = Range("A1").Value & "、いいい"  End If End Sub '------------------------------------------------------------- 以上です。  

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.2

一行でやる方法です。 Sub Test01() Range("A1").Value = IIf(Range("A1") = "", "テスト", Range("A1").Value & "、テスト2") End Sub

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • セルの選択、貼り付け

    よろしくお願いします。 下記のような処理を大量データに対して行うVBAを書きたいのですが、なかなか上手くできません。 〈処理〉 A列の空白セルに対して、空白セル(例えばA2)の上のセル(A1)の値(2003)をコピーし、空白セル(A2)に貼り付ける。 次に、ひとつ下空白セル(A3)も同様に1つ上のセル(A2)の値(2003)をコピーし、空白セル(A3)に貼り付ける。 を繰り返す。 このようなプログラムを書きたいのですが。    A     B C …       A  B C… 1 2003         1 2003 2              2 2003 3              3 2003 4 2005       ⇒ 4 2005 5              5 2005 6              6 2005 7              7 2005 8 1999         8 1999 :              : :              :        よろしくお願いします。

  • Excel VBA セル内の文字列操作について

    例えば、A列(A2より下のセル)のセル内にある文字列が、それぞれ対応するB列(B2より下のセル)のセル内にあった場合、該当文字列のフォントの色を変えたい(例えば「赤」)のですが、VBAで一括処理とかできるのでしょうか? <例> A列      B列 テスト     このテストは・・・ → 「テスト」の部分のみ赤色にしたい。 サンプル   サンプル     → 文字列全部分の「サンプル」を赤色にしたい。 どうかご教示の程よろしくお願いいたします。

  • エクセル VBA ある条件でセルに色をつけたいのですが、

    エクセル VBA ある条件でセルに色をつけたいのですが、 例えば、A2からA50に文字列が入っていて、ある処理を終えると、空白を除くセルに薄い水色(33)をつけます。ここまでは、VBAで作成できました。 次に、空白を除くセルが、すべて薄い水色になったら、A1を薄い黄(36)にしたいのです。 教えてください。よろしくお願いします。

  • Excel VBAによる検索処理?

    Excelで以下の例のように、A列・B列に入力されているとします。A列を検索して、C列にB列の値を返す式を考えてますが、さっぱりわかりません。VBAとかも正直素人ですが、サンプルもしくは考え方を教えていただければと思います。以下の処理内容です。 ・AXセルが「B」であった場合、次のセル(A(X+1))を検索し、次が空白になるまで検索し、空白になる前の最後の行のB列の値をCXセルに返す。該当しない場合は空白のまま 下記の例ですと3行目、8行目のB列の値を2・3、6-8行目のC列のセルに返すことになります。よろしくお願いいたします。 (処理前) ___A__B__C ------------- 1 2__B__2 3__B__3 4______4 5______5 6__B__6 7__B__7 8__B__8 9______9 (処理後) ___A__B__C ------------- 1 2__B__2__3 3__B__3__3 4______4 5______5 6__B__6__8 7__B__7__8 8__B__8__8 9______9

  • VBAで複数列セルに入力されている文字を一行に

    こんにちは。VBAにて下記イメージの複数列セルに入力されている文字を一行に変換しメモに出力すると同時に出力された一行の文字列をコピーした状態にしたいです。セルに記載された文字は「,」カンマで区切った状態で範囲はA3セルからA50位となります。また、セルが結合されていたり空白が存在したり様々です。大変申し訳御座いませんがご教授宜しくお願いします。 あああ → あああ,いいい,ううう,えええ,おおお・・・ いいい ううう  えええ おおお ・ ・ ・

  • 関数の結果を""ではなく設定されていないセルにしたい

    EXCEL2000を使用してます。Sheet1シートのA列のセルには、値(文字数値)が設定してあって、B列のセルで以下のような関数を設定してあります。 たとえばB10セルの場合、 =IF(A10="","",T("2"&TEXT($B10,"0000")) A列に何も値がない場合、B列には何も表示されないのですが、Sheet1をSheet2へ「形式を選択して貼付け」→「値」をした場合、B列に""が結果として設定されたセルに何かの値が残っているようです。(A列は改行等の制御文字はありません。)CSVファイルに出力してテキストエディタで参照すると半角スペースのように見えます。貼付け時に「空白を無視する」をチェックしても何かの値がセルに残っているようです。Sheet2にコピーしたときに関数で設定されたセルを何も入力されていないセルにする方法をご教授願います。

  • LARGE関数で空白セル数だけ飛ばして記入したい。

    LARGE関数で空白セル数だけ飛ばして記入したい。 たとえばA列に連続する数値がランダムに入力されていて、その値の高い値から、LARGE関数で順番をB列に記入しました。しかしA列に空白セルがある場合、空白セル数だけ高い値を飛ばして順番をつけたいのですが、良い方法は御座いませんでしょうか? 例 A列に1から15までランダム記入されていて空白セルが2つあれば13から1、2としていきたいのです。 B1=IF($A$1:$A$15="","",LARGE($A$1:$A$15,A1))↓ と記入すると15、14がエラー表示になって 13から1になってしまいます。それを、13から1、2としていきたいです。 お願いします。

  • Excel 空白セルのコピペについて

    http://imgur.com/5e8TsP1 上記図のように、シート1のB列に各文字を入力しています。 そして、A列にはもしB列に文字が入力されていたらID代わりの数値を表示する、という式を入力してあります。 次に、シート1のA列、B列をコピーして、シート2に数値としてペーストをします。 すると、A列は空白のはずが、xldown操作をすると元のセルで式が入力されていたものまで選んでしまい、真の空白セルとして認識してくれません。 そこで、このような例の場合、どうコピーペースト、または選択をすれば偽物の空白 セルを生み出さないように出来るでしょうか? 実際に使用するデータは項目名が多く存在し、マクロですべてのセルを選択→新規ブックを作成してそこにペースト、という処理を行っています。 この時に偽物の空白セルが出ると、データベースに読みこむ際に不都合が生じますので、何とか改善を図りたいです。 VBA、関数、Excel上のテクニックのいずれでも構いませんので、どうかご教授下さい。 よろしくお願いいたします。

  • エクセルでセルの中身が漢字かどうか識別する方法は?

    セルの内容が、数値か、文字列か、空白かどうかは関数で出来るのですが、文字列の場合、それが漢字(ひらがな、かたかな含む)かそうではないのか識別できる関数またはVBAはないでしょうか?

  • セルの結合

    VBAの勉強を始めたばかりの初心者です。 A1、A5 A9・・・・A25までのセルに、それぞれデータが入っていて、データが入っている各セルの下にはデータが入っていない空白の三行を作っています。隣のB列にもデーターはありません。 それをA1からB4、A5からB8・・・A25からB29までのセルを、手作業で結合をしているのですが、今後データが増えていくのでどうしてもVBAで行いたいのです。 ネットで調べてもありそうでなかなかないのでどなたか教えていただければ助かります。 わかりにくい説明ですが宜しくお願いします。   A列  B列 1 ああ  空白 2 空白  空白 3 空白  空白 4 空白  空白 5 ああ  空白 6 空白  空白 7 空白  空白 8 空白  空白 9 ああ  空白 ・ ・