Wytnij, kopiuj i wklej z makra - przykłady kodu VBA

W tym samouczku poznasz kilka różnych metod kopiowania i wklejania oraz wycinania i wklejania za pomocą makra VBA. Przeczytaj samouczek towarzyszący wklejaniu wartości i wklejaniu specjalne, aby uzyskać bardziej zaawansowane opcje kopiowania i wklejania.

Aby użyć tego kodu: Otwórz Edytor Visual Basic (Alt + F11), Wstaw nowy moduł (Wstaw > Moduł) i skopiuj i wklej żądany kod do modułu.

Kopiuj (wytnij) i wklej pojedynczą komórkę

Ten przykład kopiuje lub wycina i wkleja pojedynczą komórkę, A1 do B1:

123456789 Sub Paste_OneCell()'Kopiuj i wklej pojedynczą komórkęZakres("A1").Zakres kopiowania("B1")'Wytnij i wklej pojedynczą komórkęZakres ("A1"). Zakres cięcia ("B1")Napis końcowy

Kopiuj zaznaczenie

Jeśli chcesz skopiować aktywny wybór, użyj tego:

123456789101112 Podrzędny wybór kopii()'Wklej do określonego zakresuSelection.copy range("b1")'Wklej z przesunięciem (przesuwa 2 komórki w dół i 1 w prawo)Wybór.kopiujWybór.przesunięcie(2,1).wklejApplication.CutCopyMode = FałszNapis końcowy

Kopiuj (wytnij) i wklej zakres komórek

Ten przykład kopiuje lub wycina i wkleja zakres komórek od A1:A3 do B1:B3 :

123456789 Sub Paste_Range()'Skopiuj i wklej zakres komórekZakres("A1:A3").Zakres kopiowania("B1:B3")'Wytnij i wklej zakres komórekZakres("A1:A3").Zakres cięcia("B1:B3")Napis końcowy

Kopiuj (wytnij) i wklej całą kolumnę

Poniżej zademonstrujemy kilka szybkich przykładów. Przeczytaj nasz artykuł na temat kopiowania i wklejania wierszy i kolumn, aby uzyskać szczegółowe przykłady, wyjaśnienia i odmiany.

Ten przykład kopiuje lub wycina i wkleja całą kolumnę od A do B:

12345678910 Sub WklejJednąKolumnę()'Kopiuj i wklej kolumnęZakres("A:A").Zakres kopiowania("B:B")'Wytnij i wklej kolumnęZakres("A:A").Zakres cięcia("B:B")Napis końcowy

Kopiuj (wytnij) i wklej cały wiersz

Ten przykład kopiuje lub wycina i wkleja cały wiersz, od 1 do 2:

12345678910 Sub Paste_OneRow()'Kopiuj i wklej wierszZakres("1:1").Zakres kopiowania("2:2")'Wytnij i wklej wierszZakres("1:1").Zakres cięcia("2:2")Napis końcowy

Kopiuj (wytnij) i wklej do innego arkusza lub skoroszytu

1234567891011121314 Sub Paste_Other_Sheet_or_Book()'Wytnij lub skopiuj i wklej do innego arkuszaWorksheets("sheet1").Range("A1").Copy Worksheets("sheet2").Range("B1") 'CopyWorksheets("sheet1").Range("A1").Cut Worksheets("sheet2").Range("B1") 'Cut'Wytnij lub skopiuj i wklej do innego skoroszytuSkoroszyty("book1.xlsm").Worksheets("sheet1").Range("A1").Copy _Skoroszyty("book2.xlsm").Worksheets("sheet1").Range("B1") 'KopiujSkoroszyty("book1.xlsm").Worksheets("sheet1").Range("A1").Cut _Workbooks("book2.xlsm").Worksheets("sheet1").Range("B1") 'WytnijApplication.CutCopyMode = FałszNapis końcowy

Wklej wartość

Zwykle podczas kopiowania i wklejania wklejasz wszystkie właściwości komórki: formatowanie, formuły itp. Wklejanie wartości pozwala kopiować i wklejać wartości komórek i nic więcej. Najłatwiejszym sposobem na wklejenie wartości w VBA jest bezpośrednie zdefiniowanie wartości komórki:

123456789101112131415 Wklej wartość podrzędną ()„Komórki wklejania wartości”Zakres("B1").wartość = Zakres("A1").wartośćZakres("B1:B3").wartość = Zakres("A1:A3").wartość„Ustaw wartości między arkuszami”Arkusze("arkusz2").range("A1").value = Arkusze("arkusz1").range("A1").value„Ustaw wartości między skoroszytami”Skoroszyty("książka2.xlsm").Worksheets("arkusz1").range("A1").value = _Skoroszyty("książka1.xlsm").Worksheets("arkusz1").range("A1").valueApplication.CutCopyMode = FałszNapis końcowy

Wklej specjalnie

Wklej specjalnie umożliwia kopiowanie i wklejanie określonych właściwości komórek (przykłady: formaty, wartości, szerokości kolumn itp.). Pozwala również na wykonywanie specjalnych operacji wklejania (przykłady: pomijanie pustych miejsc, transpozycja). Przyjrzymy się kilku przykładom poniżej, ale aby uzyskać szczegółowe informacje, przeczytaj nasz samouczek dotyczący wklejania wartości i wklejania specjalnego.

12345678910111213141516171819 SubwklejSpecjalnie()„Wykonaj jedną specjalną operację wklejania:Zakres ("A1").Kopiuj„Wklej formaty”Zakres("B1").PasteSpecial Paste:=xlPasteFormats'Wklej szerokości kolumnZakres("B1").PasteSpecial Paste:=xlPasteColumnWidths„Wklej formuły”Zakres("B1").PasteSpecial Paste:=xlPasteFormules'Wykonaj wiele operacji specjalnych wklejania jednocześnie:Zakres ("A1").Kopiuj„Wklej formaty i transponuj”Zakres("B1").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:= _Fałsz, transpozycja:=PrawdaApplication.CutCopyMode = FałszNapis końcowy

Wyczyść schowek

Po skopiowaniu i wklejeniu możesz chcieć wyczyścić schowek (robimy to w niektórych przykładach kodu powyżej). Aby wyczyścić schowek Excela, ustawiamy Application.CutCopyMode na False:

1 Application.CutCopyMode = Fałsz

Spowoduje to wyczyszczenie schowka Excela. Nie spowoduje to jednak wyczyszczenia schowka systemu Windows. Aby wyczyścić schowek okna, postępuj zgodnie z instrukcjami tutaj.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave