[[20210125020135]] 『フォーマットに合わせたセル選択範囲の方法』(もなか) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『フォーマットに合わせたセル選択範囲の方法』(もなか)

【フォーマット:MAX4列5行】横に続いている

  りんご     みかん      だいこん
  A B C D  E F G H   I J K L …
 1     1      1
 2     2           2
 3     3           3
 4     4           4
 5     5           5

 上記のフォーマットにデータを張りたいのですが、うまくセル範囲選択できません。具体的には、下記のデータ一覧です。

 <データ>縦に一覧となっている
  りんご
      A B C D
   1
   2
   3
  みかん 
      A B C D
   1
   2
   3
     4
     5
  だいこん
      A B C D
   1
   2

 基本的にデータ毎に行がバラバラです。終了セルに何かしらの条件が必要なのかな?と思いますが、初心者のためうまく設定できません。

 アドバイスお願いいたします。

< 使用 Excel:Excel2013、使用 OS:Windows10 >


 >下記のデータ一覧です。
 これはデータとは言えません。ただのレイアウトです。
 >データを張りたいのですが
 これだけではわかりません。
 どういうふうにしたいのかデータを入力して説明してください。
 ><データ>縦に一覧となっている
 縦になってるのだったら行についてレイアウトおかしくありませんか。
 それともシート別ですか。
 >基本的にデータ毎に行がバラバラです。
 データ毎とはなんですか。
(pp) 2021/01/25(月) 10:01

PP様

 説明不足で申し訳ございません。

 <データ>
 A列:1〜5番(りんご→3番まで、みかん→5番まで、だいこん→2番まで)
 B〜D列:数字や文字(選択したい範囲のデータ)

       A   B   C   D
  1 りんご
  2   1  10  16    101
  3  2  35  佐藤   50
  4  3  48  田中    13
  5 みかん 
  7  1  50   100    45
  8  2  46   150    餅
  9  3  55    45  78
 10    4  桜    75  90
 11    5  黄    60  1000
 12 だいこん
 13  1 55  65  100
 14  2 49  57  56

【フォーマット】

 A列:すべて5番まで記載
 B〜D列、F〜H列、J〜L列…:空欄のため、データを入力したい

 1  りんご     みかん      だいこん
 2  A B C D  E F G H   I J K L …
 3  1     1      1
 4  2     2           2
 5  3     3           3
 6  4     4           4
 7  5     5           5

(もなか) 2021/01/25(月) 11:03


横から失礼します。
まだいまいち意図がつかめませんが、データとフォーマットは別シートかつそれぞれのシート名だと仮定して話します。
データのりんごが3番までしかない(データ数が変動しない)ならば、
フォーマットのB3に=フォーマット!B3
C3に=フォーマット!C3
のように紐づけるだけで解決するように思えますが。。。

仮にりんごやみかんのデータ数が変わるにもかかわらず同列で入力しているということはデータを追加するときは行を追加しているのでしょうか?
上記のように入力している場合はフォーマットの形式で入力するほうがデータ処理的にもスムーズに行えるかと思います。

データを貼るというのも何がしたいのか伝わってこないため、もう少し具体的にやりたいことを書いてもらえるとより回答しやすいと思います。
(クラファン) 2021/01/25(月) 11:36


 今回も【フォーマット】 のレイアウトおかしくないですか。
 【フォーマット】にデータを入力してみてくださいな。
(pp) 2021/01/25(月) 11:51

クラファン様

 うまく表現できず、誠に申し訳ございません。

 >データのりんごが3番までしかない(データ数が変動しない)ならば、
  データは変動します。今回は、りんごが3番まででしたが、5番の場合のケースもあります。

 >仮にりんごやみかんのデータ数が変わるにもかかわらず同列で入力しているということはデータを追加するときは行を追加しているのでしょうか?
 A1:りんご、E1:みかん、I1:だいこん と記入してあり、項目として記入しています。

 >上記のように入力している場合はフォーマットの形式で入力するほうがデータ処理的にもスムーズに行えるかと思います。
 データ元の仕様がそのようになってしまっているので、苦戦しております。フォーマットをデータの形式に合わせたいところですが、上記にも記載したように、データ数が変動するため、適しておりません。

 >データを貼るというのも何がしたいのか伝わってこないため、もう少し具体的にやりたいことを書いてもらえるとより回答しやすいと思います。
 具体的には、Range("B2:D4")のデータをフォーマットシートのB3から貼り付けをしたいです。しかしながら、数字が変動するため固定のセル選択ができません。

(もなか) 2021/01/25(月) 12:23


リンク貼付すればよいので、手作業ならなんということないですね。
大量にあって、マクロ対応を考えているということですか?
そしてその際の、範囲指定をどうしたらいいかということですか?
そうだとすると、
・B2からD列最終行までの範囲をrngとし、
・その「定数セル」だけにジャンプして、
・各Area単位に繰り返しで、規則的な位置にリンク貼付すればOK
でしょう。
(γ) 2021/01/25(月) 12:29

Sub main()
'「データ」シートを表示した状態で実行
    Dim c As Range, r As Range, rr As Range
    For Each c In Range("A:A").SpecialCells(2)
        If IsNumeric(c.Value) Then
            If r Is Nothing Then
                Set r = c.Resize(, 4)
            Else
                Set r = Union(r, c.Resize(, 4))
            End If
        End If
    Next c
    Sheets.Add(after:=ActiveSheet).Name = "新フォーマット"
    For Each rr In r.Areas
        Set rr = rr.Resize(rr.Rows.Count + 1).Offset(-1) '
        rr.Copy Sheets("新フォーマット").Cells(1, WorksheetFunction.CountA(Sheets("新フォーマット").Rows(1)) * 4 + 1)
    Next rr
End Sub
(mm) 2021/01/25(月) 13:01

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.