
No.2ベストアンサー
- 回答日時:
お疲れ様です。
RTrim$()で後ろの空白を削除すればよいのではないでしょうか。
「スペースが半角4桁(全角2桁)以上ある場合」は文字の長さの差で見ては同でしょうか。
余り良い方法ではないかもしれませんが。。。
Option Explicit
Private Sub Form_Load()
Dim strNAME As String
strNAME = "山田 太郎 "
'// 後ろの空白を削除したものと、何Byteの差が有るかを調べる
If LenB(StrConv(strNAME, vbFromUnicode)) - LenB(StrConv(RTrim$(strNAME), vbFromUnicode)) >= 4 Then
'// 4Byte以上の差があるので後ろの空白削除
strNAME = RTrim$(strNAME)
Else
'// 4Byteも差がないのでそのまま
End If
'// 結果表示
MsgBox """" & strNAME & """"
End Sub
間違っていたらごめんなさい。
No.5
- 回答日時:
こんにちは、honiyonです。
一文字ずつ検査していくには、文字列から検査する一文字だけを取りだす必要があります。 文字列からその一部分だけを取り出すには MID$関数を使います。
以下は具体的な使用例です。
Private Sub Command1_Click()
Dim name As String
name = "山田 太郎"
For i = 1 To Len(name)
MsgBox Mid$(name, i, 1)
Next i
End Sub
これを実行すると、name変数の内容(あいうえお)を左から順に、一文字ずつ取り出して表示します。
参考になれば幸いです(..
No.4
- 回答日時:
重複回答ですみません、補足します。
name = " 山田 太郎 "
などの場合で、左側全角スペースを破棄したくない場合は、Trim関数をRTrim関数に置き換えてください。
No.3
- 回答日時:
VB5.0(SP3)での回答とさせていただきます。
簡単に説明させていただくと、一度可変長文字列変数にTrimして代入し、取り出すという方法で処理可能です。
Private Sub TestCode()
Dim name As String * 50
Dim name_work As String
name = "山田 太郎 "
name_work = name
name_work = Trim(name_work)
MsgBox Len(name_work)
End Sub
MsgBox関数にて、5と表示されますので、目的の処理結果になります。
参考になれば幸いです。
No.1
- 回答日時:
こんにちは、honiyonです。
もし、名字と名前の間のスペースも同様に、「全角2桁以上の場合は全角1桁にする」という処理を適用しても良いのなら簡単です。
NAME = "山田 太郎 "とする。
1.SpaceCount変数を用意(整数型)
最初に 0でリセットしておく。(SpaceCount = 0)
Answer変数を用意。(文字列型)
同様に ""でリセット。(Answer = "")
2.NAME変数の、左から順に1文字ずつ検査していく。
もし、全角スペースを発見したら、SpaceCountに1を加算する。
もし、全角スペース以外なら、SpaceCountに0を代入する。
もし、SpaceCount <= 1なら、現在検査途中の1文字を、Answerに追加する。(SpaceCount > 1の時は追加しない)
簡単に説明すると、NAME変数の中身を、一文字ずつ Answer変数にコピーしていきます。 その仮定で、全角スペースが2個以上並んでいる時は、最初の一個だけコピーして、次から並んでいる全角スペースはコピーしない、という仕組みです。
参考になれば幸いです(..
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- PHP Postgresの特定のカラムからスペースを取る方法 1 2023/02/22 13:18
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/01/12 09:24
- その他(Microsoft Office) 英数字のみ全角から半角に変換 4 2023/07/28 14:48
- Excel(エクセル) 【マクロ】フォルダを2つのモニターの定位置に並べたい 2 2022/09/02 01:14
- Excel(エクセル) 【関数】ハイフン(-)を月や日に変えたい。スペースを削除したい。 4 2023/07/12 08:49
- Excel(エクセル) 【マクロ】フォルダを3つ、POモニター上に、決まった並べ方をしたい 4 2022/08/31 11:05
- Access(アクセス) Access で半角スペースと全角スペースの区別について 3 2022/11/05 23:54
- PDF C#でfloatを整数部、小数部とも桁数固定で文字表示したい 2 2022/07/28 09:37
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
住宅にカナを入力する際に丁目...
-
半角・全角の由来
-
IEからEdgeへの移行に伴うIMEの...
-
英数字のみ全角から半角に変換
-
char型全角数字から、int型半角...
-
word差し込み印刷 半角カタカ...
-
VBA 文字に半角が含まれて...
-
Accessで日付や数値を全角で表...
-
エクセルの検索が正しくできな...
-
[VBScript]バイト長の判定
-
空白を全て削除したい
-
全角日本語について
-
CString Format にて全角空白文...
-
COBOLでの全角文字の判定をした...
-
メモ帳の段落の揃え方
-
COBOL・全角判定
-
VB.net、テキストボックス入力...
-
全角/半角キーをSendkeys関数で...
-
POM
-
エクセルにMicrosoft Barcode C...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
住宅にカナを入力する際に丁目...
-
英数字のみ全角から半角に変換
-
VBA 文字に半角が含まれて...
-
IEからEdgeへの移行に伴うIMEの...
-
全角英数字の必要性が理解できない
-
COBOL・全角判定
-
word差し込み印刷 半角カタカ...
-
エクセルにMicrosoft Barcode C...
-
プログラミングでは、半角括弧...
-
メモ帳の段落の揃え方
-
エクセルの検索が正しくできな...
-
エクセルでの”々”の扱い
-
char型全角数字から、int型半角...
-
CString Format にて全角空白文...
-
.NET3.5におけるキーボードの「...
-
半角/全角文字混在データの分...
-
Accessで日付や数値を全角で表...
-
[Excel VBA] ODBCによる外部デ...
-
VB.net、テキストボックス入力...
-
改行のないテキストを指定バイ...
おすすめ情報