エクセルの式の代入方法とは?

このQ&Aのポイント
  • エクセルのセルに式を代入する方法を教えてください。
  • VBのSQL的な記述で、式に文字列を含める方法を教えてください。
  • センセーショナルなタイトルでエクセルの式の代入方法を紹介します。
回答を見る
  • ベストアンサー

エクセルの式の代入

早速ですが セルに =IF(AK3554>0,"○",IF(AK3554<0,"▽","□")) を 代入してあります。 これを、VBAの側から 送り込みたいのですが(IF文の答え送り込んだのでは 再計算の時困りますので、式を送り込みたい) で Range("ay" & endgt ) = "=IF(AK" & endgt & ">0," & "○" & ",IF(AK" & endgt & "<0," & "▽" & "," & "□" & "))" これだと エラーにはならないのですが セルには  =IF(AK3554>0,○,IF(AK3554<0,▽,□))   ””が無くなります(式には ”” が ないですから、当たり前と言えば・・・)。 VBのSQL 的には ” の代わりに ’ シングルで 良いはずなんですが・・・・"'○'" みたいな感じで。 如何でしょうか? お知恵拝借

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! range(セル番地).Formula = "=IF(AK3554>0,""○"",IF(AK3554<0,""▽"",""□""))" のようにしてみてはどうでしょうか? ※ 通常のワークシート関数がそのまま利用できますが、 文字列の場合はダブルクォーテーションがダブルで必要です。m(_ _)m

007itochan
質問者

お礼

サンクス ""○"" でしたか

