Excel VBA 質問スレッド №1385 (解決済)

カンマ区切りを縦列へ

投稿者 : またぎ     投稿日時 : 2023/04/25(Tue) 22:14:01     OS : Windows 10     EXCEL : Excel 2016
列にあるカンマ区切りのデータを別シートのあるセルを起点に下に1セルずつ分割して貼り付けるマクロを動かしておりますが、
transposeを使用しているためデータ数が多くなり1つのセルが255文字を超えると動かなくなってしまいます。
transposeを使用せずに同様の動きをすることは可能でしょうか?


Sub レイアウト()
    Dim xArr() As String
    Dim Rg As Range
    Dim Rg1 As Range
    Set Rg = Sheets("貼付シート").Range("E2:E100")
    Set Rg1 = Sheets("レイアウト").Cells(1, 35)
    xArr = Split(Join(Application.Transpose(Rg.Value), ","), ",")
    Rg1.Resize(UBound(xArr) + 1) = Application.Transpose(xArr)
    Rg1.Parent.Activate
   Rg1.Resize(UBound(xArr) + 1).Select
End Sub

スポンサーリンク
[返信 1] Re : カンマ区切りを縦列へ
投稿者 : ふたまた     投稿日時 : 2023/04/26(Wed) 01:38:11
[[20230425161116]] 『カンマ区切りデータのを列に貼り付け』(またぎ)
https://www.excel.studio-kazu.jp/kw/20230425161116.html

[返信 2] Re : カンマ区切りを縦列へ
投稿者 : さんこう     投稿日時 : 2023/04/26(Wed) 07:59:23
>transposeを使用せずに同様の動きをすることは可能でしょうか?

もちろん可能です。

むしろ、単純にループで書くほうが一般的かと思いますが。

[返信 3] Re : カンマ区切りを縦列へ
投稿者 : てらてら     投稿日時 : 2023/04/26(Wed) 08:21:46
こんにちは。

コードを見ますと、列のデータをわざわざカンマ付きの文字列にしていますが、以下のような方法で実現できると思います。

Sub macro()
    Dim i As Long
    For i = 2 To 100    'Range("E2:E100")
        Sheets("レイアウト").Cells(i - 1, 35) = Sheets("貼付シート").Cells(i, "E")
    Next i
End Sub

表題のように「カンマ区切りデータのを列に貼り付け」したいのであれば、カンマ区切りデータをSplit関数で配列にして、それをセルに配置していけばOKだと思います。

[返信 4] Re : カンマ区切りを縦列へ
投稿者 : またぎ     投稿日時 : 2023/04/26(Wed) 12:59:39
■[返信 3] てらてらさん(2023-04-26 08:21:46)の記事
> こんにちは。

> コードを見ますと、列のデータをわざわざカンマ付きの文字列にしていますが、以下のような方法で実現できると思います。

> Sub macro()
> Dim i As Long
> For i = 2 To 100 'Range("E2:E100")
> Sheets("レイアウト").Cells(i - 1, 35) = Sheets("貼付シート").Cells(i, "E")
> Next i
> End Sub

> 表題のように「カンマ区切りデータのを列に貼り付け」したいのであれば、カンマ区切りデータをSplit関数で配列にして、それをセルに配置していけばOKだと思います。



皆様ありがとうございました。解決しました。

当掲示板について
  • Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
  • 記事内ではHTMLのタグは使用できません。
  • 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
  • Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
  • Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
お 名 前  :
内  容   :

ステータス  :

認証コード  : キャプチャ画像 




( 処理日時 : 2026-04-05 19:00:09 )
タイトルとURLをコピーしました