記号のコピペ | |
---|---|
[194955] 記号のコピペ- ■親トピック/記事引用/メール受信=OFF■ □投稿者/ まー -(2022/06/02(18:55)) □U R L/ お世話になります。 エクセルのシートに〇(記号)を付けていく作業が大変なので考えてみました。 ActiveSheet.Shapes.Range(Array("Oval 2")).Select Selection.Copy Range("AJ10").Select ActiveSheet.Paste 上記の公式だとAJ10に限定されますが、色々なセルを順番に選んでは〇、選んでは〇というふうにしたいのですが、どうすればよいでしょうか? この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 ++++++++++++++++++++ OS ⇒OTHER Version⇒OTHER ++++++++++++++++++++ |
[194956] Re[1]: 記号のコピペ- ■記事引用/メール受信=OFF■ □投稿者/ OK -(2022/06/02(19:41)) □U R L/ Duplicate でシェイプの複製ができます。 で複製したシェイプの一を調整してやります。 Sub test() Call ovaldup(ActiveSheet, ActiveCell) End Sub Function ovaldup(ByVal ws As Worksheet, rng As Range) Dim moto As Object Dim dup As Object Set moto = ws.Shapes("Oval 2") Set dup = moto.Duplicate With dup .Left = rng.Left + rng.Width / 2 - dup.Width / 2 'シェイプの左端=セルの左端+セル幅の半分-シェイプの幅の半分 .Top = rng.Top + rng.Height / 2 - dup.Height / 2 'シェイプの上端=セルの上端+セル高の半分-シェイプの高さの半分 End With Set moto = Nothing Set dup = Nothing End Function この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
[194957] Re[2]: 記号のコピペ- ■記事引用/メール受信=OFF■ □投稿者/ OK -(2022/06/02(19:42)) □U R L/ >で複製したシェイプの一を調整してやります。 ↓の間違いでした。 で複製したシェイプの位置を調整してやります。 |
[194958] Re[3]: 記号のコピペ- ■記事引用/メール受信=OFF■ □投稿者/ OK -(2022/06/02(19:44)) □U R L/ ↑はシェイプを複製してますが、Ovalを一から作ってやっても いいと思います。マクロでシェイプ作成ができます。 |
[194959] Re[3]: 記号のコピペ- ■ / 記事引用/メール受信=OFF■ □投稿者/ まー -(2022/06/02(19:45)) □U R L/ ありがとうございました。 |
[194960] Re[4]: 記号のコピペ- ■記事引用/メール受信=OFF■ □投稿者/ OK -(2022/06/02(19:49)) □U R L/ 全ての選択セル(セルひとつづつ)に◯を付けていく サンプルです。 Sub test3() Dim sel As Range Dim c As Range If TypeName(Selection) <> "Range" Then Exit Sub Set sel = Selection For Each c In sel Call ovaldup(ActiveSheet, c) Next c Set sel = Nothing End Sub この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
このトピックに書きこむ |
---|