質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

774閲覧

VBA 文字種の指定方法

Mkasai

総合スコア19

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2020/05/01 05:41

VBAコードに、文字種の指定方法を追加したいのですが、どのように追加したらいいのか悩んでいます。
K19セルに実行結果が表示されるのですが、
01-1234-5678-0000 と表示されるところを、01-1234-5678-0000と大文字で表示するようにしたいです。
現在のVBAコードは以下のとおりです。

発生している問題・エラーメッセージ

該当のソースコード

Sub

1Dim s As String 2Dim cnt As Long 3With Worksheets("代金請求書") 4cnt = .Cells(Rows.Count, 1).End(xlUp).Row - 2 + 1 5Select Case cnt 6Case 1: s = .Range("A2"): Worksheets("代金請求書").Range("K19").Font.Size = 11 7Case 2: s = .Range("A2") & vbCrLf & .Range("A3"): Worksheets("代金請求書").Range("K19").Font.Size = 11 8Case 3: s = Join3(.Range("A2:A3")) & vbCrLf & .Range("A4"): Worksheets("代金請求書").Range("K19").Font.Size = 6 9Case 4: s = Join3(.Range("A2:A3")) & vbCrLf & Join3(.Range("A4:A5")): Worksheets("代金請求書").Range("K19").Font.Size = 6 10End Select 11End With 12Worksheets("代金請求書").Range("K19").Value = s 13End Sub 14Function Join3(r As Range) As String 15Join3 = Join(WorksheetFunction.Transpose(r), "、") 16End Function

試したこと

vbWide を使うのだろうと思うのですが、書き方がわからず悩んでいます。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

簡単なサンプルで、検証するとこんな感じでしょうか・・。

VBA

1Sub test() 2Dim str1 As String 3Dim str2 As String 4 5str1 = "01-1234-5678-0000" 6 7MsgBox "変換前:" & str1 8 9str2 = StrConv(str1, vbWide) 10 11MsgBox "変換後:" & str2 12 13End Sub 14

投稿2020/05/01 05:53

編集2020/05/01 06:00
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/05/01 06:11

'元のVBAを編集するとこのようなイメージでしょうか・・・ Dim s As String Dim s2 As String Dim cnt As Long With Worksheets("代金請求書") cnt = .Cells(Rows.Count, 1).End(xlUp).Row - 2 + 1 Select Case cnt Case 1 s = .Range("A2") s2=StrConv(s, vbWide) Worksheets("代金請求書").Range("K19").Font.Size = 11 Case 2 s = .Range("A2") & vbCrLf & .Range("A3") s2=StrConv(s, vbWide) Worksheets("代金請求書").Range("K19").Font.Size = 11 Case 3 s = Join3(.Range("A2:A3")) & vbCrLf & .Range("A4") s2=StrConv(s, vbWide) Worksheets("代金請求書").Range("K19").Font.Size = 6 Case 4 s = Join3(.Range("A2:A3")) & vbCrLf & Join3(.Range("A4:A5")) s2=StrConv(s, vbWide) Worksheets("代金請求書").Range("K19").Font.Size = 6 End Select End With Worksheets("代金請求書").Range("K19").Value = s2 End Sub Function Join3(r As Range) As String Join3 = Join(WorksheetFunction.Transpose(r), "、") End Function
Mkasai

2020/05/01 06:37

いつもありがとうございます。 使わせていただきました。
退会済みユーザー

退会済みユーザー

2020/05/01 06:39

こちらこそ、解決ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問