2009-03-26 21 views
19

Czy ktoś może mi powiedzieć, do czego służy parametr CopyOrigin z Insert? Jakie wartości zaakceptuje?CopyOrigin na Insert w programie Excel VBA

I zostały objęte pomoc vba (który nie był naprawdę to pomocne):

Wstawia komórkę lub zakres komórek do arkusza lub makr arkusza i przesunięć innych komórek z dala, aby zrobić miejsce .

wyrażenie expressionInsert (Shift, CopyOrigin) wyrażenie Wymagane. Wyrażenie , które zwraca obiekt Range.

Shift Opcjonalny wariant. Określa w jaki sposób przesuwać komórki. Może być jedną z następujących stałych XlInsertShiftDirection: xlShiftToRight lub xlShiftDown. Jeśli ten argument zostanie pominięty, Microsoft Excel decyduje na podstawie kształtu zakresu .

CopyOrigin Opcjonalny wariant. Początek kopiowania .

Odpowiedz

22

Może to być jeden z parametrów podanych poniżej.

Const xlFormatFromLeftOrAbove = 0 

Member of Excel.XlInsertFormatOrigin 

i ...

Const xlFormatFromRightOrBelow = 1 

Member of Excel.XlInsertFormatOrigin 
19

Dodanie do uwag Lakshmanaraj za - to podnosi opcję formatowania w zależności od tego, gdzie jesteś, co wstawiania komórek & formatowanie chcesz wybrać.

Powiedzmy, że masz:
pierwszy wiersz, który ma pogrubiony tekst,
drugi wiersz ma rzeczy kursywą.
wybrać 2. rzędzie & wykonać następujące wyrażenie:

Selection.Insert CopyOrigin:=xlFormatFromLeftOrAbove 

Nowy wiersz zostanie wstawiony pomiędzy 1. i 2. rzędzie & to odbiera reguły formatowania z „wiersza powyżej” lub „komórki z lewej komórce ".

W tym przypadku nowo wstawione komórki będą miały wytłuszczony tekst bez wyraźnego ustawienia.

0

można odwoływać tutaj:

Imports Excel = Microsoft.Office.Interop.Excel 
Dim XLApp As New Excel.Application() 
Dim xWkBook As Excel.Workbook = XLApp.Workbooks.Open(YourInitialPath) 
Dim xSheet As Excel.Worksheet = CType(xWkBook.Sheets(1), Excel.Worksheet) 

CurCell = xSheet.Range("G9:G11") 
CurCell.Insert(Excel.XlInsertShiftDirection.xlShiftToRight, CurCell.Copy()) 
+1

Ta odpowiedź jest całkowicie mylący, nie ma powodu, aby umieścić 'CurCell.Copy()' 'wewnątrz Insert' wezwanie, gdyż nawet nie zwraca niczego ale kopiuje zawartość CurCell do schowka później wstawić 'CurCell.Insert()' –

+0

kurkumak co? zakres zmienny? zmienna planety? Imię twojej żony? –

+4

to nie jest vba, nie możesz ustawić zmiennej podczas używania 'DIM'. wszystko to "kolor składni" oznaczony flagą w VBE (poza linią z 'zasięgiem'). –

Powiązane problemy