Använda kameran i VBA

June 4

I andra frågor av ExcelTips du lära dig om du använder kameran verktyg för att fånga dynamiska bilder av olika delar av kalkylbladet. Du kanske har undrat hur man använder samma sorts funktion inifrån VBA. Dokumentationen i frågan är inte särskilt tydlig, men följande makro visar den allmänna processen:

Sub DoCamera ()
Dim MyPrompt As String
Dim MyTitle As String
Dim UserRange Såsom Range
Dim OutputRange Såsom Range

Application.ScreenUpdating = True

"Fråga om användaren för intervall för att fånga
MyPrompt = "Välj det område som du vill fånga."
MyTitle = "User Input Krävs"
On Error Resume Next
Ställ UserRange = Application.InputBox (Prompt: = MyPrompt, _
Titel: = MyTitle, Standard: = ActiveCell.Address, Typ: = 8)
Om UserRange är ingenting Sedan End
On Error GoTo 0

"Kopiera intervall till Urklipp som bild
UserRange.CopyPicture

"Fråga om användaren för intervall för att klistra in
MyPrompt = "Markera området som du vill klistra."
MyTitle = "User Input Krävs"
On Error Resume Next
Ställ OutputRange = Application.InputBox (Prompt: = MyPrompt, _
Titel: = MyTitle, Standard: = ActiveCell.Address, Typ: = 8)
Om OutputRange är ingenting Sedan End
On Error GoTo 0

"Klistra bilden till utgångsområdet
OutputRange.PasteSpecial
Selection.Formula = UserRange.Address
End Sub

Detta makro uppmanar dig att ange ett intervall som ska kopieras, sedan kopierar den till Urklipp som en bild, och frågar efter var man klistra in den. När klistras, är den sista raden i makro nyckeln till att göra det "foto" dynamisk, precis som sker manuellt med kameran verktyget. Den PasteSpecial kommandot faktiskt klistras bilden, och det inklistrade bilden förblir valt. Ställa Formel egenskapen för valet (bilden) ger den dynamiska karaktären av grafiken.

ExcelTips är din källa för kostnadseffektiv Microsoft Excel utbildning. Detta tips (2207) gäller för Microsoft Excel 97, 2000, 2002, och 2003. Du kan hitta en version av detta tips för menyfliksområdet i Excel (Excel 2007 och senare) här: Använda kameran i VBA.