dポイントプレゼントキャンペーン実施中!

エクセル2010を使っております。

ある表を五十音順に並び替えようと思っているのですが、「この操作には、
同じサイズのセル結合が必要です。」とのメッセージが出てしまいます。

しかし、結合セルをhttp://office.microsoft.com/ja-jp/excel-help/HP0 …
に記載されたとおりに検索しても見つかりません。
(並び替えようとしている範囲内を目で探しても結合セルは見つかりません)

どうすれば、並び替えができるようになるのでしょうか?

よろしくお願いします。

A 回答 (4件)

こんばんは!



お礼欄の質問
> For Eachのステートメントでcの値から検証・操作を始めて、Nextでも
>cとなっているのですが、なぜこの書き方でうまく動くのでしょうか。
>Nextであれば、+1とかしていけば検証・操作する値が順次変わっていく
>のはわかるのですが。
について・・・

↓の画像でB2~E6セルが範囲指定の範囲だとします。
前回のコードでは、「c」はRange型の変数として宣言していますので、
>For Each c In Selection
・・・
> Next c
で画像の範囲指定したセルを数字順、横に向かってループしていきます。

この「Next c」は 次の「Range」へ!
すなわち「次のセルへ!」というコトになります。

※ >Nextであれば、+1とかしていけば検証・操作する値が順次変わっていく
  >のはわかるのですが。

は変数を「Integer」(整数型)や「Long」(長整数型)で宣言すれば
+1と順にプラスされていきます。

この程度でよろしいでしょうかね?m(_ _)m
「セル結合されていないのに結合のメッセージ」の回答画像4
    • good
    • 0
この回答へのお礼

こんばんは。

画像付きで、大変わかりやすい説明をしてくださってありがとうございます。

勉強させていただきました。

お礼日時:2014/01/16 17:45

No.1・2です。



>マクロは使わずに、検索できるとありがたいのですが。。

ん~~~色々調べてみましたが、やはり「検索と選択」の「検索」以外では
いい方法が見当たりませんね。
(当方の探し方が悪いのかもしれませんが・・・)

やはりVBAでの方法が一番手っ取り早いような気がします。
単に結合を解除するだけでは、空白セルができてしまいますので、並び替えはできません。
一般的に並び替えといえば行方向が主となると思いますので、行方向の結合セルがある場合は厄介ですね!
空白セルに結合解除前のデータを入れてやる必要があるはずです。

具体的な表のレイアウトが判らないので、コードを載せても意味のないものになってしまうと思います。
ただ、これでは何もお役に立てないので、
前回のコードは結合セル番地をメッセージボックスに表示させただけでしたので、
とりあえず結合解除のコードだけ載せておきます。

前回同様の操作方法でマクロを実行してみてください。
結合の解除だけはできているはずです。

Sub 結合解除() 'この行から
Dim c As Range
For Each c In Selection
If c.MergeCells Then
c.UnMerge
End If
Next c
End Sub 'この行まで

※ 今回も範囲指定してマクロを実行してみてください。m(_ _)m
    • good
    • 0
この回答へのお礼

ありがとうございます。

マクロの中の以下の部分について伺ってもよろしいでしょうか。

For Each c In Selection
If c.MergeCells Then
c.UnMerge
End If
Next c

For Eachのステートメントでcの値から検証・操作を始めて、Nextでも
cとなっているのですが、なぜこの書き方でうまく動くのでしょうか。
Nextであれば、+1とかしていけば検証・操作する値が順次変わっていく
のはわかるのですが。

お礼日時:2014/01/08 09:03

No.1です。



質問にあるURLを覗いてみました。

単に「セルを結合する」にチェックを入れただけでは検索漏れがあるようですね。

たとえば「セルを結合して中央揃え」の場合は「文字の配置」で「横位置」「縦位置」まで一致していないとダメのようです。

前回のマクロは単に結合しているかどうか?だけの検索でしたので
おそらくちゃんと検索できたのではないでしょうか?

※ あくまで個人的な判断ですので、間違っていたらごめんなさいね。m(_ _)m
    • good
    • 0
この回答へのお礼

ありがとうございます。

おっしゃるとおり、「検索と選択」で文字の配置まで合わせて検索してみましたが、
ヒットしませんでした。

ごめんなさい。
マクロは試しておりません<(_ _)>

マクロは使わずに、検索できるとありがたいのですが。。

非表示にしていた列を表示にしてみると、目視でわかりました。

お礼日時:2013/12/19 15:05

こんにちは!


直接の回答ではないのですが・・・

>(並び替えようとしている範囲内を目で探しても結合セルは見つかりません)

とりあえず結合セルかあるかどうか検索してみてはどうでしょうか?
VBAになってしまいますが、一例です。

画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペースト → Excel画面に戻ってマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

※ 必ず検索範囲を選択してマクロを実行してみてください。

Sub Sample1() 'この行から
Dim c As Range, str As String, buf As String
For Each c In Selection
If c.MergeCells Then
str = c.Address(False, False)
buf = buf & str & ","
End If
Next c
If buf = "" Then
MsgBox "結合セルなし"
Else
MsgBox Left(buf, Len(buf) - 1) & "が結合セル"
End If
End Sub 'この行まで

※ 結合解除も可能ですが、結合セルがあるかどうかだけの検索としています。m(_ _)m
    • good
    • 0
この回答へのお礼

こんにちは。
以前も回答していただいた記憶があります( ^^) _旦~~

調べてみたら、結合したセルがありました。

しかし、なぜ結合セルが検索できなかったのでしょうか?

編集タブの「検索と選択」から探す方法で検索できたときもあるのですが、なぜでしょうか。

お礼日時:2013/12/19 14:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!