• ベストアンサー

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

お世話になっております。 早速質問です。 エクセルのマクロを作成しています。 いくつかセルに文字や数値を入力し、マクロを実行した時、 自動的にシングルクォーテーションマーク(')を文字や数値の両端に 付けたい(例: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