2012-02-05 5 views
6

Potrzebne jest skopiowanie zawartości całego wiersza i formatowania do innego arkusza.Kopiowanie zawartości wierszy i formatowanie (do innego arkusza)

W tej chwili musiałem zadowolić się ustawieniem zawartości starych komórek na zawartość nowych komórek, a jedynie kopiowanie zawartości, a nie formatowanie. (Moje komórki mają różne kolory, które muszą być wykonywane w poprzek)

Obecnie mam następujący: (to działa prawidłowo dla komórek w tym samym arkuszu)

Range(Cells(45, 2), Cells(45, 3)).Copy Range(Cells(50, 2), Cells(50, 3)) 

jednak usiłuję zrób to z jednego arkusza na drugi. (Kopiuj z arkusza "Front_Page" do "vg"). Próbowałem użyć następującego, oczywiście, że to nie działa, ale czy ktoś może mi powiedzieć, co robię źle?

Range.Worksheet("Front_Page").Range(Cells(45, 2), Cells(45, 3)).Copy Worksheet("vg").Range(Cells(50, 2), Cells(50, 3)) 

Odpowiedz

0

Cells odnosi się do komórek aktywnego arkusza. W ten sposób pojawia się błąd: vg nie jest aktywnym arkuszem. Określenie komórek innego arkusza jako parametrów dla obiektu Range zawsze prowadzi do błędu. To będzie działać:

Worksheets("Front_Page").Range(Worksheets("Front_Page").Cells(45, 2), Worksheets("Front_Page").Cells(45, 3)).Copy Worksheets("vg").Range(Worksheets("vg").Cells(50, 2), Worksheets("vg").Cells(50, 3)) 

Jednak może być zoptymalizowane, aby po prostu:

Worksheets("Front_Page").Range("B45:C45").Copy Worksheets("vg").Range("B50:C50") 

również zauważyć, że Worksheet("vg") nie działa, to należy wymienić z Worksheets("vg") innego spowoduje to również błąd.

Aby skopiować cały wiersz, przeznaczenie:

Worksheets("Front_Page").Rows("45:45").Copy Worksheets("vg").Rows("50:50") 
+0

Możesz także użyć Arkuszy ("sheetName"). – peege

1

Wygląda próby skopiowania komórki z "Front_Pages" do "VG" od korzystania z "komórki" wewnątrz "wachlarz"

Range (komórki ...).

Jeśli tak, możesz po prostu zmienić format komórki jako doskonały zakres ogólny; spróbuj tego kodu:

Sheets("vg").Range("B5") = Sheets("Front_Pages").Range("B4") 
Sheets("vg").Range("C5") = Sheets("Front_Pages").Range("C4")