Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2758 / 13645 ツリー ←次へ | 前へ→

【66126】TEXT BOXの文字を変換 とってぃ 10/8/3(火) 10:24 質問[未読]
【66127】Re:TEXT BOXの文字を変換 Jaka 10/8/3(火) 11:04 発言[未読]
【66128】Re:TEXT BOXの文字を変換 Jaka 10/8/3(火) 11:08 発言[未読]
【66130】Re:TEXT BOXの文字を変換 とってぃ 10/8/3(火) 12:03 質問[未読]
【66129】Re:TEXT BOXの文字を変換 UO3 10/8/3(火) 11:46 回答[未読]
【66131】Re:TEXT BOXの文字を変換 とってぃ 10/8/3(火) 12:03 お礼[未読]

【66126】TEXT BOXの文字を変換
質問  とってぃ E-MAIL  - 10/8/3(火) 10:24 -

引用なし
パスワード
   よろしくお願いします。
どうやっていいかまったくわかりません。どなたか教えてください。

TextBox1に偶数数の数字が羅列しています。
CommandButton1でTextBox1の文字列TextBox2分解したいです。
分解は左から2文字間隔で\を入れたい。

例:TextBox1 →3042304430463048304A
(CommandButton1)を押すと

TextBox2 →30\42\30\44\30\46\30\48\30\4A

よろしくお願いします。

【66127】Re:TEXT BOXの文字を変換
発言  Jaka  - 10/8/3(火) 11:04 -

引用なし
パスワード
   mo = Int(Len(TextBox1.Value) / 2) - 1
st = TextBox1.Value
For i = 1 To mo
  ct = ct + 3
  st = Application.Replace(st, ct, 0, "\")
Next
TextBox2.Value = st

【66128】Re:TEXT BOXの文字を変換
発言  Jaka  - 10/8/3(火) 11:08 -

引用なし
パスワード
   >mo = Int(Len(TextBox1.Value) / 2) - 1
あ、奇数個は考えなかったから、intする必要は無かった。

【66129】Re:TEXT BOXの文字を変換
回答  UO3  - 10/8/3(火) 11:46 -

引用なし
パスワード
   ▼とってぃ さん:

こんにちは

既に回答が出ていますが別案で。
TextBox1には偶数個の文字が入っているということですが
人間が触れるわけで、奇数だった場合の、最後の1文字も
対応しています。

Private Sub CommandButton1_Click()
Dim x As Long, i As Long, j As Long
Dim v() As String
 If TextBox1.Value = "" Then
  TextBox2.Value = ""
  Exit Sub
 End If
 x = WorksheetFunction.RoundUp((Len(TextBox1.Value) / 2), 0)
 ReDim v(1 To x)
 j = -1
 For i = 1 To x
  j = j + 2
  v(i) = Mid(TextBox1.Value, j, 2)
 Next
 TextBox2.Value = Join(v, "\")
End Sub

【66130】Re:TEXT BOXの文字を変換
質問  とってぃ E-MAIL  - 10/8/3(火) 12:03 -

引用なし
パスワード
   ▼Jaka さん:
ありがとうございました。
行いたい動作になりました。

>>mo = Int(Len(TextBox1.Value) / 2) - 1
>あ、奇数個は考えなかったから、intする必要は無かった。

【66131】Re:TEXT BOXの文字を変換
お礼  とってぃ E-MAIL  - 10/8/3(火) 12:03 -

引用なし
パスワード
   ▼UO3 さん:
ありがとうございました。
無事に動作しました。勉強してみます。
>▼とってぃ さん:
>
>こんにちは
>
>既に回答が出ていますが別案で。
>TextBox1には偶数個の文字が入っているということですが
>人間が触れるわけで、奇数だった場合の、最後の1文字も
>対応しています。
>
>Private Sub CommandButton1_Click()
>Dim x As Long, i As Long, j As Long
>Dim v() As String
> If TextBox1.Value = "" Then
>  TextBox2.Value = ""
>  Exit Sub
> End If
> x = WorksheetFunction.RoundUp((Len(TextBox1.Value) / 2), 0)
> ReDim v(1 To x)
> j = -1
> For i = 1 To x
>  j = j + 2
>  v(i) = Mid(TextBox1.Value, j, 2)
> Next
> TextBox2.Value = Join(v, "\")
>End Sub

2758 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free