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

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

Код: 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
31.03.2005, 09:20:54
    #32990121
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение строк Excel
Хотя только посмотрел и тот и другой код работают
Может не на тот лист ссылаешься?
...
Рейтинг: 0 / 0
31.03.2005, 15:44:56
    #32991377
Чудик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение строк Excel
Насколько я помню, я в свое время так делал и VB, но сейчас почему не работает. Не объединяет и все! В чем может быть причина? На что можно грешить?
...
Рейтинг: 0 / 0
31.03.2005, 15:53:26
    #32991429
nibbles
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение строк Excel
ЧудикРаботаю из 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
31.03.2005, 20:54:40
    #32992144
Чудик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение строк Excel
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
01.04.2005, 10:06:02
    #32992615
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение строк Excel
Чудик
запустил твой код и все отработало. Появился шаблон: и объединение есть, и заголовок

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

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


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