Yahoo!知恵袋のBA回答への補足等

知恵袋は解決済みになると修正や補足ができないので、ここで失礼します。

全体表示

[ リスト ]

イメージ 1

イメージ 2

イメージ 3

イメージ 4

イメージ 5

トップ > インターネット、PCと家電 > ソフトウェア > Office系(Word、Excel)
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1124596456
>エクセルでこんなことできますか?マクロ?関数?マクロ・関数の合せ技?自分で...

に対する回答案です。ぼさっとしている内に締め切られていました。
--------------------------------------------------------------------------------
>エクセルでこんなことできますか?
>マクロ?関数?マクロ・関数の合せ技?
>自分では解決できないので知ってらっしゃる方いましたら教えてください。 
>詳しくは下図参照なんですが、
>データベースのセルに任意の数字・名前を打込むと各々のシートのセルに上から順番に埋められていくようなことってどうしたらできるのでしょうか?

関数だけでできないこともないでしょう。ただ柔軟性と言う意味で実用性は疑問ですけど。

マクロ(VBA)だけで実現するのも、ロジック的には大変ですね。

本来Excelの抽出はフィルタ機能くらいまでで、それ以上の機能をもたせるのは難があります。

一応サンプルを組みましたので、

(1)シート関数のみバージョン
B列にワークエリアを設定しています。

(2)シート関数+マクロ(VBA)バージョン
(1)同様にB列にワークエリアを設定しています。
この列がないと、ロジックだけで組むのは骨が折れます。

(3)PIVOTバージョン
H,I列は関係ないです。

参考まで。

http://yokohamaloving.web.fc2.com/sample-select.xls
--------------------------------------------------------------------------------

画像は、
(1)でエラー回避前の状態。
https://blogs.yahoo.co.jp/IMG/ybi/1/86/39/higashikanagawa_bad/folder/703393/img_703393_13628450_0
(1)でエラー関数の状態確認。
https://blogs.yahoo.co.jp/IMG/ybi/1/86/39/higashikanagawa_bad/folder/703393/img_703393_13628450_1
(1)でエラー関数を利用してエラー回避した後の状態。
https://blogs.yahoo.co.jp/IMG/ybi/1/86/39/higashikanagawa_bad/folder/703393/img_703393_13628450_2
(2)で実行後の状態。ソースは以下。(注:全然ソースの整理はしていません。)
https://blogs.yahoo.co.jp/IMG/ybi/1/86/39/higashikanagawa_bad/folder/703393/img_703393_13628450_3
(3)で実行後の状態。
https://blogs.yahoo.co.jp/IMG/ybi/1/86/39/higashikanagawa_bad/folder/703393/img_703393_13628450_4
となっています。

以下、(2)のソース。
Dim iRow

For i = 1 To 3
    'clear
    iRow = 4 + 10 * (i - 1)
    j = 1
    For iRowWork = iRow To iRow + 10
        Cells(iRowWork, "J") = ""
    Next
    'hitset
    Do While j <= 10
        hitVal = ""
        For jRow = 3 To 13
            If Cells(jRow, "B") = Trim(Str(i & j)) Then
                hitVal = Cells(jRow, "C")
                Exit For
            End If
        Next jRow
        If hitVal = "" Then Exit Do
        Cells(iRow, "J") = hitVal
        iRow = iRow + 1
        j = j + 1
    Loop

Next

End Sub


.
hig*shi*an*ga*a_b*d
hig*shi*an*ga*a_b*d
男性 / 非公開
人気度
Yahoo!ブログヘルプ - ブログ人気度について
検索 検索
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

過去の記事一覧

スマートフォンで見る

モバイル版Yahoo!ブログにアクセス!

スマートフォン版Yahoo!ブログにアクセス!

よしもとブログランキング

もっと見る

[PR]お得情報

ふるさと納税サイト『さとふる』
11/30まで5周年記念キャンペーン中!
Amazonギフト券1000円分当たる!
いまならもらえる!ウィスパーWガード
薄いしモレを防ぐパンティライナー
話題の新製品を10,000名様にプレゼント
いまならもらえる!ウィスパーうすさら
薄いしモレを防ぐ尿ケアパッド
話題の新製品を10,000名様にプレゼント

その他のキャンペーン


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事