
EXCELのデータ、例えば[A01]、[A32]、[B30]という項目があり、これらを[A1]、[A32]、[B30]と表示、つまり[A01]を
[A1]と表示させる方法のご教示をお願いします。
私が考えた処理手順は、[A01]を、[A]と[0]と[1]を関数で切り
出し、2番目の位置に[0]がきた場合は[削除処理]をして、再び、
[A]と[1]を関数でくっつけて[A1]と表記させようと思います。
他にマクロの質問です。しばらくマクロから離れていたので教えて
ください。
Selection.Phonetics.Visible = True
とありますが、ひとつの構文でふたつのドットがあっても
よかったでしょうか。
ついでに日本語にするとどういう意味になるでしょうか。
No.4
- 回答日時:
こんばんは。
どうやら、私のことを、覚えていてくれましたね。ありがとうございます。
>マクロ人生も終焉を迎えたと思ったところだったのに。
>(たぶん、この意味は私しか知らないと思う)
うーん、意味は良く分かりませんが、
>一時はどうなることかと思いました。
というのは、こちらも同じようなものです。かなり、危ないところまで来ていました。やっと、目処が立ったけれども、まだ先は、まだ真っ暗というか、もともと、きちんと計画を立てていなかったことが原因で、自分で自分の器を小さくしてしまいました。
私のMSの製品に対する気持ちは、数年前は、「私の人生、MSに始まって、MSに終わるだろう。もう、VBAだけで、それ以上の言語などは覚えないだろう」と。
ところが、C言語に手を出してから、少し、違った世界が見えてきましたね。私たちは、MS製品に振り回されているのではないでしょうか。
>最近、みないと思ったのですが、どこにいるのですか?
つかの間の間だけです。今は、ここだけですが、それも、ここで書くことも、他で書くことも、そんなに長くありません。完全に、書き込み自体からは、撤退ということになりそうです。
最近、一旦、やめていたけれども、一部の質問の回答には、かなり問題があるように思い、それで再び書きました。書けばきりがありません。でも、本質的な問題は、解決しそうにありません。
コンピュータ界の問題は、これは、もう政治問題なのです。政治家にも、まだ善良な人もいますが、大半は、お金で動いているように思います。
ほとんどのユーザーは、昔と比べることも出来ないから、今の状態が、異常なのか正常なのか、さっぱり分かっていないように思います。私は、一応、英文を読むのが仕事ですから、特に、アメリカの民間のものは目に入ります。そういうのを読むにつけ、私たち、国民は、ウソとごまかしで、良いように丸められているような気がしてくるのです。報道もコントロールされ、国民は、搾取され続けているのに、なお、信じているのだから、おめでたいなって思います。
私が、仕事で初めてコンピュータをいじったころには、もう少し夢がありました。でも、いつのまにか、まったく違った方向に来てしまっています。
ところで、
If StrComp(sText, "0", 1) = 0 Then '全角・半角の区別なし
c.Value = Replace(c.Value, sText, "", 1, 1)
End If
StrComp(sText, "0", 1)
Replace(c.Value, sText, "", 1, 1)
この閉じ括弧の手前の、「1」の意味が分かりますか?
TextCompare モードですから、全角、半角、関係ないのです。
「0」の全角があっても、半角があっても、処理するという意味です。
ワークシートのSubstitute では出来ません。
Wendy02さん、こんにちは。
StrComp関数から調べていって、理解できました。
高度なところには、入り込めていってません。
(私の性格からか、具体的な現象にぶつかってはじめて、”必要は発明の母”ごとく理解できるようになります。)
ご回答、ありがとうございます。
[後説]Wendy02さんのEXCELだけでなく各方面からの回答を読ませていただき、またまたその人となりを知りたくなりました。
たぶん、わたしだけではないと思います
>どうやら、私のことを、覚えていてくれましたね。
軽いQAから重いQAまで、親身にお答えいただき本当にありがたく思いました。
No.3
- 回答日時:
こんにちは。
1.
=REPLACE(A1,2,MID(A1,2,1)="0","")
ただし、上記は半角のみです。
全角を含む場合は、
=REPLACE(A1,2,MID(ASC(A1),2,1)="0","")
となります。全角・半角、入り混じったものには出来ないこともあります。
マクロなら、
Sub Test1()
Dim sText As String
Dim c As Variant
For Each c In Selection
sText = Mid(c.Value, 2, 1)
If StrComp(sText, "0", 1) = 0 Then '全角・半角の区別なし
c.Value = Replace(c.Value, sText, "", 1, 1)
End If
Next c
End Sub
2.
Selection.Phonetics.Visible = True
コードの書法とか、分からないなら、分からないまま、まずコードを実行してみることから始まります。マクロやプログラムを覚えようとすなら、自分自身で、コンパイルし、実行してみることです。また、分からない部分は、カーソルを置いて、F1 で、ヘルプを調べてみる、そういう地道な作業から覚えます。
最近、みないと思ったのですが、どこにいるのですか?
REPLACE関数使うところなど、憎いですね。
私は、かなり人生のための精神も安定してきました。
一時はどうなることかと思いました。
マクロ人生も終焉を迎えたと思ったところだったのに。
(たぶん、この意味は私しか知らないと思う)
うーん、Wendy02さんは、いつもはどこにいるのですか?
もちろん、ネット世界での質問です。
No.2
- 回答日時:
A1セルに文字列があるとき
=IF(ISNUMBER(FIND("0",A1)),IF(MIN(FIND({"1","2","3","4","5","6","7","8","9"},A1&{"123456789"}))>FIND("0",A1),REPLACE(A1,FIND("0",A1),MIN(FIND({"1","2","3","4","5","6","7","8","9"},A1&{"123456789"}))-FIND("0",A1),),A1),A1)
FIND("0",A1) は最初に「0(全角)」が現れる位置
MIN(FIND({"1","2","3","4","5","6","7","8","9"},A1&{"123456789"})) は「1~9(全角)」が現れる位置です(ない場合はLen(A1)+1が返る)
その二つの数値は「0」の連続ですから、REPLACE関数で削除しています
>Selection.Phonetics.Visible = True
選択されているセル範囲の「フリガナ」を表示するのですね
>ひとつの構文でふたつのドットがあっても
意味が理解できません。ObjectがSelectionとPhoneticsの二つあるのですから、そのプロパティを表すにはドット「.」が二つないと表現できませんが、そういうことをお聞きですか?
いずれにせよ試せばわかることではないでしょうか
ご回答ありがとうございます。
関数にしても・・・ちとハイレベルのような・・・
マクロは、
>ObjectがSelectionとPhoneticsの二つあるのですから、
>そのプロパティを表すにはドット
を知りたかったです。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロでコピーすると数式が表示される 1 2022/09/09 20:21
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Excel(エクセル) Excelのマクロについて 2 2022/06/14 03:38
- Excel(エクセル) 重複したデータ(空白は除く)のVBA表記について 4 2022/08/15 07:28
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Excel(エクセル) Excelについて A1からA12まで、1月〜12月と入力し、 B1からB12の範囲に、C1とD1に 4 2022/05/26 22:48
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
住宅にカナを入力する際に丁目...
-
全角英数字の必要性が理解できない
-
英数字のみ全角から半角に変換
-
word差し込み印刷 半角カタカ...
-
VBA 文字に半角が含まれて...
-
IEからEdgeへの移行に伴うIMEの...
-
C言語のコンパイルエラーなん...
-
エクセル:セル「D列」に「○○○...
-
.NET3.5におけるキーボードの「...
-
全角/半角キーをSendkeys関数で...
-
全角ひらがな、漢字をマッチさ...
-
VBで、String型のデータが、...
-
正規表現を使った全角文字のチ...
-
VBでのカナの自動入力方法について
-
ACCESS VBA でのバイナリデー...
-
プログラミングでは、半角括弧...
-
VBA 「,」・空白・カタカナ等...
-
COBOL・全角判定
-
差し込み印刷について教えてく...
-
半角/全角文字混在データの分...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
住宅にカナを入力する際に丁目...
-
英数字のみ全角から半角に変換
-
VBA 文字に半角が含まれて...
-
IEからEdgeへの移行に伴うIMEの...
-
全角英数字の必要性が理解できない
-
COBOL・全角判定
-
word差し込み印刷 半角カタカ...
-
エクセルにMicrosoft Barcode C...
-
プログラミングでは、半角括弧...
-
メモ帳の段落の揃え方
-
エクセルの検索が正しくできな...
-
エクセルでの”々”の扱い
-
char型全角数字から、int型半角...
-
CString Format にて全角空白文...
-
.NET3.5におけるキーボードの「...
-
半角/全角文字混在データの分...
-
Accessで日付や数値を全角で表...
-
[Excel VBA] ODBCによる外部デ...
-
VB.net、テキストボックス入力...
-
改行のないテキストを指定バイ...
おすすめ情報