データを含むワークシートを持つワークブックに、色、ドロップダウン(ドロップダウン選択セルの色の変更)などの書式設定が含まれています。私は特定のワークシートのコピーを作成し、簡単な右クリックを使用してそれを送信しようとしていましたが、コピーを作成するがテキスト値に基づいてセルの色を持たない新しいワークブックにコピーを作成しています。これまでは、同じ結果が出てくる別のVBコードを使ってやってみました。つまり、新しいワークブックを作成してデータを貼り付けますが、フォーマットはしません。私は以下のコードを使用して試してみました:ワークブックを新しいブックとしてフォーマット、ドロップダウンリストなどをコピーする
Sub CopySheetToNewWorkbook1()
Dim wname As String
wname = ActiveCell.Value
Sheets(wname).Cells.Copy
Set nbook = Workbooks.Add(1)
With nbook.Sheets(1)
.Cells.PasteSpecial xlValues
.Cells.PasteSpecial xlFormats
End With
Range("a:l").EntireColumn.AutoFit
End Sub
別の試み:
Sub CopySheetToNewWorkbook2()
Dim wname As String
wname = ActiveCell.Value
Sheets(wname).Activate
Range("a1:l25").Copy
Set nbook = Workbooks.Add(1)
Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone, SkipBlanks:=False
Range("a:l").EntireColumn.AutoFit
End Sub
私はこの1つは、すべての書式を保持してワークブックを保存するように動作しますと思ったが、再び、それは役に立たないようになりました。 (「オブジェクトのワークブックが失敗する方法を付けて保存」また、それは救わコピーを作成することができなかったが、エラーMSGを思い付いた):
Sub CopySheetToNewWorkbook3()
Dim wname As String
wname = ActiveCell.Value
Sheets(wname).Copy
ActiveWorkbook.SaveAs "C:\Data:\Roster.xlsx", FileFormat:=51
End Sub
最後の試み私はあきらめて、助けを求めることを決めた前に(私はかなり私は新しいワークブックに、過去を参照しない方法を知りませんでしたこの1に - 絶対失敗:
Sub CopySheetToNewWorkbook4()
Dim wname As String
wname = ActiveCell.Value
Set nbook = Workbooks.Add
Sheets(wname).Copy before:=Workbook.nbook.seehts(1)
With nbook.Sheets(1).UsedRange
.Value = .Value
End With
End Sub
私は私が見つけることができるすべての可能な支援をしようとしてきたように、私は正しい方向に尖っ得ることができることを望みます
私は上記のすべての試みでそれを追加したいと思います。いくつかの細胞の細胞色ではあるが、それらのすべてではない。 – vj12
(a)これらすべての試みで、マクロが呼び出された時点のアクティブなセルの値が、コピーされるシートの名前であると仮定します。 (b) 'CopySheetToNewWorkbook4'では' Workbook.nbook.seehts(1) 'というビットは' nbook.Sheets(1) 'でなければ意味がありませんが、' Sheets(wname) 'は新しいブックには存在しませんコピーは機能しません。 (c) 'CopySheetToNewWorkbook3'に無効なファイル名があります。パスにはドライブとパスの間のセパレータ用に予約されている': 'が含まれていません。 – YowE3K
@ YowE3Kはい、私はワークシート名とすべてのワークシートのリストがワークシート名リスト(activecell.value)によって参照されるブックに存在します。 – vj12