カナダ政府のウェブサイトでオンラインで入手可能な気象データのクリーニングに取り組んでいます。問題はシンプルに聞こえるが、残念ながらVBAを介して私が望むものを得ることができなかった。VBA:1つの値をコピーし、一定回数行に貼り付けてから、繰り返します。
なぜ私に問題がありますか?
データを消去するには、天気と気分の関係があるかどうかを確認する必要があります。
データはセクションで分割されます(つまり、ステーションごとに1年間1セクション)。データの各セクションには、毎日の気象情報(365行、うるう年366)が表形式で格納されています。ステーション名はそのデータにはどこにも記載されていません。各セクションの上部にある1つのセルにのみ記載されています。だから私はヘッダーセクションからステーション名をコピーし、すべての日の行の下にそれを貼り付けたいと思う。
例: 天気データを毎日監視しているカナダに8000のステーションがある場合、8000セクションのテーブルがあり、各セクションには毎日の気象データがあります。ここで
はステップで私のクエリです:AC4720):
1)4694回(AC27の範囲のセルの一つの値(セルB1)をコピーし、行を、それを下に貼り付けます。 4694は10年以上のセクションヘッダー、空白をカバーしています。 2)余分な行を1行下に移動します(AC4721を空白のままにします)。 3)もう一度プロセスを開始します。 この関数は、ファイルの最後までプロセスを繰り返します。単純な言語で
式:このセルに、今AC4722で式相対ある
セル空白の後に継続
は.... B4696、繰り返し工程(1の値をコピーしなければなりません)およびクエリのステップ(2)を実行する。
この方法では、次のAC9417は、このセルに対して、数式でB9391の値をコピーし、クエリの手順(1)と手順(2)を繰り返します。
関係位置(AC27、B1)、(AC4722、B4696)との差、(AC9417、B9391)は、常に26
です助けてください。
ありがとうございました。 これはセルの範囲です。このパターンは8000+ステーションで実行されます (ステーション、B、AC)(1,1,27)(2,4696,4722)(3,9391,9417) 14086,14112)(5,18781,18807)(6,23476,23502)(7,28171,28197)...... \t \t \t \t \t \t \t がループのようなシリーズをコーディングすることが可能ですか何か? –
新しいステーションを開始するための識別子が必要です。いつも「駅名:」などのような列がありますか?その列を検索できます。最初に発見されたステーションと2番目に見つかったステーションの間の範囲を調べ、その範囲をステーション名と同じに設定します。 – ClintB