Wycinanie i wklejanie kolumn w zakresie programu Excel za pomocą c #

Próbuję przenieść kolumnę B przed kolumną Q w arkuszu Excela jako część raportu, nad którym pracuję. Mam doświadczenie w VBA, ale stosunkowo mało c #, więc spędziłem ostatnią godzinę w Google i nie mogę znaleźć rozwiązania, czuję, że powinno to być proste, ale nie mogę tego zrozumieć.

Metoda pierwsza, której wynikiem jest komunikat „Metoda wstawiania klasy zakresu nie powiodła się”.

Excel.Range rngCut1 = JobLabourSheet.get_Range("B:B", Type.Missing);
Excel.Range rngPaste1 = JobLabourSheet.get_Range("Q:Q", Type.Missing);
            rngCut1.Columns.Cut(rngPaste1.EntireColumn.Insert(Excel.XlInsertShiftDirection.xlShiftToRight, rngCut1));

Metoda druga powoduje, że msg. „Nie można uzyskać właściwości Cut klasy Range”.

Excel.Range rngCut1 = JobLabourSheet.get_Range("B:B", Type.Missing);
Excel.Range rngPaste1 = JobLabourSheet.get_Range("Q:Q", Type.Missing);
            rngCut1.Columns.Cut(rngPaste1.EntireColumn.Insert(Excel.XlInsertShiftDirection.xlShiftToRight, Missing.Value));

W drugiej metodzie, gdy pomijam CopyOrigin, otrzymuję msg, ale wstawia pustą kolumnę przed kolumną Q.

W VBA użyłbym następującego:

Columns("B:B").Cut
Columns("Q:Q").Insert Shift:=xlToRight

Ale tak jak powiedziałem, moje doświadczenie w c # jest obecnie ograniczone, więc nie mam pojęcia, jak go przetłumaczyć na c #

questionAnswers(1)

yourAnswerToTheQuestion