関連するQ&A

  • Excel VBA セル値の配列代入について

    Excel VBAで、セルの値を配列に代入する処理を、よくやります。 arr=Range("$A1:$C1000").value とかですね。これに関して、オートフィルタで絞り込んだ結果の可視セルだけを、配列に代入するということは、やっぱり出来ないのでしょうか。

  • Excel VBA セルの隣を参照し別セルに 代入

    Excel2003版でVBAを使い  検索と参照プログラムを組みたい ----------------------------------------- Sub Sample1() Dim FoundCell As Range Set FoundCell = Range("B55:B63").Find("1") If Not FoundCell Is Nothing Then MsgBox FoundCell.Offset(0, -1) End If End Sub ------------------------------------------- ↑VBAプログラム参照↑ ・B55~B63セル内の中から(1)の 数字があるセルを探し更に検索してヒット したセルの左セルの内容を メッセージボックスに表示させると ゆうやり方です。 この内容を あるセル 例えば"E17"セルに代入させたい場合 やりたいこととしまして、 ○----------------------------------------------------------○ E17セルの内容を空白にした後 Calculateを使い ランダムシャッフルし、 B55~B63セル内の中から(1)の 数字があるセルを探し更に検索してヒット したセルの左セルの内容をE17に入力(代入又は参照でも可)させたい ○---------------------------------------------------------○ 場合はどのようにプログラムを組めばよろしいですか? 無知で愚かな私ですが 恥を忍んでご教授頂けませんか よろしくお願いします(人>д<*ペコ謝)

  • EXCEL2002で,IF thenの関数式を使い、値が「空白」なら、もう一方の関数式を代わりに代入する方法

     EXCEL2002で,IF thenの関数式を使い、値が「空白」なら、もう一方の関数式を代わりに代入する方法を教えて下さい! (1) 通常なら、AA5というセルに、 =RSS|'1332.T'!現在値  という関数式が入っているとします。 (2) ここで、元々上記式が入るAA5セルの値が「空白」(⇒決して「0」ではない。ことに留意して下さい。)であるなら、もうひとつ用意した  =RSS|'1332.T'!○○○ を文字通り、選択的に用い、IF thenの関数式を使って、その値を表示させる。  どちらの式も命令文の一文として、勿論、AA5に入っています。  即ち、間違っていると思うのですが、数式のイメージとしては、  IF =RSS|'1332.T'!現在値=「 」 then =RSS|'1332.T'!○○○ (3)こうしたIF thenの関数式の”正しい式”を教えて頂けないでしょうか?   何卒、宜しく御願いします。

  • セルが移動した時に値の代入を行いたい

    「A1」にセルがあり、これがほかのセル(例えばA2とかB1とか)に移動したときに「A10」に値を代入すると云うことはできるでしょうか。 「A10」に代入式を書けば出来ますが、VBAで出来るのであれば教えて頂きたく、舌足らずの説明で申し訳ありませんがよろしくお願いいたします。

  • エクセルVBAの掛け算

    お世話になります。 VBA初心者です。 セルA1にはB1×C1の答え Range("A1").Value = Range("B1") * Range("C1") これを、B1が空白ならA1も空白に、そうでないならA1にB1×C1の答えを入れたいのですが 分かりません。 Range("A1").Value = "IF(B1="""","""",B1 * C1)"これだと A1に『 =IF(****** 』と関数が入ってしまいます。 どなたか 分かる方教えて下さい。 宜しくお願いします。

  • Excelの関数について

    こんにちわ。素人です。関数について質問があります。よろしくお願いします。 はじめに、次の式で機能していました。 =IF(AK39="※色展します",0,AC33+AV33) 次に、AK39が、空欄でも機能するようにと、次のような式にしました。 =IF(AK39="※色展します"&"",0,AC33+AV33) 他には =IF(AK39=OR("※色展します",""),0,AC33+AV33) など試してみました。 当然機能しませんでした。 "※色展します"、"スペース"のどちらかが入ればセルがゼロになるようにするにはどうしたらいいんでしょうか?

  • Excelの数値の比較がうまくいきません???

    ExcelのVbaでアンケートの入力フォームを初めて作成しています。 フォームに,テキストボックスを配置して,それを指定したセルに代入するというものです。 このとき,テキストボックスの中身とセルの中身が一致しているかどうかを判断したいと考えて, If Range("A1").Value = Textbox1.Value then ・・・ などとやりました。 そしたら,文字列の時は,うまくいくのですが,数値を入力したら,明らかに同じ数値が入っているのに,上の条件式が"False"になってしまうのです。 IsNumeric関数で調べると,双方とも数値であるとの結果が出ています。どちらも数値であっても3=3が"False"になってしまうのです。 どういうことなんでしょう? どなたかよろしくお願いいたします。

  • セルに入ってる数式を他のセルへコピーしたい

    こちらでよろしいでしょうか? エクセルのVBでセルに入ってる数式を他のセルにコピー したいのです。 Range("c3:c5") = Range("c2") c2にはb1*a1の式が入ってるのですが、c3:c5にはb1*a1の 答えが入ってしまします。 答えではなく式を入れたいのですが・・・

  • Excel 関数で、#VALUE !がでます。

    二つのセルを足して、三つ目のセルに答えを出したいのですが、エラーになります。 Aのセル =IF(N14=0,"",ROUND(N14*W19/W20,1)) Bのセル =IF(AB14=0,"",ROUND(AB14*AK19/AK20,1)) Cのセル =(Aのセル)+(Bのセル) で(AもしくはBが)0になったときエラーになります。 以前質問しましたが、(答えていただいた方、この場を借りてあやまります。大変失礼しました。今度は大丈夫です。)パスワードを忘れてしまい、いろいろやってみましたが結局入れず、お礼や、追加質問できなくて新しく質問させていただきます。

  • Excel、VBAのIF文で

     いつもお世話になります。 エクセルのVBAでセルF4からF65536までを選択していれば印刷して、それ以外を選択していれば「氏名セルを選択してください」と表示させたいのですが、うまくいきません。  全く構文かもしれませんが以下が作成したプロシージャです。VB初心者です。ご指導よろしくお願いします。 Sub 成績個人印刷if() If Range("f5,f65536").Activate = True Then Worksheets("個人カード").Range("a3").Value = ActiveCell.Offset(0, -4) Worksheets("個人カード").PrintOut End If MsgBox "氏名セルを選択してください" End Sub