2016-09-02 6 views
-1

Эй, все, что я пытаюсь обернуть вокруг себя, как объединить две ячейки вместе, хотя это кажется легким, я не могу понять, как его вызов ячеек, строк , колонны и т.д. из моего кода ниже:vb.net excel слияние ячеек путаницы

Dim mergeCell As Excel.Range = xlsSheet.Range("B" & i & ":B" & i) 
mergeCell.Range(mergeCell.Cells(0, 0), mergeCell.Cells(1, 1)).Merge() 

«я» выше будет в этом случае ниже. Мой оригинальный лист выглядит следующим образом:

enter image description here

Где я хочу слияния A4/A5 с B4/5. Кроме того, мне нужно будет также быть в состоянии слияния A8 с B8, и т.д. и т.п.

Однако, когда я запускаю этот код он сливает A6/A7 с B6/B7:

enter image description here

Когда я использую этот код перед тем слияния:

mergeCell.Select() 

кажется очертить 0,1 клетки:

enter image description here

Может кто-то сделать, так как из mergeCell.Cells (0, 0), mergeCell.Cells (1, 1) код?

+0

Почему разве вы не используете формулу и не используете функцию concatenate? – Codexer

+0

Ум, показывающий пример этого, @ Zaggler? – StealthRT

+0

Дайте мне несколько минут, я приведу вам пример. – Codexer

ответ

0

Кажется, что я наконец понял это:

xlsSheet.Range("A" & i & ":B" & (i + 1)).MergeCells = True 

Но я хотел бы видеть пример из вас, @Zaggler.

0

почему бы не использовать .Merge() метод:

Dim rng As Excel.Range = Nothing 
      rng = xlsSheet.Range(xlsSheet.Cells(1, i), xlsSheet.Cells(2, i+1)) 
      rng.Merge() 

вы сделали это почти прямо в оригинальный вопрос, вам просто нужно изменить:

mergeCell.Range(mergeCell.Cells(0, 0), mergeCell.Cells(1, 1)) 

в

mergeCell.Range(xlsSheet.Cells(0, 0), xlsSheet.Cells(1, 1)) 
Смежные вопросы