• ベストアンサー

セルに入力した数値に自動的に'をつけるマクロを作成した

お世話になっております。 早速質問です。 エクセルのマクロを作成しています。 いくつかセルに文字や数値を入力し、マクロを実行した時、 自動的にシングルクォーテーションマーク(')を文字や数値の両端に 付けたい(例:aaaaa→'aaaaa')のですが いろいろ探していますが見つかりません。 お力をお貸し頂きませんでしょうか。 よろしくお願い致します。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 前回、回答した者です。結局、書かざるを得ないようですね。(^^; そうしないと、納まらないようですね。出来れば、仕事は仕事として割り切って、ご自分の勉強とは別にしたほうがよいですね。 私自身も、あるプロの方から、分からなかったら自分で勉強をしようとしていたら、いつまで経っても仕事は出来上がらないよって言われました。ある程度、ベースが出来た後は、検索して、それを使ってしまうことですね。ただ、人に聞いて解決するよりも、自分で探したほうが価値があるかもしれません。 なるべく標準モジュールに登録して使ってみてください。 なお、デリミタを、「,」に変えれば、CSV ファイル形式になります。 Sub Text_OutPut()   Dim myPath As String   Dim myCsvFN As String   Dim Fno As Integer   Dim i As Long   Dim n1 As String, n2 As String   Dim Delim As String      Delim = vbTab 'デリミタ      myPath = Application.DefaultFilePath & "\" '出力フォルダ      myCsvFN = "Test1.txt" '出力ファイル名      Fno = FreeFile()   Open myCsvFN For Output As #Fno   For i = 2 To 26   'C列   If IsEmpty(Cells(i, 3)) Then n1 = "'NULL'" Else n1 = "'" & Cells(i, 3).Text & "'"   'F列   If IsEmpty(Cells(i, 6)) Then n2 = "'NULL'" Else n2 = "'" & Cells(i, 6).Text & "'"          Print #Fno, String(2, Delim) & n1 & String(3, Delim) & n2 'C列とF列     n1 = "": n2 = ""   Next   Close #Fno End Sub

omiyamairi
質問者

お礼

ご回答ありがとうございます。 Wendy02さんの言うとおり、先輩から同じことを言われました。 自分で勉強する分には構わない、価値もあるが、ネットにあるサンプルコード を使うことも大切。それが後々の力になる。人のまねをすること。 そこから自分のオリジナルの方法を見つけていけばいい。 とのことです。 参考に使わさせて頂きます。 仕事とプライベートの割り切り方も勉強ですね。 本当にありがとうございました!!

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

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

色々と曖昧ですね まず文字や数値を直接入力したセルが対象ですか。つまり式で他のセルを参照して「文字や数値」が表示されているセルは対象外ということですか? また「値」をaaaaa→'aaaaa'にするのですか? それとも表示上でaaaaa→'aaaaa'としたいのですか? エクセルでは先頭に「'」をつけてもプリフィックスとみなして表示されません。表示上'aaaaa'にするなら先頭には[''」をつけないとなりません。 とりあえず以下を参考にしてみてください。直接入力したセルデータの前後に「'」をつけるマクロです Sub Macro1() Dim r As Range  For Each r In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants, 3)    r.Value = Chr(39) & r.Value & Chr(39)  Next r End Sub なおこのような場合は「'」をつけて何をしたいのか書いていただく方が、より的確な回答が書けると思いますよ。

omiyamairi
質問者

補足

曖昧すぎてすいません。 ちょっと頭の中で整理できずに質問してしまいました。 実際は値をaaaaa→'aaaaa'にしたいのです。 セルに入力後、マクロを実行することで値を変更します。 実際作りたいマクロは80個のセルに値を入力し、マクロ実行することで タブ区切りのテキストファイルを作成することを考えています。

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

