Sub test()
Dim s() As String
Dim p As Point
If ActiveChart Is Nothing Then
MsgBox "グラフを選択して実行"
Exit Sub
End If
With ActiveChart
Select Case .ChartType
Case xlPie, xl3DPie, xlPieExploded, xl3DPieExploded
With .SeriesCollection(1)
.HasDataLabels = False
.ApplyDataLabels ShowValue:=True, ShowPercentage:=True, Separator:=vbLf
For Each p In .Points
'改行文字で分割して順番入れ替え、改行文字で結合
s() = Split(p.DataLabel.Text, vbLf)
p.DataLabel.Text = s(1) & vbLf & s(0)
Next
End With
End Select
End With
End Sub
取り敢えず、マクロでの対応策しか思いつきません...
お礼
そんな大変なことだったんですね! ありがとうございました!!!