No.4ベストアンサー
- 回答日時:
こんにちは。
もう回答が出ていますが、
関数なら、
=MID(SUBSTITUTE(A1,","," "),1,FIND("^",SUBSTITUTE(A1,",","^",2))-1)
SUBSTITUTE(A1,",","^",2) の2が、2番目の意味
※なおエラー処理はされておりません。
VBAなら、以下のようでよいかな?
'実行用のプロシージャ
Sub TestSplit()
Dim myData As Variant
Dim v As Variant
Dim i As Long
'本来は、Excelなら、Set myData =Range("A1:A3")
ReDim myData(2)
myData(0) = "aaa,bbb,ccc,eee"
myData(1) = "fff,ggg,hhh,iii"
myData(2) = "jjj,kkk,lll,mmm"
For Each v In myData
Debug.Print CutAr(v, ",", 2)
'セルに出すなら
'i = i + 1
'Cells(i, 1).Value = CutAr(v, ",", 2)
Next v
'Set myData = Nothing
End Sub
'分割用のサブルーチン・ファンクション
Private Function CutAr(StrVal As Variant, Separator As String, cnt As Integer)
Dim Ar As Variant
Dim Arbuf As Variant
Ar = Split(StrVal, Separator)
If UBound(Ar) + 1 >= cnt Then
Arbuf = Ar
ReDim Preserve Arbuf(cnt - 1)
Else
Arbuf = Ar
End If
CutAr = Join(Arbuf)
End Function
No.5
- 回答日時:
Sub test01()
Dim d(2)
d(0) = "aaa , bbb, ccc, eee"
d(1) = "fff , ggg, hhh, iii"
d(2) = "jjj , kkk, lll, mmm"
For i = 0 To UBound(d)
x = Split(d(i), ",")
For j = 0 To 1
Cells(i + 1, j + 1) = x(j)
Next j
Next i
End Sub
結果はシートのセルにセットしました。
元データを配列に入れてはじめていますが、セルに入っている
場合も変え方は判るでしょう。
No.3
- 回答日時:
A1に文字列があるとき、B1に
=LEFT(A1,FIND("@",SUBSTITUTE(A1,",","@",1))-1)
C1に
=MID(A1,FIND("@",SUBSTITUTE(A1,",","@",1))+1,FIND("@",SUBSTITUTE(A1,",","@",2))-FIND("@",SUBSTITUTE(A1,",","@",1))-1)
の式を入れてみてください
ただし","が2つ以上あることと、文字列に"@"が無いことが正常な結果を得るための前提条件です。
もしその場合は補足してください。式を見直すことは可能です
No.2
- 回答日時:
No1さんの答えを応用して CutStr() を作ってみました。
Public Function CutStr(ByVal Text As String, _
ByVal Separator As String, _
ByVal N As Integer) As String
Dim strDatas() As String
strDatas = Split("" & Separator & Text, Separator, , 0)
CutStr = strDatas(N * Abs((N <= UBound(strDatas))))
End Function
? CutStr(A1, ",", 1) & " " & CutStr(A1, ",", 2)
aaa bbb
No.1
- 回答日時:
>これだけ(左から2個分)を抜き取りたいのですが可能でしょうか?
関数の仕組みが解っていれば簡単なはずですよ。
読み込まれた物は配列に入っているので、最初の2個だけ読み出せば良いだけです。
質問者様が実際にどのような使い方をするか解りませんが・・・一例です。
Sub test()
Dim txt As String
Dim tmp As Variant
txt = "aaa,bbb,ccc,eee"
tmp = Split(txt, ",")
Debug.Print tmp(0), tmp(1)
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel VBA 3 2023/04/22 10:46
- Excel(エクセル) ¥マークを含むパスの処理について(マクロ、または関数) 2 2022/12/25 02:11
- Excel(エクセル) ExcelVBAの、Index matchについて 2 2023/04/18 16:57
- Access(アクセス) accessデータを指定したExcel、そして指定したセルへエクスポートするaccess VBAコー 2 2023/05/17 17:02
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- Excel(エクセル) 重複したデータ(空白は除く)のVBA表記について 4 2022/08/15 07:28
- Perl perl このテキストファイルを簡単に配列に入れるには? 2 2022/04/27 20:24
- その他(Microsoft Office) パワークエリの複数ファイルのデータ統合について 3 2022/07/14 17:06
- Visual Basic(VBA) VBA。複数のChangeイベントをまとめる方法 2 2022/03/31 12:03
- Visual Basic(VBA) 【VBA】特定の文字で改行(次の行)に行きたい。 3 2022/04/11 17:20
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで曜日を表示させると、「...
-
エクセルにて、右から最初のス...
-
OS 10.4/ 保存先のパスを指定す...
-
寝バックした時奥まで入りませ...
-
ダンスの立ち位置がいつも端
-
たらたらたらたーたらたらたら...
-
和を乱す or 輪を乱す
-
私は女子大生です。裸を見せた...
-
エッチな罰ゲーム
-
NA・NA・NA~ NA・NA・NA~、
-
曲名が知りたいです!! とぅと...
-
韓国の曲だと思います。曲名と...
-
バレエ教室を辞めさせられました
-
TMN宇都宮隆さんの声がEXPO以降...
-
アイドルオーディションの自己P...
-
『はいずかずんばずんば』とい...
-
ダンス動画の反転バージョンと...
-
ダンスの位置がいつも1番後ろの列
-
ラストダンスの意味・使い方
-
タイトルか歌詞に「靴」か「シ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで曜日を表示させると、「...
-
エクセルにて、右から最初のス...
-
ディレクトリを区切るダブルス...
-
OS 10.4/ 保存先のパスを指定す...
-
Excel2003で日付と曜日を連続作...
-
変数の宣言について
-
ACCESSのフォーム上に連番番号...
-
アゲハチョウの待ち受け
-
Google Appsを利用しつつ複数サ...
-
EXCEL VBA split関数について
-
ロンダートをマスターしたい
-
wwwありとwwwなし・・・どうす...
-
バク転の恐怖心
-
ファミリーマートのaaa一番くじ...
-
寝バックした時奥まで入りませ...
-
TMN宇都宮隆さんの声がEXPO以降...
-
和を乱す or 輪を乱す
-
ダンスの立ち位置がいつも端
-
たらたらたらたーたらたらたら...
-
真珠夫人の最終回を見逃してし...
おすすめ情報