2012-02-18 25 views
0

私はこのウェブサイトで回答を探していますが、何か関連するものを見つけることができず、誰かが助けてくれるか不思議でした。条件に基づいて別のシートに行をコピーする

私は優れた文書を持っています。

シート1はEXT 1204及びいわゆるれる内線番号、例えば、シート2はEXT 1203シート4と呼ばれるEXT 1202シート3と呼ばれる1204

EXT 1202 EXT 1203 EXTのリストを含みますに。

"EXT 1202"という単語が含まれているすべての行についてシート1をスキャンし、EXT 1202というシートにコピーした後、シート1からすべての行をコピーするマクロを実行する必要がありますEXT 1203という単語が含まれていて、それを1203という名前のシートにコピーしてください。

PS Microsoft Excel 2010で働いています これは基本的に私が電話をかけた内線番号を見つけ出し、コール。別のシートにある各内線番号のデータが好きなのは、その人がコピーを必要とする場合、文字通り各シートを印刷できるからです。

最後に、EXT 1202という単語が含まれているすべての行を貼り付けたときに、「EXT 1202」というシートに貼り付けるよう指定することはできますが、特定の行私はそれを上書きしたくないテキストが含まれています。また、データをコピーしてペーストすると、自動的にフォントをCalibri 8に変更できますか?

私はこれはおそらく、誰かが挑戦を取り上げて、おそらく私にこのコードを教えてくれると願っています。多くのおかげで、事前に、ミシェル

+2

ようこそStackOverflow。あなたの質問をお聞かせください。すべての大文字のテキストは読みにくいので、それ以上の速さでは答えが出ません。それはまたかなり迷惑でもあります。 :) –

答えて

0

私は一緒に投げた(いくつかの簡単なコードは、コメントが必要に応じて変更することができます)です。これは、データがSheet1のセルA2で始まり、内線番号(この例では1203/1204)がA列にあることを前提としています。行を取得して個々のシートに貼り付けます(シートを設定する必要があります)事前に)、データを持つ行をスキップします。あらかじめ定義された内線番号の1つに対応しない行は黄色で強調表示されます。お役に立てれば!

Sub Phone_Numbers() 

    'Start on the main first sheet, cell A2 
    Sheets("Sheet1").Select 
    Range("A2").Select 

    'Loop while activecell is not blank (goes down the column) 
    Do While ActiveCell <> "" 
     'You need to create these for every possible extension 
     ' Also, create individual worksheets for each 
     If InStr(1, ActiveCell, "1203", 1) <> 0 Then 
      ActiveCell.EntireRow.Copy 
      Sheets("Ext 1203").Select 
      Range("A2").Select 

     ElseIf InStr(1, ActiveCell, "1204", 1) <> 0 Then 
      ActiveCell.EntireRow.Copy 
      Sheets("Ext 1204").Select 
      Range("A2").Select 

     Else 
      'If it's not an extension you have specified, it highlites the cell 
      ActiveCell.Interior.ColorIndex = 6 
      GoTo SKIPPING 
     End If 

     Range("A2").Select 
     'Loops down until there's an open 
     Do While ActiveCell <> "" 
      ActiveCell.Offset(1, 0).Select 
     Loop 

     ActiveSheet.Paste 

     'Go back to the starting sheet & iterate to the next row 
     Sheets("Sheet1").Select 
SKIPPING: 
     ActiveCell.Offset(1, 0).Select 
    Loop 

End Sub 
+0

こんにちは、ありがとうございました。私はこれらのExcelの公式の初心者であり、間違いなくVBを知らない人です。私は他の人の質問に対する答えの例を取ることができたし、それは働いた(私はマクロを作成する方法を知っていたかどうか分かっていた)。 –

+0

申し訳ありませんが、私は入力が早すぎます。私はあなたがどこに置いたのかを調べることができます。これは、内線番号やシート名などのデータを置く場所です。ここでは、()のような括弧で囲んだものをマクロに入れませんコード? –

+0

こんにちは、私にコードを渡してくれてありがとう。私はちょうど実験して、次のことをしました、これは正しいですか? –

関連する問題