2016-06-22 7 views
0

3つのセルがスキャナで埋め込まれた後、デスクトップ上のフォルダにファイルを作成して保存する方法を理解するのに役立つ必要があります。食料品店スキャナを想像して、製品をスキャンします。 3つの情報がバーコードから取得され、A1 B1 C1と言う3つの別々のセルに配置されます。この情報をコピーして保存されたファイルに貼り付けるにはどうすればよいですか?これは私が今までに持っているものです:(VBA 2010)SaveAsファイル名

Private Sub Worksheet_Change(ByVal Target As Range) 

    If Not Range("A1").Value = "" And Not Range("B1").Value = "" And Not Range("C1").Value = "" Then 

     Dim workbookName As String 
     workbookName = "DiePunch.csv" 
     ActiveCell.Range("A1:C1").Select 
     Selection.Copy 
     Workbooks.Add 
     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 
     Application.CutCopyMode = Fa 
     ActiveWorkbook.SaveAs Filename:="u:\CSV\Diepunch.csv", FileFormat:=xlCSV, CreateBackup:=False 
     ActiveWorkbook.Save 
     ActiveWindow.Close (SaveChange = False) 
    End If 

End Sub 
+2

はStackOverflowのへようこそ。これは無料のコード作成サービスではありませんのでご注意ください。しかし、私たちは、仲間のプログラマー(そして学習しようとするプログラマー)が自分のコードを手助けすることを熱望しています。 [良い質問をするにはどうすればいいですか] [1]のヘルプトピックをお読みください。あなたは[ツアーを取る] [2]としながらバッジを獲得することもできます。その後、達成したいタスクを完了するために、これまでに書いたVBAコードで質問を更新してください。 [1]:http://stackoverflow.com/help/how-to-ask [2]:http://stackoverflow.com/tour – Rdster

答えて

0

これは、あなたがあなたのファイル名を指定する方法を決定する必要がある仕事

Private Sub Worksheet_Change(ByVal Target As Range) 

If Not Range("A1").Value = "" And Not Range("B1").Value = "" And Not Range("C1").Value = "" Then 

    Dim workbookName As String 
    workbookName = "whatever.xls" 

    ThisWorkbook.SaveAs "C:\" & workbookName 

End If 

End Sub 

を行います。あなただけworkbookNameは何でもすることを選択した場合、そのファイルは

workbookName(1).xls 
workbookName(2).xls 

などのように、ファイル名の増分で保存されます。..

+0

ありがとうございました! –

0

私はあなたのコードを投稿することができればより役に立ちます。

セル(行、列)を使用して、セル内の値を取得します。 VBAでファイルを作成すると、FreefileとOpen、Print#、Closeの構文を使用して呼び出されます。

(これは100%近い使用可能なコードではなく)

Dim intHandle as Integer 
intHandle = FreeFile() 
Open "Filename.txt" for output as intHandle 
Print #intHandle, Excel.Cells(Row,Column).Value 
Close intHandle 
関連する問題