[[20210820133729]] 『結合セルを一回だけループするには?』(窓際のおやじ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『結合セルを一回だけループするには?』(窓際のおやじ)

こんにちは
なんちゃって電子印鑑のアドインを作ろうと思ってます
以下のようにすると、押印欄がセル結合されていると、結合されているセルの数だけ印が押されてしまいます。
セルが結合されていても、結合セルで1回だけ押印されるようにするにはどうすればいいでしょうか

 Public Sub 連続押印()
   Dim Rng As Range, c As Range
   If Not TypeOf Selection Is Range Then Exit Sub
   Set Rng = Selection
   For Each c In Rng
       押印 c
   Next
 End Sub

 Private Sub 押印(c As Range)
    ThisWorkbook.Worksheets("印鑑").Shapes("印").Copy
    c.Parent.Paste
    Selection.Top = c.Top
    Selection.Left = c.Left
 End Sub

よろしくおねがいします。

< 使用 Excel:Office365、使用 OS:Windows10 >


一応全部のセルを調べると事となります。
その時の判定方法

Dim Rng As Range
For Each Rng In Selection

   If Rng.MergeArea.Cells(1).Address = Rng.Address Then
      MsgBox Rng.Address
   End If
Next
(こんな風に) 2021/08/20(金) 14:12

   If Rng.Cells(1).Address = Rng.Address Then

これでよかったかも。
(こんな風に) 2021/08/20(金) 14:28


If Rng.MergeArea.Cells(1).Address = Rng.Address Then
これで解決しました。
結合セルの最初のセルのアドレスと比較して一致したときだけ、処理すればいいわけですね
ありがとうございます。
解決です。

(窓際のおやじ) 2021/08/20(金) 14:44


If Rng.Cells(1).Address = Rng.Address Then
も試してみましたが、全部のセルで処理してしまいました。
MergeAreaは必要なようです。

(窓際のおやじ) 2021/08/20(金) 15:00


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.