VBA
縦と横をループする方法
Aシート、マスターシート、データシートがあります。
Aシートの金額が入っている列を空欄までループさせます。マスターシートの金額が入っている列を下までループさせ、Aシートの金額とマスターシートの金額が一緒だった場合、Aシートの行をデータがはいっているところまでループして、行と列がぶつかったセルの値があれば、マスターシートの金額がはいっている行をまるっとコピーして、データシートの(1,1)にはりつける。
なんだかわかりにくくてすいません。
縦と横のループを絡ませるなんてできるのでしょうか?
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちは。
まず管理方法として、どんなご商売かわかりませんが、あまり良い方法とは言えません。
まず、特定のデータを探し出す場合は、会計の場合は、会社名・日付・商品名などです。それでほぼ、小さな会社なら可能ですが、少し大きくなれば、通しの管理番号をつけるようになります。そうすれば、日付も会社名も不要になります。
おっしゃっているアルゴリズムは、金額が、「Aシート、マスターシート」の二つの中で、それぞれに固有・唯一の数字を持って、一致して実行するというbことだと思いますが、実務上ではありえません。
現実のお仕事で完成させるには、いろんな見本を見ながら、実際に、Excel等のパソコン状で試してみる必要があると思います。
また、その検索方法の
>縦と横のループを絡ませる
という考え方は、コンピュータの黎明期の頃の磁気テープことを彷彿させます。
しかし、よく考えてみると、これは、VBA言語とは関係がなく、共通言語のアルゴリズムで、縦横という列と行のマトリックスではありませんが、そういう特殊な検索方法は存在しています。アイデアとしては面白いのですが、考え方だけでは、現実には結びつかないもの事実です。
そういう私も、あまりつこんだことを言うと、専門の方に怒られそうですのでやめておきますが、それらは、VBAプログラマーには手の届かない種類といっても過言ではありません。
No.2
- 回答日時:
こんにちは
なさりたいことがよくわからないので、何とも言えませんが…
>縦と横のループを絡ませるなんてできるのでしょうか?
普通に行っていることなので、可能でしょう。
むしろ、問題となりそうな特殊性がご質問文からは読み取れません。
「ループ」と表現しているものが、単純な走査のような処理であるなら、ワークシート関数のLookup()やMatch()、Find()などを利用した方が簡単な可能性があります。
ご質問の内容を実現することは可能そうであるとは思いますが、そのためには、なさりたいことを論理的に整理できることが必須と思われます。
No.1
- 回答日時:
なにをなさりたいのかがよくわかりません。
画像を添付して具体的に説明していただけませんでしょうか。
マクロを作成するためには、最低でも以下の情報が必要です。
1)Aシート、マスターシート、データシートの具体的なシート名
2)Aシートの金額が入っている列
3)マスターシートの金額が入っている列
4)Aシート、マスターシートの1行目は見出しか、データなのか
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Visual Basic(VBA) 最終行の指定について教えてください。 複数シートを1シートへまとめる下記マクロでは各シートの6行目を 1 2022/10/04 18:37
- Visual Basic(VBA) 2つの条件に合うセルにデータを転記したい 4 2022/12/02 11:05
- Excel(エクセル) VBAのoffsetの動き方について教えてください 3 2022/11/25 23:36
- Visual Basic(VBA) 集計シートA列のコードと一致する右に並んだシート名(コード)の3行目から10行目をコピーして貼り付け 4 2022/08/18 15:24
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) Excelについて 6 2023/03/03 16:19
- Visual Basic(VBA) VBA 検索と入力 Excel ブック ぶぶぶ シート ししし 列V 検索対象の列です 最終行は、お 6 2023/05/17 01:40
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの複数シートの保護を...
-
エクセルVBAでパスの¥マークに...
-
EXCEL:同じセルへどんどん足し...
-
エクセルでファイルを開いたと...
-
VBAでシートコピー後、シート名...
-
Excelのシートを、まとめて表示...
-
EXCELで同一フォーマットのシー...
-
複数シートの特定の位置に連番...
-
エクセルで前のシートと同じ位...
-
複数シートの色付きセルがある...
-
エクセルで前シートを参照して...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルでシートを移動しても...
-
EXCEL VBAで別のシー...
-
シート名が変更できない 「「○...
-
Accessのスプレッドシートエク...
-
シート名が変わる場合のVBAの設...
-
エクセル関数について
-
エクセル:ブックを開くとき、...
-
VBAで条件によりフォントサイズ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの複数シートの保護を...
-
Excelで同じシートのコピーを一...
-
VBAでシートコピー後、シート名...
-
別シート参照のセルをシート毎...
-
EXCEL:同じセルへどんどん足し...
-
エクセルでファイルを開いたと...
-
エクセルVBAでパスの¥マークに...
-
Excelで金銭出納帳。繰越残高を...
-
前の(左隣の)シートを連続参...
-
EXCELで1ヶ月分の連続した日付...
-
Excel VBについての質問です。
-
複数シートの特定の位置に連番...
-
エクセルで前のシートを連続参...
-
特定のシートの削除を禁止した...
-
エクセルで前シートを参照して...
-
Accessのスプレッドシートエク...
-
Excel、同じフォルダ内のExcel...
-
excelでシート毎の最終更新日を...
-
Excelのシートを、まとめて表示...
-
EXCELで同一フォーマットのシー...
おすすめ情報