CopyOrigin on Insert in Excel VBA

quelqu'un peut-il me dire à quoi sert le paramètre CopyOrigin D'Insert? Et des valeurs qu'elle acceptera?

j'ai inclus l'aide de vba (ce qui n'est pas vraiment utile):

Insère une cellule ou une plage de cellules dans la feuille de travail ou la macro feuille et déplace les autres cellules pour faire de l'espace.

expression.Insert(Shift, CopyOrigin)) l'expression Nécessaire. Expression qui renvoie un objet Range.

Décalage Variante Facultative. Spécifier la voie à décaler les cellules. Peut être l'une des opérations suivantes Xlinsertshiftdirection constants: xlShiftToRight ou xlShiftDown. Si ce l'argument est omis, Microsoft Excel décide en fonction de la forme de la gamme.

Variante Optionnelle De CopyOrigin. Le copie d'origine.

19
demandé sur Ben Rhys-Lewis 2009-03-26 07:34:34

3 réponses

il prend l'un des deux paramètres comme indiqué ci-dessous.

Const xlFormatFromLeftOrAbove = 0

Member of Excel.XlInsertFormatOrigin

et...

Const xlFormatFromRightOrBelow = 1

Member of Excel.XlInsertFormatOrigin
22
répondu lakshmanaraj 2009-03-26 04:55:17

Ajouter aux commentaires de Lakshmanaraj-il reprend l'option de formatage en fonction de l'endroit où vous insérez des cellules et quel formatage vous souhaitez choisir.

disons que vous avez:

première ligne dont le texte est en gras,

deuxième rangée a des choses en italique.

Vous sélectionnez la deuxième ligne et exécutez l'expression suivante:

Selection.Insert CopyOrigin:=xlFormatFromLeftOrAbove

la nouvelle ligne est insérée entre la première et la deuxième ligne et il choisit les règles de formatage de la "ligne au-dessus" ou "les cellules à gauche de la cellule".

dans ce cas, les cellules nouvellement insérées auront le texte en gras sans que vous le positionniez explicitement.

20
répondu shahkalpesh 2015-08-31 20:48:59

Vous pouvez référencer ici :

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())
0
répondu user712793 2011-12-03 04:39:33