列の値を合計して、その合計をワークブックのファイル名に追加します。


-2

こんにちは私は列の一意の値に基づいて新しいワークシートを作成することができました。これに加えて、列の値を合計して、この合計を対応する各ワークシートのファイル名に含めます。

このワークブックのファイル名に、列Dの値の合計をFilename_Sum(D).xlsの形式で追加します。

これが私がしたことです、私が必要とするすべては列I2の合計をすることです:私は、合計を文字列に変換してファイル名(列Aの値)に含める

            'Copy/paste the visible data to the new workbook
            My_Range.SpecialCells(xlCellTypeVisible).Copy
            With WSNew.Range("A1")
                ' Paste:=8 will copy the columnwidth in Excel 2000 and higher
                ' Remove this line if you use Excel 97
                .PasteSpecial Paste:=8
                .PasteSpecial xlPasteValues
                .PasteSpecial xlPasteFormats
                Application.CutCopyMode = False
                .Select                  

            End With

            mySum = Application.WorksheetFunction.Sum(Columns("I2:I1024"))


            'Save the file in the new folder and close it
            On Error Resume Next
            WSNew.Parent.SaveAs foldername & _
                                cell.Value _
                                & CStr(mySum) & _
                                FileExtStr, FileFormatNum'

1
あなたが試したことを私たちに見せてください。
gtwebb

こんにちはgtwebb上記の私のコードを参照してください。ありがとう
Bobby

回答:


0

私はあなたがVBAやマクロについて何も知らないと仮定するつもりですので、ここであなたが探していることをするためのステップの最短の量があります:

ワークブックを開きます。キーボードで、Alt + F11を押します。これにより、VBA開発者画面が開きます。左側にはツリーがあり、一番上のオブジェクト(VBAProject(YourFileName))を右クリックして[挿入>モジュール開いたモジュールのメイン画面に次のコードを貼り付けます。

Option Explicit
Sub SaveWithSum()
Dim SumOfD As Integer
SumOfD = Application.Sum(Range("Sheet1!D:D"))
ActiveWorkbook.SaveAs "C:\YourFolder\YourFilename" & SumOfD & ".xlsx", FileFormat:=51
End Sub

それから保存を押してください。現在のファイル形式(.xlsx)でマクロを実行できることを確認するメッセージが表示されます。いいえを選択し、YourFile.xlsmとしてファイルを保存します。

これで終わりです!結果のファイルはC:\ YourFolder \ YourFilename ##。xlsxになります。

このスクリプトは、名前を変更したすべてのファイルを.xlsxファイルとして保存します。これらのファイルはマクロを再実行できません(実際には[開発者]画面から消えます)。ファイルを.xlsmファイルとして保存し、保存したファイルでもスクリプトを実行し続ける場合は、 "。xslx"を ".xlsm"に変更し、FileFormatを52に変更します。

マクロにリンクするボタンをワークシートに作成するか(クイックGoogle検索が役立ちます)、または[表示]> [マクロ]を選択してマクロを実行することができます。

Sheet1を確認してください。ワークシートに合わせて変更します。頑張って!


こんにちはネイト、情報をありがとう。ただし、マクロは親ブックの列Aから作成された新しいブックごとにファイル名を選択するように設計されています。コードを実行しようとすると、「アプリケーション定義またはオブジェクト定義エラー」が発生します。
Bobby

そもそもなぜあなたはそのコードを質問に入れなかったのですか?
Nate

そのネイトについてすみません。どのようにして私が望みを達成することができるのですか
Bobby

これを試して。入れる 明示的なオプション コードの一番上、一番上で、宣言されていないすべての変数を修正します。それはあなたがそれを理解するのを助けるかもしれません。上記のコードには、実際には変数であることに気付かない可能性がある多数の変数があります。また、上記の私のコードはあなたがあなたが必要とするものを得るのに十分近いです。あなたはあなたが必要とするものにそれをマッサージすることができるはずです。あなたが本当に、本当にできないのなら、どんなfoldername、FileExtStr、そしてFileFormatNumが正確にあるのかを私に説明してください、そして私はあなたのためにそれを書きます。
Nate
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.