Excel VBA質問箱 IV

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

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


35177 / 76732 ←次へ | 前へ→

【46757】Re:文字列のつなぎ
発言  へっぽこ  - 07/2/14(水) 10:21 -

引用なし
パスワード
   こんにちは。

3パターンほど書いてみました。

Sub サンプル()
  Dim counter As Long
  Dim test1a As Variant
  Dim test1b As Variant
  Dim test1c As Variant
  Dim test2 As Variant
  Dim 最初スイッチ As Boolean
'------------
'元ネタを用意
'------------
  'test2の中身を1つずつ設定するのが大変だったので
  'Split使いました。(Splitの詳細はヘルプ参照)
  test2 = Split("あ い う え お")
'--------------------------------------------------------
'カンマで繋ぐ
'※最初だけカンマがいらないので最初を判断する必要があるが
' いくつか方法があるのでそれぞれ書いてみました。
' (いろいろ載せる意味、あんまりないけど)
'--------------------------------------------------------
  '方法1(判断用の変数を使う)
  最初スイッチ = True
  For counter = LBound(test2) To UBound(test2)
    If 最初スイッチ = True Then
      最初スイッチ = False
    Else
      test1a = test1a & ","
    End If
    test1a = test1a & test2(counter)
  Next counter
  MsgBox "方法1:" & test1a
  '方法2(変数counterが指している値を使う)
  For counter = LBound(test2) To UBound(test2)
    If counter > LBound(test2) Then
      test1b = test1b & ","
    End If
    test1b = test1b & test2(counter)
  Next counter
  MsgBox "方法2:" & test1b
  '方法3(繋いだ結果を入れる変数(test1c)が空っぽなら「最初だな」と判断する)
  For counter = LBound(test2) To UBound(test2)
    If test1c <> "" Then
      test1c = test1c & ","
    End If
    test1c = test1c & test2(counter)
  Next counter
  MsgBox "方法3:" & test1c
End Sub

良く使うのは3番目の方法かな…

1 hits

【46755】文字列のつなぎ なた 07/2/14(水) 9:24 質問
【46756】Re:文字列のつなぎ Blue 07/2/14(水) 9:43 回答
【46757】Re:文字列のつなぎ へっぽこ 07/2/14(水) 10:21 発言
【46758】Re:文字列のつなぎ ハチ 07/2/14(水) 10:52 発言
【46760】Re:文字列のつなぎ Blue 07/2/14(水) 12:28 質問
【46763】Re:文字列のつなぎ ハチ 07/2/14(水) 12:48 発言
【46764】Re:文字列のつなぎ なた 07/2/14(水) 12:50 お礼

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