
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんな感じだな!!
(しかし、同じようなマクロばっかり、書いてるな~)
Sub Macro1()
Dim i As Long
Dim a As Variant
Dim rep As Long
For i = Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1
a = Split(Cells(i, "E").Value, "、")
rep = UBound(a)
If rep > 0 Then
Rows(i).Copy
Rows(i + 1).Resize(rep).Insert Shift:=xlDown
Cells(i, "E").Resize(rep + 1) = WorksheetFunction.Transpose(a)
Application.CutCopyMode = False
End If
Next i
End Sub
No.1
- 回答日時:
こんにちは
>どのような関数やVBAを使えば処理できるか教えて頂けますでしょうか。
関数でもできないことはありませんが、かなり面倒です。
例えば、
=LEN(E2)-LEN(SUBSTITUTE(E2,"、",""))+1
で、E2セルの文字を分解したときの個数が求められるので、これを利用して累積配列を作成しておき(配列は当然昇順になります)、記入する行数で上記配列を検索すると、何番目のデータが該当するか(=記入すべきか)わかります。
A~D列はその行番号のデータを参照するだけで良いですが、E列に関してはさらに、上記の番号と実際の行数との差から、分解したときの順番を求めて参照することになります。
一発で求めようとすると、とても複雑な式になるでしょうから、作業列等を利用して、順に求めてゆくのがよさそうに思います。
VBAを利用する場合は、さほど難しいものにはならないと思います。
別シートに書き写すものとするなら、E列の文字列に対してSplit関数で
DivStr = Split(Range("E2").Value, "、")
とすれば、”、”で区切った文字配列(0スタート)が得られるので、
0~Ubound(DivStr)までをループしながらコピーすれば1行分の処理が終わります。
各行に対して順にこの処理を繰り返せば、ご質問内容を実現できるでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Visual Basic(VBA) 指定した文字から指定した文字のスペースまでを削除するVBAの構文について 6 2022/07/24 22:20
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Excel(エクセル) Excelの文字列を数字に変換する方法について 6 2023/07/31 21:18
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- Excel(エクセル) 名前と日付が一致する箇所にフラグを立てる関数が知りたいです 4 2022/08/11 02:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Word2016でExcelデータを差込し...
-
エクセルの関数、お願いします<...
-
エクセル 並び替え
-
エクセルのマクロを教えてくだ...
-
ドロップダウンリスト
-
Excelのピボットテーブル
-
エクセルで別の表を貼り付ける方法
-
教えてください!エクセルで二...
-
エクセルの異なるシートから共...
-
(Excel2000)特定の期間を表示...
-
EXCELのデータベース利用につい...
-
Vba Copy&Pasteについて教えて...
-
ワードで勝手に点線ラインがでる
-
(Word)点線枠の消し方を教えて...
-
WORD- - - - -点線が消えません
-
セル入力文字が、「右のセルに...
-
ワードのテキストボックス
-
ワードの表について
-
ワード2000で罫線を使ってレポ...
-
あるセルに色を付けた時、別の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Word2016でExcelデータを差込し...
-
【Excel VBA】CSV取込時、数字...
-
EXCEL2007で2つのシートのどっ...
-
EXCELの列の幅
-
エクセルでページ毎の計をつけ...
-
エクセルで前年同日・前月同日...
-
EXCELで2つのシートから一致し...
-
Excel 表の必要箇所だけを抜き...
-
エクセルで電話番号にハイフン...
-
Excelで奇数行を削除
-
excelの列がいっぱいになり列を...
-
SUMPRODUCT関数で複数条件適用...
-
エクセルVBAで複数列データを1...
-
エクセルの余白を0にしても列...
-
選択範囲の表を空白を削除して...
-
EXCELで不良率を出そうと思って...
-
ExcelのIF関数について
-
マクロ実行時のエラーの原因を...
-
ドロップダウンリスト
-
VBAで列に計算式を入れたい
おすすめ情報