• ベストアンサー

IsStringはないのか?

エクセルのVBAのオブジェクトブラウザを見てみたら IsArray IsDate IsEmpty IsError IsMissing IsNull IsNumeric IsObject 8つはあったのですが IsStringはありませんでした。 値が文字列かどうかを調べるにはどうやって調べるのでしょう? よろしくお願いします。

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

  • ベストアンサー
  • s-uzen
  • ベストアンサー率65% (2051/3118)
回答No.1

IsTextやIsNonTextという関数があります。 VBAのヘルプの検索で、「ワークシート関数一覧」を検索すると、Visual Basicで使用できるワークシート関数という項目がありますので、参照してみてください。 IS関数 http://excel.onushi.com/function/is.htm  

quygquygqu
質問者

お礼

ありがとうございます。Textですね。

その他の回答 (1)

  • myRange
  • ベストアンサー率71% (339/472)
回答No.2

VBAの関数としては、 TypeNameやVarTypeなどが使えます。 調べる変数を"S"として。。。   If TypeName(S) = "String" Then とか   If VarType(S) = 8 Then   If VarType(S) = vbString Then など。 詳しくはヘルプを参照のこと。 ------------------------------------------- また、Worksheet関数としては If WorksheetFunction.IsText(S) Then 以上です。

quygquygqu
質問者

お礼

ありがとうございます。Worksheet関数でできるのですね。

関連するQ&A

  • vba isStrってないの? 文字列か評価したい

    IsArrayとかならあるのですが、isStrってないのでしょうか? 変数の値が文字列なのかどうかを評価したいのですが そういう場合、どのvbaコードを使えばいいのでしょうか?

  • VBAで関数を挿入したい

    VBAでISBLANK関数を Fomulaでシートに挿入したいのですが アプリケーション定義またはオブジェクト定義のエラーとなってしまいます。 ISBLANK関数をVBAで挿入するにはどうすればうまくいくでしょうか? 他にもISNULLやISEMPTYを試しましたがうまくいきませんでした。 どなたかご存知の方がいらっしゃいましたらアドバイスをお願いいたします。

  • Excel VBAで文字列の日付を判定

    Excel VBAで文字列の日付を判定 文字列の書式で”19900101”などとセルに入力されている場合に実際に存在する日付かを判定する方法はありますでしょうか? たとえば、19990132などと入力されている場合はエラーにしたいのです。ISDATEを使うのかともおもいましたがうまくいきません。 よろしくお願いします。

  • 文字の判定について

    はじめまして。 vba初心者でして、とても困っているのです。 セルの値が数字かどうかの判定はどうやら IsNumeric で出来るようですが、 英数字かどうかの判定方法がわかりません! (半角の数字とアルファベットのみの文字列かどうか) ご存知の方いらっしゃったら教えてください! お願いします。

  • オブジェクト名からオブジェクトを取得する方法?

    こんばんは,よろしくお願いします。 多分とても簡単なことなんだと思います。でも分かりません。教えてください。お願いします。 エクセルVBAで, TextBox1というオブジェクト名(文字列型のデータ)からオブジェクトを取得する方法を教えてください。よろしくお願いします。

  • 【VBA】エクセルからパワポの表に値を貼り付けたい

    エクセルに項目が縦に1列に並んでおり、その右隣の列に値Aがあるとします。 エクセルの項目と同じ文字列が書かれた表がパワーポイントにあり、その右側に値Aを貼り付けたいです。(表は項目が左に1列、右に値Aを入力したい列が1列ある形です。) エクセルと同じ文字列が入っている表があれば、その表の右側に値を代入するといった条件式をVBAで作成することは可能でしょうか。 エクセルのマクロはよく使っているのですが、パワポは全く分かりません。 実現可能かも含めご教示いただきたいです。

  • Excelで特定の文字列があるかないかの検査

    Excel VBAで文字列を調べて、そのセルに文字列が存在すれば切り抜いて変数に保存するという作業を行いたいと 思っています。例えば、本という列があるとします。本の列には、 $$book=本 $$books=本部類 という値が入っていたりします。"="以降を切り抜いて、bookは列1、booksは列2に挿入したいと思います。 この場合、"本"という値は列1へ、"本分類"という値は列2へ入ることになります。 この文字列の調べ方がわかりません。Instr関数を使うことを考えたのですが、どちらの値もヒットしてしまいます。 どのような関数を使ったら上手に文字列を切り抜くことが可能でしょうか?

  • セルの値に入ってるのが、時間ならば

    エクセルvbaなのですが セルの値が日付型なら色を付けるというコードですが 画像のように時間が入っていますが Sub test() If IsDate(Cells(1, 1)) = True Then Rows(1).Interior.Color = 11711154 End If End Sub IsDateでは評価できないのでしょうか? Cells(1, 1) 自体、0.6が返り、数値となってしまいます。 セルの値に入ってるのが、時間ならば、とする方法を教えてください。

  • エクセルでVBAのマクロを組みたい

    VBA初心者です。エクセルで大量の情報があるとき、A列の文字列が”****”であって、さらにB列の文字列が”++++”であるときの、C列の値を検索したい。それを1行目から最下行まで行いたい場合、どのようなプログラムになりますか、教えてください。よろしくお願いします。

  • vbaでvlookup

    エクセルのVBAについて。 指定した範囲の中から検索条件に一致したデータを検索し、取り出してくれる関数vlookup をVBAで実現したいのですが、 目標として、エクセルのセル(列)に、値を入力されているとします。 VBAを実行するボタンをクリックすると、、、 その値に対応する文字列(事前に用意)をその値の右のセルに自動で入力させたいです。 このVBAを作ることが目標です。 vbaでvlookupを実現でなくても、それよりも簡単な方法があれば教えていただきたいです。 お手数ですが、よろしくお願いします。

専門家に質問してみよう