Середа, 06 жовтня 2021
  3 відповіді
  7.2 тис. Відвідувань
0
Голосів
розстібати
Я щойно придбав Kutools для Excel, оскільки шукав можливість скопіювати в Excel лише рамки з вибраної області, залишаючи вміст, форматування, ширину стовпця з цільової області незмінними.

Я знайшов рішення для цього - використовуючи Kutools для Excel на цій веб-сторінці:
https://www.extendoffice.com/documents/excel/4336-excel-copy-borders-only.html#a1 

Тепер я спробував використати запропонований макрос і виявив, що він зовсім не виконує те, що було обіцяно:
Окрім копіювання меж, він також:
- видаляє форматування з області призначення
- змінює стовпець області призначення
Крім того, макрос працює досить повільно, і зміни неможливо відмінити.

Чи не могли б ви допомогти мені переконатися, що макрос виконує те, що було обіцяно?...

Сподіваюсь почути від вас

кращий
Маріанна
2 років тому
·
# 2314
0
Голосів
розстібати
Привіт Маріанневан Любек!

Вибачте за неприємності. Тут ми написали ще один макрос для випадку. Ви можете спробувати?

Sub CopyBorders()
Dim xRg, yRg As Range
On Error Resume Next

Set xRg = Application.InputBox("Select Range with Borders to Copy...", "Kutools For Excel", , , , , , 8)
Set yRg = Application.InputBox("Select Cells to Apply Borders to range..", "Kutools For Excel", , , , , , 8)

With yRg.Borders(xlEdgeLeft)
.LineStyle = xRg.Borders(xlEdgeLeft).LineStyle
.ColorIndex = xRg.Borders(xlEdgeLeft).ColorIndex
.TintAndShade = xRg.Borders(xlEdgeLeft).TintAndShade
.Weight = xRg.Borders(xlEdgeLeft).Weight
End With
With yRg.Borders(xlEdgeTop)
.LineStyle = xRg.Borders(xlEdgeTop).LineStyle
.ColorIndex = xRg.Borders(xlEdgeTop).ColorIndex
.TintAndShade = xRg.Borders(xlEdgeTop).TintAndShade
.Weight = xRg.Borders(xlEdgeTop).Weight
End With
With yRg.Borders(xlEdgeBottom)
.LineStyle = xRg.Borders(xlEdgeBottom).LineStyle
.ColorIndex = xRg.Borders(xlEdgeBottom).ColorIndex
.TintAndShade = xRg.Borders(xlEdgeBottom).TintAndShade
.Weight = xRg.Borders(xlEdgeBottom).Weight
End With
With yRg.Borders(xlEdgeRight)
.LineStyle = xRg.Borders(xlEdgeRight).LineStyle
.ColorIndex = xRg.Borders(xlEdgeRight).ColorIndex
.TintAndShade = xRg.Borders(xlEdgeRight).TintAndShade
.Weight = xRg.Borders(xlEdgeRight).Weight
End With
With yRg.Borders(xlInsideHorizontal)
.LineStyle = xRg.Borders(xlInsideHorizontal).LineStyle
.ColorIndex = xRg.Borders(xlInsideHorizontal).ColorIndex
.TintAndShade = xRg.Borders(xlInsideHorizontal).TintAndShade
.Weight = xRg.Borders(xlInsideHorizontal).Weight
End With
With yRg.Borders(xlInsideVertical)
.LineStyle = xRg.Borders(xlInsideVertical).LineStyle
.ColorIndex = xRg.Borders(xlInsideVertical).ColorIndex
.TintAndShade = xRg.Borders(xlInsideVertical).TintAndShade
.Weight = xRg.Borders(xlInsideVertical).Weight
End With
End Sub


Якщо у вас виникли інші запитання, будь ласка, не соромтеся, дайте мені знати.

Аманда
2 років тому
·
# 2315
0
Голосів
розстібати
Привіт Маріанневан Любек!

Одна річ, яку я маю вам сказати, це те, що після запуску коду ви повинні вибрати всі клітинки, до яких ви хочете застосувати межі, але не одну клітинку, як на знімку екрана нижче:
виберіть клітинки.png

Аманда
0
Голосів
розстібати
Дякую, тим часом проблему було вирішено іншим способом.
  • Сторінки:
  • 1
На цю посаду ще немає відповідей.