powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Объединение строк Excel
7 сообщений из 7, страница 1 из 1
Объединение строк Excel
    #32989760
Чудик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Работаю из VB с Excel. Объединяю ячейки таким образом:
Код:
wrBook.Worksheets(1).Range("A1:F2").MergeCells = True

Но, почему-то, ячейки не объединяются! В VBA это работает, а тут нет. Какое решение есть?
...
Рейтинг: 0 / 0
Объединение строк Excel
    #32990108
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    Range("A1:F12").Select
    With Selection
        .HorizontalAlignment = xlGeneral
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation =  0 
        .AddIndent = False
        .IndentLevel =  0 
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = True
    End With
...
Рейтинг: 0 / 0
Объединение строк Excel
    #32990121
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя только посмотрел и тот и другой код работают
Может не на тот лист ссылаешься?
...
Рейтинг: 0 / 0
Объединение строк Excel
    #32991377
Чудик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насколько я помню, я в свое время так делал и VB, но сейчас почему не работает. Не объединяет и все! В чем может быть причина? На что можно грешить?
...
Рейтинг: 0 / 0
Объединение строк Excel
    #32991429
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЧудикРаботаю из VB с Excel. Объединяю ячейки таким образом:
Код:
wrBook.Worksheets(1).Range("A1:F2").MergeCells = True

Но, почему-то, ячейки не объединяются! В VBA это работает, а тут нет. Какое решение есть?

Ошибка происходит? Перед попыткой объединения что-нибудь над диапазоном А1:F2 или над листом или над книгой учиняется? Что-нибудь есть в ячейках из указанного диапазона? Что после попытки объединения возвращает следующая строка:

Код: plaintext
Debug.Print CBool(wrBook.Worksheets( 1 ).Range("A1:F2").MergeCells) 

?
...
Рейтинг: 0 / 0
Объединение строк Excel
    #32992144
Чудик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Debug возвращает True, хотя ячейки не объеденены.
Привожу весь код, относящийся к форматированию листа Excel:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
Public Sub ChangeMakeOrder()
ExcelCol = frmMakeOrder.MSHFlexGrid1.Cols
ExcelRow = frmMakeOrder.MSHFlexGrid1.Rows
With wrBook.Worksheets(1)
    .Range(.Cells(1, 1), .Cells(ExcelRow, ExcelCol)).Borders(xlDiagonalDown).LineStyle = xlNone
    .Range(.Cells(1, 1), .Cells(ExcelRow, ExcelCol)).Borders(xlDiagonalUp).LineStyle = xlNone
    .Range(.Cells(1, 1), .Cells(ExcelRow, ExcelCol)).Borders(xlInsideVertical).LineStyle = xlNone
    
    .Range(.Cells(1, 1), .Cells(ExcelRow, ExcelCol)).Borders(xlEdgeLeft).LineStyle = xlContinuous
    .Range(.Cells(1, 1), .Cells(ExcelRow, ExcelCol)).Borders(xlEdgeLeft).Weight = xlThin
    .Range(.Cells(1, 1), .Cells(ExcelRow, ExcelCol)).Borders(xlEdgeLeft).ColorIndex = xlAutomatic
    
    .Range(.Cells(1, 1), .Cells(ExcelRow, ExcelCol)).Borders(xlEdgeTop).LineStyle = xlContinuous
    .Range(.Cells(1, 1), .Cells(ExcelRow, ExcelCol)).Borders(xlEdgeTop).Weight = xlThin
    .Range(.Cells(1, 1), .Cells(ExcelRow, ExcelCol)).Borders(xlEdgeTop).ColorIndex = xlAutomatic
    
    .Range(.Cells(1, 1), .Cells(ExcelRow, ExcelCol)).Borders(xlEdgeBottom).LineStyle = xlContinuous
    .Range(.Cells(1, 1), .Cells(ExcelRow, ExcelCol)).Borders(xlEdgeBottom).Weight = xlThin
    .Range(.Cells(1, 1), .Cells(ExcelRow, ExcelCol)).Borders(xlEdgeBottom).ColorIndex = xlAutomatic
    
    .Range(.Cells(1, 1), .Cells(ExcelRow, ExcelCol)).Borders(xlEdgeRight).LineStyle = xlContinuous
    .Range(.Cells(1, 1), .Cells(ExcelRow, ExcelCol)).Borders(xlEdgeRight).Weight = xlThin
    .Range(.Cells(1, 1), .Cells(ExcelRow, ExcelCol)).Borders(xlEdgeRight).ColorIndex = xlAutomatic
    
    .Range(.Cells(1, 1), .Cells(ExcelRow, ExcelCol)).Borders(xlInsideVertical).LineStyle = xlContinuous
    .Range(.Cells(1, 1), .Cells(ExcelRow, ExcelCol)).Borders(xlInsideVertical).Weight = xlThin
    .Range(.Cells(1, 1), .Cells(ExcelRow, ExcelCol)).Borders(xlInsideVertical).ColorIndex = xlAutomatic
    
    .Range(.Cells(1, 1), .Cells(ExcelRow, ExcelCol)).Borders(xlInsideHorizontal).LineStyle = xlContinuous
    .Range(.Cells(1, 1), .Cells(ExcelRow, ExcelCol)).Borders(xlInsideHorizontal).Weight = xlThin
    .Range(.Cells(1, 1), .Cells(ExcelRow, ExcelCol)).Borders(xlInsideHorizontal).ColorIndex = xlAutomatic
    
    .Range(.Cells(1, 1), .Cells(1, ExcelCol)).Interior.ColorIndex = 15
    .Range(.Cells(1, 1), .Cells(1, ExcelCol)).Interior.Pattern = xlSolid

.Columns("A:A").Delete Shift:=xlToLeft
For i = 1 To 5
    .Rows("1:1").Insert Shift:=xlDown
Next i
    wrBook.Worksheets(1).Range("A1:F2").MergeCells = True
    Debug.Print CBool(wrBook.Worksheets(1).Range("A1:F2").MergeCells)

    .Cells(1, 5) = "Zamowienie  na surowce."
    .Cells(1, 5).Font.Bold = True
    .Cells(1, 5).HorizontalAlignment = xlRight
    .Cells(1, 5).Font.Size = 14
    
    
    .Cells(3, 3) = "Data zamowienia  :"
    .Cells(3, 4) = "24 mai 2005r"
    .Cells(4, 3) = "Nr zamowienia     :"
    .Cells(3, 3).HorizontalAlignment = xlRight
    .Cells(4, 3).HorizontalAlignment = xlRight
    
    .Cells(ExcelRow + 7, 1) = " zamowil :                                        zaakceptowal :                                     zatwierdzil :"
    .Cells(ExcelRow + 8, 1) = "   Çàÿâèë:                                         Ñîãëàñîâàíî:                                     Óòâåðæäàþ:"

End With
    
End Sub

Интересно, что когда я ставил заголовок "Zamowienie na surowce." перед строкой объединения ячеек, она ставилась в указанную ячейку. Но поставиви заголовок после строки объединения ячеек (как в приведенном варианте) заголовок вообще отсутствует!
...
Рейтинг: 0 / 0
Объединение строк Excel
    #32992615
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чудик
запустил твой код и все отработало. Появился шаблон: и объединение есть, и заголовок

Может с екселем что делаешь перед этим?

ЗЫЖ процедуру запускал из самого екселя
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Объединение строк Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]