関連するQ&A

  • マクロで複数のセルに数値を入力したい

    エクセル、マクロとも初心者なのですが、タイトル通りのことをするにはどうしたらよいか教えてください。 やりたいことは、 「指定したアクティブセル(毎回変わる)を選択し、その隣のセルにあらかじめ決められた数値をマクロで入力する」というものです。 例えば・・・ A1をアクティブにし、マクロを実行する B1、C1、D1、E1のセルに決められた数値が入力される こんな感じです。 基本的なことかもしれませんが、どうかよろしくお願いします。

  • エクセルでマクロを自動的に実行

    表題の通りなんですが、エクセルで、あるセルに指定された数値(語句)が入った場合に、それを自動的に感知して実行するマクロがあればと思うのですが、そういったことってできるのでしょうか。 具体的には、  1、バーコードリーダーで数値をセルに入力  2、その数値に対応する名前をvlookup関数にて表示  3、その名前が入力された時点でマクロが自動的に実行 と言うものです。  3の部分がよく分からずに困っています。できるかどうか分かりませんが、もしできるようであるならその方法を教えていただければありがたいです。どうか、よろしくお願いします。

  • エクセル2000:決まったセルに数値が入力されたらマクロを起動させたい

    エクセル2000:決まったセルに数値が入力されたらマクロを起動させたい。 たとえばセルA1に、1以上の数値が入力されたときに、セルA2に今日の日付を入力させる マクロの記述はどうすれば宜しいでしょうか? 以下の記述で、セルA2に日付は入力させられるのですが、 セルA1に1以上の数値が入力された場合に起動させる方法が分かりません。 Range("A2").Select SendKeys "^(;){ENTER}" ご教授の程、宜しくお願い申し上げます。

  • エクセルのマクロ

    エクセルでマクロを使うときにセルに入力した数値などを変えた時に自動でマクロを実行するようにできませんか?

  • マクロでセルに入力した数値をテキストファイルに出力したい。

    お世話になっております。 早速ですが質問です。 マクロを作成しています。 エクセルのシートの50項目のセルに数値を入力していき、 シート上の置いたボタンを押すことで、入力された数値を テキスト形式で出力したいと思っております。 なにぶん初心者のためか、いい知恵が浮かびません。 例えば、どのような記述方法があるか。 お力をお貸しください。

  • Excel マクロで自動入力

    ○の右隣に、自動で×が入力されるマクロはどのようにすればいいですか? どこかに置いた図形をクリックしてマクロが実行されるのでも、そのままセルに○を入力したら実行されるのでもいいのです。

  • EXCL のマクロ自動実行(イベントによる)についてお教えください。

    EXCL のマクロ自動実行(イベントによる)についてお教えください。 エクセルのあるセル(たとえばA1セル)に入力するとマクロが自動実行する方法をお教えください。 よろしくお願いいたします。

  • EXCEL2002のシングルコーテーションでの質問

    EXCEL2002で困っていることがあります。 1.例えば普通に数字で2000とか入れると   普通に入力されるのですが、’(シングル   コーテーション)を付けて、’2000とか   入れると、左上に緑の▼マークと共に表示   されます。そのセルをクリックするとその   セルの左側に黄色い▼マークと+が出ます   その+をクリックすると、”数値を文字列にして   います”などのBOXが現れるのですが、   これは何でしょう? 2.頭に’を他の数値にも負荷したいのですが   1づつ手入力しなければできません。   範囲選択した場所だけ’を負荷するマクロか   コマンドがあれば教えてください。 3.テキストデータをEXCEL2002に取り込むと   ’が付くセルと付かないセル(データは数値)   があるのですが、これは何故でしょう?   防ぐ方法があれば教えてください。 よろしくお願い致します。

  • 【エクセル】マクロの自動実行

    エクセル2003を使用しています。 例)セルH4に名前が入力された時に、 今まで「Ctrl + Q」で起動していたマクロを自動実行 出来るようにしたいのです。 上記のような動きをしてくれ関数ないしマクロを知っている方が 居ましたら教えてもらえないでしょうか?

  • セルの頭の'を認識する方法について

    数字を文字として入れたい場合など、頭にクォーテーションマークを付けて'001と入れますが、VBAでこのクォーテーションマークが入っていることを知るにはどのようにしたら良いでしょうか? '001の入っているセルを選択して下記VBAマクロを実行した場合、 Selection.Value Selection.Formula このどちらでも1しか返ってきません。 (数字でなくて文字列の場合も同様に'は無視されます) IsNumeric(Selection) でも数値として判定されます。 マクロの用途としては(1つ又は複数の)セルを選択し、ショートカットで+1したり-1する物を作ろうと思っています。 セルに'が入っていた場合、処理後も'が入ったままにします。 対象セルは色々なタイプでも可能にしようと思っています。 '0001 → '0002 '3/7 → '3/8 1 → 2 K-0005 → K-0006 よろしくお願い申し上げます。

専門家に質問してみよう