質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

1回答

2363閲覧

データを各シートに自動振り分け

mika99

総合スコア0

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2020/05/26 12:32

編集2020/05/27 08:36

イメージ説明

データシートの「営業所」ごとに各シートに自動振り分けしたいです。
データシートは都度上書しますが、各シートに振り分けられたデータは残したまま
最後の行からデータを挿入させていきたいです。
品番が重複するものがあれば、新しいデータのものを削除したいです。
各シート全て、5行目が項目行となります。
最初のデータはC6からの挿入です。
(矢印下の画像はシート"1"の振分後のデータになります。)

Set Sh2 = Sheets(c.Text)でデバッグとなるのですが、何が原因なのでしょうか。

アドバイスよろしくお願いいたします```

Sub

1Dim c As Range 2Dim Sh1 As Worksheet, Sh2 As Worksheet 3Dim FRange As Range 4 5Set Sh1 = Sheets("?f?[?^") 6For Each c In Sh1.Range(Sh1.Cells(2, "A"), Sh1.Cells(Rows.Count, "A").End(xlUp)) 7Set Sh2 = Sheets(c.Text) 8Set FRange = Sh2.Range(Sh2.Cells(6, "C"), Sh2.Cells(Rows.Count, "C").End(xlUp)). _ 9Find(What:=c.Offset(0, 2).Value, LookIn:=xlValues, lookat:=xlWhole) 10If FRange Is Nothing Then 11Sheets(c.Text).Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Resize(1, 10).Value = _ 12c.Resize(1, 10).Value 13End If 14Set Sh2 = Nothing 15Next 16Set Sh1 = Nothing 17End Sub 18コード

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

DreamTheater

2020/05/27 06:00

ご自身が書いたコードはないのですか? VBAコードが書けないのであれば、先ずはVBAを勉強してください。 丸投げは誰も回答しませんよ。
guest

回答1

0

直前で
Debug.print c.Text
で何が表示されますか?

投稿2020/05/28 00:05

DreamTheater

総合スコア1095

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問