
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セルに結果を戻すことも出きる。
お礼、遅くなりました。
ごめんなさい。
やってみたのですが、マクロを使った事が無いのでどうしても上手く出来ません。
沢山考えてくださったのに本当に申し訳リません。
ありがとうございました。
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
こんにちわ。
早速のお返事ありがとうございました。
しかし・・・
VBEの事がまったく解らないのでご指示の通り貼り付けて、起動してみたのですが小文字が大文字に変換されないのです。
私の貼り付け方がいけないのかもしれません。
むぅ・・・
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルでセルに何らかの文字が入力されたらそれを任意の数値として認識させる方法がしりたいです。 3 2023/03/16 20:19
- Excel(エクセル) セルに入力した小文字アルファベット、数字を大文字表示させるには? 3 2022/07/13 10:01
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Excel(エクセル) エクセルにおいてセル内の文字を出来るだけ大きく表示する方法を教えてください。 4 2022/07/30 08:08
- Excel(エクセル) エクセルで印刷すると文字の上下がセルからはみ出てしまう 8 2023/03/06 11:23
- Visual Basic(VBA) Excel VBAでAA(BBB) → BBB.AA に置換したい 2 2022/10/30 13:59
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Excel(エクセル) エクセル文字列の日付を日付けに変える 2 2023/05/13 11:08
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
セルがクリックされた回数をカ...
-
Excelでセルをクリックす...
-
Excel内での検索結果をシート...
-
Excelで、図形内の文字をセルに...
-
クリックすると文章が表示され...
-
フォントの色を指定して削除出...
-
マクロを実行すると画像がズレ...
-
Excel2007 色のカウント (VBA)
-
現在のセルの位置を返す関数は...
-
チェックボックスのマクロ登録
-
エクセルでPDFリンクを大量...
-
エクセル 未入力セルがあると...
-
Excel 2010 プルダウンメニュー...
-
ハイパーリンクのリンク先URLの...
-
エクセルのマクロでセルに色を...
-
Excel:セルの値(文字列)を数...
-
セルの内容をテキストボックス...
-
エクセルVBA
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
Excel内での検索結果をシート...
-
エクセル 数字をすべて○などの...
-
クリックすると文章が表示され...
-
Excelで、図形内の文字をセルに...
-
Excelでセルをクリックす...
-
Excel ハイパーリンクのURLを別...
-
太字に設定されているセルの個...
-
マクロを実行すると画像がズレ...
-
セルの内容をテキストボックス...
-
フォントの色を指定して削除出...
-
Excel:セルの値(文字列)を数...
-
Excel2007 色のカウント (VBA)
-
エクセルでPDFリンクを大量...
-
アポストロフィーの一括挿入 ...
-
現在のセルの位置を返す関数は...
-
エクセルでセルをダブルクリッ...
-
空白セルを空セルに置き換える...
-
エクセル シート保護された共...
-
エクセル 未入力セルがあると...
おすすめ情報