[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『フォーマットに合わせたセル選択範囲の方法』(もなか)
【フォーマット: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
説明不足で申し訳ございません。
<データ> 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
仮にりんごやみかんのデータ数が変わるにもかかわらず同列で入力しているということはデータを追加するときは行を追加しているのでしょうか?
上記のように入力している場合はフォーマットの形式で入力するほうがデータ処理的にもスムーズに行えるかと思います。
データを貼るというのも何がしたいのか伝わってこないため、もう少し具体的にやりたいことを書いてもらえるとより回答しやすいと思います。
(クラファン) 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
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.