Excel VBA質問箱 IV

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

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


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

【81349】横並びのデータを5列毎に貼り付ける 猫ママ 20/6/10(水) 15:35 質問[未読]
【81350】Re:横並びのデータを5列毎に貼り付ける マナ 20/6/10(水) 20:07 発言[未読]
【81351】Re:横並びのデータを5列毎に貼り付ける 猫ママ 20/6/11(木) 10:47 質問[未読]
【81352】Re:横並びのデータを5列毎に貼り付ける マナ 20/6/11(木) 12:40 発言[未読]
【81353】Re:横並びのデータを5列毎に貼り付ける 猫ママ 20/6/11(木) 13:22 お礼[未読]

【81349】横並びのデータを5列毎に貼り付ける
質問  猫ママ  - 20/6/10(水) 15:35 -

引用なし
パスワード
   先日はありがとうございました。
投稿No.81343の続きで、横並びになったデータを3列毎に改行して別シートに
貼り付けたいです。


ぶどう     白桃      オレンジ もも    もも     りんご      マスカット
山田太郎 山田太郎 山田太郎 山田太郎    山田太郎 高橋一郎 高橋一郎    

               ↓
ぶどう     白桃      オレンジ 
山田太郎 山田太郎 山田太郎
もも     もも     りんご      
山田太郎     山田太郎 高橋一郎 
マスカット
高橋一郎


お手数お掛け致しますが、どうぞよろしくお願いいたします。

【81350】Re:横並びのデータを5列毎に貼り付ける
発言  マナ  - 20/6/10(水) 20:07 -

引用なし
パスワード
   ▼猫ママ さん:

>投稿No.81343の続きで、横並びになったデータを3列毎に改行して別シートに
>貼り付けたいです。


以下の部分で、貼り付け先を調整するとよいです。
3列毎に改行なら、n=4になったら、n=1とすれば
列は、1→2→3→1→2→3…となります。
同時に、行も、それぞれ、+2するとよいです。

>        n = n + 1
>        Worksheets("2").Cells(1, n).Value = 商品
>        Worksheets("2").Cells(2, n).Value = 名前


>


【81351】Re:横並びのデータを5列毎に貼り付ける
質問  猫ママ  - 20/6/11(木) 10:47 -

引用なし
パスワード
   お世話になります。
Ifで入れてみたのですが、どうもうまく貼り付けません。
どう修正したらいいのでしょうか?
何度も申し訳ございません。


Sub オリジナル()
  Dim r As Range
  Dim j As Long, k As Long, i As Long
  Dim 名前 As String, 商品 As String
  Dim n As Long
 
   Set r = Worksheets("蒟蒻畑").Cells(1).CurrentRegion
 
   For j = 2 To r.Rows.Count
    名前 = r.Cells(j, 1).Value
    For k = 2 To r.Columns.Count
      商品 = r.Cells(1, k)
      For i = 1 To r.Cells(j, k)
        
        If n = 4 Then
        n = 1
        Worksheets("1").Cells(1 + 2, n).Value = 商品
        Worksheets("1").Cells(2 + 2, n).Value = 名前
        Else
        n = n + 1
        Worksheets("1").Cells(1, n).Value = 商品
        Worksheets("1").Cells(2, n).Value = 名前
        End If
      
       Next
    Next
  Next

End Sub


▼マナ さん:
>▼猫ママ さん:
>
>>投稿No.81343の続きで、横並びになったデータを3列毎に改行して別シートに
>>貼り付けたいです。
>
>
>以下の部分で、貼り付け先を調整するとよいです。
>3列毎に改行なら、n=4になったら、n=1とすれば
>列は、1→2→3→1→2→3…となります。
>同時に、行も、それぞれ、+2するとよいです。
>
>>        n = n + 1
>>        Worksheets("2").Cells(1, n).Value = 商品
>>        Worksheets("2").Cells(2, n).Value = 名前
>
>
>>
>^

【81352】Re:横並びのデータを5列毎に貼り付ける
発言  マナ  - 20/6/11(木) 12:40 -

引用なし
パスワード
   ▼猫ママ さん:

>        Worksheets("1").Cells(1 + 2, n).Value = 商品
>        Worksheets("1").Cells(2 + 2, n).Value = 名前

行番号も列番号のように変数を使えばどうでしょうか。
例えば、
m = m + 2
とするとか。

【81353】Re:横並びのデータを5列毎に貼り付ける
お礼  猫ママ  - 20/6/11(木) 13:22 -

引用なし
パスワード
   アドバイスありがとうございます。
頑張ってみます。


▼マナ さん:
>▼猫ママ さん:
>
>>        Worksheets("1").Cells(1 + 2, n).Value = 商品
>>        Worksheets("1").Cells(2 + 2, n).Value = 名前
>
>行番号も列番号のように変数を使えばどうでしょうか。
>例えば、
>m = m + 2
>とするとか。

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