私が作成している背景については、プロジェクトを追跡するためのワークブックです。今は私のワークブックに3つのプロジェクトがありますが、この数は50を超え、成長しています。各シートにはプロジェクト情報Project info Worksheetが含まれています。私が持っているコードは今は動作しません。この写真は、私がAll projects pageこのすべてのプロジェクトのページにフィードしたいものを示しています。コードで行うべきことは各シートを通して読み込まれ、$ A $ 5 = "Project#:"が真であれば、そのシートから指定されたセルがすべてのプロジェクトページにコピーされます。それから、次のシートに行き、同じことを行い、真であれば最後の値の1行下に値を置きます。各ワークシートをループしてデータを探し、特定のシートに戻します。
私は、私はここに、少し不明であったと言っていたものと思いますが、コードは、私は現在、私が欲しいの出力を取得し、写真に「すべてのプロジェクト」ページに持って使用しています:
Sub All_Data()
'Sheet "1"
Sheet7.Range("A2").Select
ActiveCell.Formula = "=1!$F$1" 'classifying number
Sheet7.Range("B2").Select
ActiveCell.Formula = "=1!$B$5" 'Project #
Sheet7.Range("C2").Select
ActiveCell.Formula = "=1!$A$1" 'Project Name
Sheet7.Range("D2").Select
ActiveCell.Formula = "=1!$B$8" 'Project Engineer
Sheet7.Range("E2").Select
ActiveCell.Formula = "=1!$B$6" 'Maximo Time Charge
Sheet7.Range("F2").Select
ActiveCell.Formula = "=1!$E$5" 'Material Forecast due date
Sheet7.Range("G2").Select
ActiveCell.Formula = "=1!$E$11" 'Materials Forecast Actual
Sheet7.Range("H2").Select
ActiveCell.Formula = "=1!$F$11" 'Forecast success
Sheet7.Range("I2").Select
ActiveCell.Formula = "=1!$F$12" 'Non Stores Success
Sheet7.Range("J2").Select
ActiveCell.Formula = "=1!$E$6" '30% Due
Sheet7.Range("K2").Select
ActiveCell.Formula = "=1!$E$13" '30% actual
Sheet7.Range("L2").Select
ActiveCell.Formula = "=1!$F$13" '30% success
Sheet7.Range("M2").Select
ActiveCell.Formula = "=1!$E$7" '60% due
Sheet7.Range("N2").Select
ActiveCell.Formula = "=1!$E$14" '60% actual
Sheet7.Range("O2").Select
ActiveCell.Formula = "=1!$F$14" '60% Success
Sheet7.Range("P2").Select
ActiveCell.Formula = "=1!$E$8" '90% due
Sheet7.Range("Q2").Select
ActiveCell.Formula = "=1!$E$15" '90% actual
Sheet7.Range("R2").Select
ActiveCell.Formula = "=1!$F$15" '90% success
Sheet7.Range("S2").Select
ActiveCell.Formula = "=1!$B$11" 'In-service Due
Sheet7.Range("T2").Select
ActiveCell.Formula = "=1!$E$16" 'In-service actual
Sheet7.Range("U2").Select
ActiveCell.Formula = "=1!$F$16" 'In-service Success
'Sheet "2"
Sheet7.Range("A3").Select
ActiveCell.Formula = "=2!$F$1" 'classifying number
Sheet7.Range("B3").Select
ActiveCell.Formula = "=2!$B$5" 'Project #
Sheet7.Range("C3").Select
ActiveCell.Formula = "=2!$A$1" 'Project Name
Sheet7.Range("D3").Select
ActiveCell.Formula = "=2!$B$8" 'Project Engineer
Sheet7.Range("E3").Select
ActiveCell.Formula = "=2!$B$6" 'Maximo Time Charge
Sheet7.Range("F3").Select
ActiveCell.Formula = "=2!$E$5" 'Material Forecast due date
Sheet7.Range("G3").Select
ActiveCell.Formula = "=2!$E$11" 'Materials Forecast Actual
Sheet7.Range("H3").Select
ActiveCell.Formula = "=2!$F$11" 'Forecast success
Sheet7.Range("I3").Select
ActiveCell.Formula = "=2!$F$12" 'Non Stores Success
Sheet7.Range("J3").Select
ActiveCell.Formula = "=2!$E$6" '30% Due
Sheet7.Range("K3").Select
ActiveCell.Formula = "=2!$E$13" '30% actual
Sheet7.Range("L3").Select
ActiveCell.Formula = "=2!$F$13" '30% success
Sheet7.Range("M3").Select
ActiveCell.Formula = "=2!$E$7" '60% due
Sheet7.Range("N3").Select
ActiveCell.Formula = "=2!$E$14" '60% actual
Sheet7.Range("O3").Select
ActiveCell.Formula = "=2!$F$14" '60% Success
Sheet7.Range("P3").Select
ActiveCell.Formula = "=2!$E$8" '90% due
Sheet7.Range("Q3").Select
ActiveCell.Formula = "=2!$E$15" '90% actual
Sheet7.Range("R3").Select
ActiveCell.Formula = "=2!$F$15" '90% success
Sheet7.Range("S3").Select
ActiveCell.Formula = "=2!$B$11" 'In-service Due
Sheet7.Range("T3").Select
ActiveCell.Formula = "=2!$E$16" 'In-service actual
Sheet7.Range("U3").Select
ActiveCell.Formula = "=2!$F$16" 'In-service Success
'Sheet "3"
Sheet7.Range("A4").Select
ActiveCell.Formula = "=3!$F$1" 'classifying number
Sheet7.Range("B4").Select
ActiveCell.Formula = "=3!$B$5" 'Project #
Sheet7.Range("C4").Select
ActiveCell.Formula = "=3!$A$1" 'Project Name
Sheet7.Range("D4").Select
ActiveCell.Formula = "=3!$B$8" 'Project Engineer
Sheet7.Range("E4").Select
ActiveCell.Formula = "=3!$B$6" 'Maximo Time Charge
Sheet7.Range("F4").Select
ActiveCell.Formula = "=3!$E$5" 'Material Forecast due date
Sheet7.Range("G4").Select
ActiveCell.Formula = "=3!$E$11" 'Materials Forecast Actual
Sheet7.Range("H4").Select
ActiveCell.Formula = "=3!$F$11" 'Forecast success
Sheet7.Range("I4").Select
ActiveCell.Formula = "=3!$F$12" 'Non Stores Success
Sheet7.Range("J4").Select
ActiveCell.Formula = "=3!$E$6" '30% Due
Sheet7.Range("K4").Select
ActiveCell.Formula = "=3!$E$13" '30% actual
Sheet7.Range("L4").Select
ActiveCell.Formula = "=3!$F$13" '30% success
Sheet7.Range("M4").Select
ActiveCell.Formula = "=3!$E$7" '60% due
Sheet7.Range("N4").Select
ActiveCell.Formula = "=3!$E$14" '60% actual
Sheet7.Range("O4").Select
ActiveCell.Formula = "=3!$F$14" '60% Success
Sheet7.Range("P4").Select
ActiveCell.Formula = "=3!$E$8" '90% due
Sheet7.Range("Q4").Select
ActiveCell.Formula = "=3!$E$15" '90% actual
Sheet7.Range("R4").Select
ActiveCell.Formula = "=3!$F$15" '90% success
Sheet7.Range("S4").Select
ActiveCell.Formula = "=3!$B$11" 'In-service Due
Sheet7.Range("T4").Select
ActiveCell.Formula = "=3!$E$16" 'In-service actual
Sheet7.Range("U4").Select
ActiveCell.Formula = "=3!$F$16" 'In-service Success
End Sub
このコードでは、各値を正しい場所に割り当てることができますが、それぞれの値が変更されるのは、式のシート番号と行の変更だけです。
Sheet7.Range( "U4").Select ActiveCell.Formula = "= 3! $ F $ 16"「は、サービスの成功
私はいくつかの並べ替えを書くことができる方法がありますループは各シートを通過し、「プロジェクト情報」シートから指定されたデータを取り出して「すべてのプロジェクト」シートに移動し、新しいシートにはそれぞれ新しい行が割り当てられます。各プロジェクトシートには、同じセルの場所に同じ情報が含まれています。
私は自分のコードを調整して少し質問をしましたが、私の質問とサンプルコードを再読み込みして、自分のコードをより良くする方法があるかどうかを見て、コードをコピー&ペーストしてシートと行を変更する必要があります。私は上記のコードでこれを行いましたが、50以上のプロジェクトをコピーして貼り付け、各行の2つの値を変更するにはかなりの時間がかかります –
基本的には、プロジェクト情報ワークシート'すべてのプロジェクトページの行に移動します。 –
答えを更新しました。それがあなたのためにどのように機能するか教えてください。 –