2016-11-13 2 views
0

C列でソートされたレポートがあります。C列の各項目に基づいて個々のブックを保存する必要があります行1のヘッダー。マクロ内のすべてを列にフィルタリングし、Excelブックのソートされたアイテムごとに個別のブックを保存しようとしています

以下は動作するはずのコードですが、そうではありません。私は特定のフォルダを保存するためのサイトの設定方法も不明です。

If Target.Address = "$C$2" Then 
    fname = Range("C2") 
    ActiveWorkbook.SaveAs Filename:=fname 
End If 
+0

[WorkBook.SaveAsメソッド](https://msdn.microsoft.com/en-us/library/office/ff841185.aspx)をチェックして、フォルダを保存するように設定しますfilenameパラメータまた、私は間違っているかもしれませんが、 'fname'の値を不適切に設定しているかもしれません。' fname = Range( "C2")。value' – TyloBedo

+0

この場合、 'fname'はディレクトリ、ファイル名、およびファイル拡張子。文字列として宣言する必要があります。また、TyleBedoが述べたように、 'fname = Range(" C2 ")。value'または' fname = Range( "C2")。value2'を使用します。より具体的にすると、コードエラー(どこか?)からすべての行を実行するまで、多くの結果を得ることはできません。 –

+0

情報ありがとうございます。デバッグするときに、 の場合、Target.Address = "" $ C $ 2 " – Tribias

答えて

0

ここでは、シート内のターゲティングセルを処理するマクロがあります。この特定のシートのコードに配置する必要があります。 C2セルに格納されているfname値の例は、 C:¥Users¥Taisho¥Desktop¥example.xlsx マクロが機能しなかった理由はおそらく変数タイプをTargetに割り当てていないためです。

Option Explicit 

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 

Dim fname As String  

If Target.Address = "$C$2" Then 
    fname = Range("C2").value2 
    ActiveWorkbook.SaveAs Filename:=fname 
End If 

End Sub 
関連する問題