
No.3ベストアンサー
- 回答日時:
#2で失敗談を述べた者です。
1日考えてなんとかなりそうです。7行と短く、判りやすいと思う。A1セルに例えば「ぁつったゃささッた」と、入力する。
---
Module1に
Sub test01()
c = Array(
0, "ぁ", "あ", "っ", "つ", "ゃ", "や", "ッ", "ツ")
a = Cells(1, 1)
For i = 1 To 8 Step 2
a = Application.Substitute(a, c(i), c(i + 1))
Next i
Cells(1, 4) = a
End Sub
と入力し実行すると、D1セルが「あつつたやささツた」となる。
----
c=Array()の中の文字ペアーを増やし、
For i=1 to xxのxxを増やせば良い。
またJ=1 To ○○ を外側にネストし
a=cells(j,1)と変え、
Cells(j,4)=aにし、Next jを入れれば
何セルの文字でも変換できる。「4」はA列と離しただけ。Cells(1, 1) = aとすればA1セルに結果を戻すことも出きる。
この回答へのお礼
お礼日時:2002/06/25 15:38
お礼、遅くなりました。
ごめんなさい。
やってみたのですが、マクロを使った事が無いのでどうしても上手く出来ません。
沢山考えてくださったのに本当に申し訳リません。
ありがとうございました。
No.2
- 回答日時:
失敗談を。
「=SUBSTITUTE(A1,"っ","つ")」などで1セルの指定1文字ならば、全て大文字に置きかえられます。しかし小文字の数は多いので上手く行きません。
( )内で、A1,"っ","つ";A1,"ぁ","あ";...のような表記法が認められれば良いのですが、多分ない様です。
もしご存知で有ればどなたか教えてください。
No.1
- 回答日時:
マクロとユーザー定義関数を作ってみました。
マクロは、ツール→マクロ→マクロで『Komoji2Oomoji』を実行すれば、実行したシートの全角半角の小文字を対応する大文字に置き換えます。
ユーザー定義関数は、A1に文字があれば、別セルで
=fnKomoji2Oomoji(A1)
のようにして使います。
回答すると半角が全角に変換されるので少し回りくどい書き方をしています。
半角カタカナ、全角カタカナ、全角ひらがなを置き換えます。
ツール→マクロ→Visual Basic Editor でVBE画面に移り、挿入→標準モジュール で標準モジュールを挿入します。
出てきたコードウインドウに下記マクロをコピーして貼り付けます。
ここから
↓
Const Oomoji1 = "あいうえおやゆよわつアイウエオヤユヨワツカケ"
Const Komoji1 = "ぁぃぅぇぉゃゅょゎっァィゥェォャュョヮッヵヶ"
Const Oomoji2 = "アイウエオヤユヨツ"
Const Komoji2 = "ァィゥェォャュョッ"
'変換用マクロ
Sub Komoji2Oomoji()
Dim Oomoji As String
Dim Komoji As String
Oomoji = Oomoji1 & StrConv(Oomoji2, vbNarrow)
Komoji = Komoji1 & StrConv(Komoji2, vbNarrow)
Dim rg As Range 'セル
Dim rgText As String 'セルのテキスト
Dim L As Integer '文字の長さ
Dim p As Integer '検索文字の位置
For Each rg In ActiveSheet.UsedRange
rgText = rg.Text
For L = 1 To Len(rgText)
p = InStr(Komoji, Mid(rgText, L, 1))
If p > 0 Then
Mid(rgText, L, 1) = Mid(Oomoji, p, 1)
End If
Next
If rg.Text <> rgText Then
rg = rgText
End If
Next
End Sub
'変換用ユーザー定義関数
Function fnKomoji2Oomoji(moji As String)
Dim Oomoji As String
Dim Komoji As String
Oomoji = Oomoji1 & StrConv(Oomoji2, vbNarrow)
Komoji = Komoji1 & StrConv(Komoji2, vbNarrow)
Dim L As Integer '文字の長さ
Dim p As Integer '検索文字の位置
For L = 1 To Len(moji)
p = InStr(Komoji, Mid(moji, L, 1))
If p > 0 Then
Mid(moji, L, 1) = Mid(Oomoji, p, 1)
End If
Next
fnKomoji2Oomoji = moji
End Function
この回答へのお礼
お礼日時:2002/06/14 10:10
こんにちわ。
早速のお返事ありがとうございました。
しかし・・・
VBEの事がまったく解らないのでご指示の通り貼り付けて、起動してみたのですが小文字が大文字に変換されないのです。
私の貼り付け方がいけないのかもしれません。
むぅ・・・
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
Excel内での検索結果をシート...
-
Excelで、図形内の文字をセルに...
-
エクセル 数字をすべて○などの...
-
太字に設定されているセルの個...
-
Excel2007 色のカウント (VBA)
-
Excel ハイパーリンクのURLを別...
-
エクセルでPDFリンクを大量...
-
アポストロフィーの一括挿入 ...
-
シート保護とグループ化機能を...
-
現在のセルの位置を返す関数は...
-
フォントの色を指定して削除出...
-
空白セルを空セルに置き換える...
-
Excelでセルをクリックす...
-
VBAで特定の文字以降の文字列の...
-
セル結合されていないのに結合...
-
Word VBA 表中の空白行を削除...
-
エクセル 未入力セルがあると...
-
エクセル上で任意の○(まる)を...
-
マクロを実行すると画像がズレ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
Excel内での検索結果をシート...
-
エクセル 数字をすべて○などの...
-
Excelで、図形内の文字をセルに...
-
クリックすると文章が表示され...
-
Excelでセルをクリックす...
-
Excel ハイパーリンクのURLを別...
-
マクロを実行すると画像がズレ...
-
太字に設定されているセルの個...
-
Excel2007 色のカウント (VBA)
-
フォントの色を指定して削除出...
-
エクセルVBA
-
Excel:セルの値(文字列)を数...
-
エクセル 未入力セルがあると...
-
現在のセルの位置を返す関数は...
-
エクセルでPDFリンクを大量...
-
セルの内容をテキストボックス...
-
シート保護とグループ化機能を...
-
ページ内ハイパーリンクの表示...
-
セルがクリックされた回数をカ...
おすすめ情報