2016-06-28 2 views
-1

Ich versuche, ein Deckblatt für eine Excel-Arbeitsmappe erstellen, wird der Benutzer diese Zellen dann ein Makro wird sie über alle Arbeitsblätter in der Arbeitsmappe einfügen.Excel-Deckblatt, das verwendet wird, um Zellen über die gesamte Arbeitsmappe zu füllen

Das Deckblatt fragt nach Informationen in Zellen aus Spalte D und Spalte I, die in der gesamten Arbeitsmappe verwendet werden können. Ich versuche, dieses Arbeitsbuch schneller und einfacher auszufüllen.

Ich habe ein grundlegendes Verständnis von Excel VBA, aber benötigen Hilfe, um dies zu schreiben, danke.

+0

Dies ist sehr breit. Wenn Sie ein grundlegendes Verständnis von Excel VBA haben, haben Sie sicher schon etwas Code für diese Aufgabe geschrieben? Es hört sich so an, als müssten Sie nur die Blätter durchlaufen und einige Zellen füllen. Ein Benutzerformular zur Eingabe der Daten könnte auch eine Lösung sein (abhängig von den eingegebenen Daten). – arcadeprecinct

+0

Es tut mir leid, breit zu sein. Der einzige Code, den ich habe, habe ich von dieser Seite, wie 'Set targetRange = newSheet. [A1]' 'ActiveWorkbook.Sheets (1) .Range (" A1: Q1 "). Kopieren targetRange' Also ich verstehe, wie man vielleicht Kopieren Sie auf ein aktives Blatt, aber ich bin mir nicht sicher, wie Sie über mehrere Blätter kopieren, die möglicherweise nicht aktiv sind. –

+0

Sie sagen, Sie wissen, wie Sie 'ActiveSheet' verwenden, aber nicht, wie Sie auf andere Blätter verweisen. Ihr Beispiel enthält jedoch mehrere Verweise auf Blätter (die nicht aktiv sein müssen). 'Sheets (1)' und 'newSheet' werden verwendet, um Bereiche auf bestimmten Blättern anzugeben, während' ActiveSheet' überhaupt nicht verwendet wird. – arcadeprecinct

Antwort

1

Sie Code verwenden so etwas wie dieses

Sub Main 
    Dim cellsToCopy As Range 
    Dim shtNames as Variant, shtName As Variant 

    Set cellsToCopy = Worksheets("CoverSheet").Range("D5, D11, I3, I12") '<--| change both "CoverSheet" name and its cells address list to fit your needs 

    shtNames = Array("firstSheet", "secondSheet", "thirdSheet") '<--| change sheets names to paste cellsToCopy values into 

    For Each shtName in shtNames 
    Worksheets(shtName).Range(cellsToCopy.Address).Value = cellsToCopy.Value 
    Next shtName 

End Sub 
Verwandte Themen