2016-08-16 5 views
0

セルの範囲からクリップボードにデータをコピーする非常に単純なマクロがあり、そのマクロは別のワークシートのボタンから呼び出されますそこからマクロが実行されます。マクロのコードは、Tim Williamsによって私のために別のスレッド/質問で提案されました。これは新しい質問であるため、新しいスレッド/質問を作成しています(これはStackoverflowで正しい方法です)。 1つのワークシートに他のワークシートからデータを引き出し、「FinalData」と呼ばれ、それが様々な式によって移入されてからマクロをコピーデータが範囲内の空のセルを無視してデータをコピーする

は、私が見にマクロを伝える方法が必要に

ワークシートセルが指定された範囲内にあり、式がデータを返すセル内の式のデータのみをコピーしますが、結果を返さない式を含むセルはスキップします(ワークシートを見ているときに、そうではない)。範囲内のセル内のデータは、ユーザー(私)がマクロを実行する前に他のワークシートに入力する内容によって異なる場合があります。ここで

は範囲が現時点でコピーされ、どのようなマクロを返す方法の例です:マクロが「空白セル」

を含みこれは私が実際に必要とするかであることを

B1 = Red 
B2 = Yellow 

B4 = Green 


B7 = Gray 

お知らせデータをコピーして返すようにマクロ:

B1 =Red 
B2 = Yellow 
B4 = Green 
B7 = Gray 

LO(ので、これらの細胞は、希望のワークシートを見て、セルの数式がデータを返されていないセルを無視し、マクロOK空白)、空白のセルはコピーされません。

これが現時点での私のマクロである:

Sub CopyFinalData() 
' 
' Copies the specified range to the Clipboard 

Sheets("html_For_eBay").Range("B1:B324").Copy 

End Sub 

おかげ

+0

を。 – Kenny

+0

@ケニーあなたは私のcoeを以下に試しましたか? –

+0

こんにちはShaiはい、私はし、実行時エラーを与えました。私は説明するために投稿に答えました。 – Kenny

答えて

0

以下のコード試してみてください:あなたがほのめかすへの質問は、私には何の関係もありません

Sub CopyFinalData() 
' 
Dim lRow As Long 
Dim c As Range 

' start copying from first row 
lRow = 1 
For Each c In Sheets("html_For_eBay").Range("B1:B324").SpecialCells(xlCellTypeVisible) 
    If Len(c) <> 0 Then 
     ' modify "Sheet2" according to your sheet name, as well as Column B 
     Sheets("Sheet2").Cells(lRow, "B").Value = c.Value 
     lRow = lRow + 1 
    End If 
Next 

End Sub 
+0

これは、実行時エラー '1004'を作成します。アプリケーション定義またはオブジェクト定義のエラーです。デバッグをクリックすると、下の行が黄色で強調表示されます。シート( "Sheet2")セル(lRow、 "B")。値= c.Value – Kenny

+0

@Kennyこれはどこにコピーしますか?どのシート?私のコードでは、テスト用にのみ "Sheet2"を使用しました。あなたの希望するシート名とカラムに変更する必要があります。 –

+0

これはクリップボードにコピーする必要があります。 – Kenny

関連する問題