Woensdag, oktober 06 2021
  3 Antwoorden
  7.1K bezoeken
Ik heb zojuist Kutools voor Excel gekocht omdat ik op zoek was naar een optie om in Excel alleen de randen van een geselecteerd gebied te kopiëren - waarbij de inhoud, opmaak en kolombreedte van het bestemmingsgebied ongewijzigd blijven.

Ik heb hiervoor een oplossing gevonden - met behulp van Kutools voor Excel op deze webpagina:
https://www.extendoffice.com/documents/excel/4336-excel-copy-borders-only.html#a1 

Nu probeerde ik de voorgestelde macro te gebruiken en ontdekte dat deze helemaal niet doet wat beloofd was:
Naast het kopiëren van de randen kan het ook:
- verwijdert de opmaak uit het bestemmingsgebied
- verandert de kolom van het bestemmingsgebied
Bovendien werkt de macro vrij langzaam en kunnen de wijzigingen niet ongedaan worden gemaakt.

Kunt u mij alstublieft helpen om ervoor te zorgen dat de macro doet wat beloofd is...?

Hoop van je te horen

Beste
Marianne
2 jaar geleden
·
#2314
Hallo MariannevanLubek,

Sorry voor de moeite. Hier hebben we nog een macro voor de case geschreven. Kun je het alsjeblieft proberen?

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


Als je nog andere vragen hebt, aarzel dan niet om me dit te laten weten.

Amanda
2 jaar geleden
·
#2315
Hallo MariannevanLubek,

Eén ding dat ik je moet vertellen is dat je, nadat je de code hebt uitgevoerd, alle cellen moet selecteren waar je de randen wilt toepassen, maar niet één cel, net zoals in de onderstaande schermafbeelding:
selecteer cellen.png

Amanda
2 jaar geleden
·
#2316
Bedankt, het probleem is inmiddels op een andere manier opgelost.
  • Pagina:
  • 1
Er zijn nog geen reacties op dit bericht geplaatst.