
No.3ベストアンサー
- 回答日時:
Option Explicit
Sub 全角だけならOK()
Dim xChar As Range
Columns("B").ClearContents
For Each xChar In Range("A1", Cells(Rows.Count, "A").End(xlUp))
If Not IsEmpty(xChar.Value) Then
If (StrConv(xChar.Value, vbWide) = xChar.Value) Then
xChar.Offset(, 1).Value = "OK" '全角だけ
Else
xChar.Offset(, 1).Value = "NG"
End If
End If
Next
End Sub
No.2
- 回答日時:
何をしたいのですか。
>再終行までを判断させる
sub macro1()
dim h as range
for each h in range("A1:A" & range("A65536").end(xlup).row)
if len(strconv(h, vbfromunicode)) * 2 - lenb(strconv(h, vbfromunicode)) <> 0 then
msgbox "NG"
exit sub
end if
next
msgbox "OK"
end sub
sub macro2()
range("B1:B" & range("A65536").end(xlup).row).formula = "=IF(LEN(A1)*2-LENB(A1)=0,""OK"",""NG"")
end sub
sub macro3()
dim h as range
for each h in range("A1:A" & range("A65536").end(xlup).row)
h.select
if len(strconv(h, vbfromunicode)) * 2 - lenb(strconv(h, vbfromunicode)) <> 0 then
msgbox "NG"
else
msgbox "OK"
end if
next
end sub
No.1
- 回答日時:
2つの方法があります。
ひとつは、質問の数式通りの方法で、もうひとつは、全角にして比較する方法です。
VBAの扱う文字は、Unicodeですから、一旦、JISに戻さないと、LenBのバイトデータが取れません。
なお、他にも、もう一つ代表的な方法があります。
'//
Sub Test1()
Dim c As Variant
For Each c In Range("A1", Cells(Rows.Count, 1).End(xlUp))
If LenB(StrConv(c.Value, vbFromUnicode)) = LenB(c.Value) Then
c.Offset(, 1).Value = "OK" '全角
Else
c.Offset(, 1).Value = "NG" '半角
End If
Next c
End Sub
Sub Test2()
Dim c As Variant
For Each c In Range("A1", Cells(Rows.Count, 1).End(xlUp))
If StrConv(c.Value, vbWide) = c.Value Then
c.Offset(, 1).Value = "OK" '全角
Else
c.Offset(, 1).Value = "NG" '半角
End If
Next c
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ハイフン(-)が長音(ー)
-
長音「ー」とマイナス「-」の...
-
更新クエリで半角カタカナのみ...
-
VB.NETで DataRow()を利用して...
-
【Excel VBA】指定行以降をクリ...
-
VBAでActiveDirectoryのユーザ...
-
エクセルVBAで範囲内での位置取...
-
i=cells(Rows.Count, 1)とi=cel...
-
VB.NETでコンボボックスの1行目...
-
Excelで指定した日付から過去の...
-
VBSでエクセル内の行数を取得す...
-
配列がとびとびである場合の書き方
-
秒以下は取得できないですか?
-
テキストボックスのvalueとtext...
-
EXCELで変数をペーストしたい
-
Accessのクエリで、replace関数...
-
特定のセルが空白だったら、そ...
-
ListView 項目の選択/選択解除...
-
MACアドレスを取得する方法はあ...
-
ExcelのINDEXとMATCH関数でスピ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「ー」←これは伸ばし棒ですか?...
-
UTF-8 と SHIFT-JIS について
-
更新クエリで半角カタカナのみ...
-
ハイフン(-)が長音(ー)
-
長音「ー」とマイナス「-」の...
-
エクセル2016 条件付き書式で全...
-
Outlookの連絡先のフリガナを半...
-
特定の列の値を、ひらがな・漢...
-
Excelで文字の長さを揃えるには
-
VBA エクセル 全角 半角
-
エクセルシート中の全角英数字...
-
アクセス2000:クエリの関数で...
-
オリジナルCD の CD TEXT作成...
-
文字種の変換
-
アクセスのLENBとエクセルのLEN...
-
Indesign自動化処理
-
掲示板に書き込む文字の半角/全...
-
VB.NETで DataRow()を利用して...
-
Accessのクエリで、replace関数...
-
テキストボックスのvalueとtext...
おすすめ情報