2016-08-23 2 views
1

Sheet 1 in Arbeitsmappe A enthält einige Zellen mit geschützten Formeln und einige Zellen, die zum Eingeben von Daten verwendet werden, die nicht geschützt sind. Es gibt mehrere Dateien, die diese Struktur verwenden.Kopieren Sie alle ungeschützten Zellen in Sheet in ein anderes Blatt und behalten Sie die Position

Ich habe jetzt die Formeln in einer Vorlagendatei, die die gleiche Struktur verwenden, aktualisiert. Ich möchte alle ungeschützten Zellen kopieren und sie an die gleiche Stelle in der neuen Datei verschieben.

Nehmen wir an, der Bereich ist A1: R99 und ich habe ungeschützte Zellen in B1: B99 und G1: G99 (mehrere verschiedene Orte in Real-Datei würde also alle langen Bereiche dauern) Dann möchte ich B1 kopieren: B99 an die gleiche Stelle in der neuen Datei. Hoffe, es gibt einen besseren Weg, dies zu tun, als jeden Bereich manuell einzugeben!

+1

Was hast du bisher versucht? Bitte geben Sie den Code an, den Sie erhalten haben. Wenn Sie keine haben, fangen Sie klein an und tun Sie es Schritt für Schritt. Zugriff auf verschiedene Arbeitsmappen, Schleifen von Zellen, Überprüfen von Zelleigenschaften usw. – arcadeprecinct

Antwort

1

Angenommen, Sie die Daten in ‚Sheet1‘ haben und wenn Sie alle ungeschützten Zellen auf ein neues Blatt kopieren wollen, können in der gleichen Position ‚Sheet2‘ sagen, wie sie in ‚Sheet1‘ waren, dann

Sub Foo() 

If Sheets("Sheet1").ProtectContents = True Then 

    Worksheets("Sheet1").Activate 
    For i = 1 To 99 
     For j = 1 To 18 
      If Cells(i, j).Locked = False Then 
       a = Cells(i, j).Value 
       Worksheets("Sheet2").Activate 
       Cells(i, j).Value = a 
       Worksheets("Sheet1").Activate 
      End If 
     Next j 
    Next i 

End If 

End Sub 
Verwandte Themen