どうしても画像添付がうまくいかないので再投稿です。
申し訳ありません。

http://proxy.f1.ymdb.yahoofs.jp/users/4d3fb8ed_1 …

上記はヤフーフォトのリンクです。

茶色のセルは文字
青色のセルは空セル
B列の茶セルから次の茶セルまでにある青セルと茶セルをそれぞれ結合したいのですが、
量が多くできればエクセル側で一気に編集したいのですが方法ありますでしょうか?
知っている方いらっしゃいましたらやり方を教えてください。
説明下手ですいません。
宜しくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

マクロでないと無理ですね。


以下サンプルです。

Sub ブランクセル結合()
 Dim I         As Long
 Dim 結合開始セル As Range
 Set 結合開始セル = Range("B1")
 For I = 2 To Cells(Rows.Count, "A").End(xlUp).Row
   If Cells(I, "B") <> "" Then
     Range(結合開始セル, Cells(I - 1, "B")).Merge
     Set 結合開始セル = Cells(I, "B")
   End If
 Next I
 Range(結合開始セル, Cells(I - 1, "B")).Merge
End Sub
    • good
    • 1
この回答へのお礼

おお!できました!
ご丁寧にありがとうございます!
これでリスト化の作業が格段に楽になりました!

お礼日時:2011/04/24 00:17

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q【Excel】選択したすべてのセルを絶対参照にする方法

ExcelでF4を押せばセルを絶対参照に変えられますが、複数のセルを同時に絶対参照に変える方法を教えてください。

Aベストアンサー

こんばんは!
一例ですが・・・
Ctrlキーを押しながら、範囲指定(飛び飛びでも構いません)した後に
F4キーを押してみてください。
これでOKかと思います。m(__)m

QE列のセルに数値が入れば(空白でなければ)B列の同じ行のセルに色がつく

E列のセルに数値が入れば(空白でなければ)B列の同じ行のセルに色がつくようにしたい。

エクセル2007です。
条件付き書式で、数値を入れたセル自体に色をつけることはできたのですが他の列を参照することができませんでした。

どうやって設定すればいいでしょうか。

Aベストアンサー

B1セルの条件付書式で、条件を
「数式が」「=ISBLANK(E1)=FALSE」
とすればよいです。

Q別シートのセルを絶対参照にする

office2007、Excelで別シートのセルを絶対参照する方法を教えて下さい。
セルに「=シート名セル番地」を力した場合は、
セル番地を$で絶対参照にしても
参照先シートのその上に行を挿入すると
$A$5を指定していても行を挿入した場合は
自動的に$A$6になってしまいます。
別シートに行を挿入しても参照先のセルを固定する方法を教えて下さい。

Aベストアンサー

INDIRECT関数なら、文字列として範囲を指定できるので、行挿入や列挿入で勝手に指定範囲が変わることはありません。

例:
 INDIRECT(参照文字列,参照形式)
 と、使います。
 =INDIRECT("Sheet1!A1",TRUE)


※ INDIRECT関数の詳細は Excelのヘルプや解説サイトなどで確認してください。

Qその列の結合セルを次のセルにコピーしたい場合

A列目に結合セルがあってその結合セルをB列からE列までコピーするコードを書きたいと思って次のコードを記述しましたが動きません。
どこが間違っているのでしょうか?
  
  sub()
   Do While Columns(1).MergeArea = True
Columns(1).Copy Columns(2)
Columns(1).Copy Columns(3)
Columns(1).Copy Columns(4)
Columns(1).Copy Columns(5)
Loop
End sub

Aベストアンサー

Loopを回す範囲がお示しのコードでは分かりかねますが、A1から下方に、結合セルが続いている間、B~E列にコピーするなら、こんな感じ。当方XL2000です。
結合セルはOffsetでループする方が、人手で矢印キーを押すのと同じ動作をしてくれるので、結合セルサイズを考慮しなくて良いので楽です。
Sub test()
Dim myCell As Range

Set myCell = Range("a1")
Do While myCell.MergeCells = True
myCell.Copy myCell.Offset(0, 1).Resize(myCell.MergeArea.Rows.Count, 4)
Set myCell = myCell.Offset(1, 0)
Loop
End Sub

Qexcel 割引率のセルを絶対参照した場合の式は?

下記で、D2の15%のセルを絶対参照にした場合、式はどのようにすればいいでしょうか。
例)
絶対参照にするセル D2 15%(割引率) 
          B4~B7 元値
          C4~C7 結果 
自分では・・・ 
C4=B4-B4*$D$2 で入力してみたのですが、他に式はありますか。

絶対参照にしない場合は、C4=B4*(1-0.15)でやってみました。
いずれも自信はありません。
よろしくお願いします。

Aベストアンサー

一例です。
小数点以下四捨五入、=ROUND(B4*(1-$D$2),0)
小数点以下切り上げ、=ROUNDUP(B4*(1-$D$2),0)
小数点以下切り捨て、=ROUNDDOWN(B4*(1-$D$2),0)

QExcel VBA 空白セル以外のセルを罫線で囲む

Excel VBA 空白セル以外のセルを罫線で囲む

ここの質問箱をよく利用させて頂いている者ですが、また質問させていただきます。

あるシート(例:”Sheet1”)の全セル内のうち、ランダムな文字が全セル内のどこかに記入されています。

また、記入される位置は常に変化します。

つまり、ある時は「A1」に入力されていても、次ははそうでないということです。

この様な場合、文字が入力されているセルのみに罫線を引く処理を行いたいのですが、実現は可能でしょうか?

また、可能であれば、どの様なコードになるのでしょうか。教えてください。

Aベストアンサー

まず、シートの全セルを対象に、データが入力されているかどうか検索して入力されていれば罫線で囲むという処理は実用的ではないと思う。普通にやったら時間がかかりすぎる。ある範囲に限定はできないのですか。
また、入力位置が変化して、その都度罫線を書き直すというなら、イベント処理になる。
入力は手動かどうかで、イベントも変わるが。

次のコードは、手動でデータを入力することにして、changeイベントを使い、セル範囲は100行100列までとした例です。Sheet1などのコードモジュールにおきます。

Private Sub Worksheet_Change(ByVal Target As Range)

Application.ScreenUpdating = False

If Target.Row <= 100 And Target.Column <= 100 Then
Range(Cells(1, 1), Cells(100, 100)).Select
End If

With Selection
.Borders(xlEdgeLeft).LineStyle = xlNone
.Borders(xlEdgeTop).LineStyle = xlNone
.Borders(xlEdgeBottom).LineStyle = xlNone
.Borders(xlEdgeRight).LineStyle = xlNone
.Borders(xlInsideVertical).LineStyle = xlNone
.Borders(xlInsideHorizontal).LineStyle = xlNone
End With

For Each c In Selection
If c.Value <> "" Then
With c.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With c.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With c.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With c.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
End If
Next
Target.Select

Application.ScreenUpdating = True

End Sub

まず、シートの全セルを対象に、データが入力されているかどうか検索して入力されていれば罫線で囲むという処理は実用的ではないと思う。普通にやったら時間がかかりすぎる。ある範囲に限定はできないのですか。
また、入力位置が変化して、その都度罫線を書き直すというなら、イベント処理になる。
入力は手動かどうかで、イベントも変わるが。

次のコードは、手動でデータを入力することにして、changeイベントを使い、セル範囲は100行100列までとした例です。Sheet1などのコードモジュールにおきます。

Priva...続きを読む

Qエクセルで複数のセルの絶対参照を一度に外す方法

宜しくお願いします。

複数のセルに例えば 

”$A3$*D3”

という式が入っていて、一度に

”A3*D3”

にする方法というのはあるのでしょうか?

私はいちいちセルをアクティブにして、F4キーで絶対参照を
外すというのを各セルごとに行っているのですが、
一度に置換か何かで”$A3$”を”A3”にすることは出来ないでしょうか

教えてください。
宜しくお願いします。

Aベストアンサー

解っているんでは、??。
編集⇒置換⇒検索する文字 $
置換する文字 (空白にして) カーソルをここに入れる(あわせるとも言う?) ⇒全て置換

これで、終わりです。

QEXCELで、結合されたセルに連続して他のシートからセルの引用をしたい

初めて「教えてgoo」を使用するため、説明不足かも知れませんがご容赦願います☆

EXCELで仕事用のデータ処理のテンプレートを作成していて不具合が起きて困っています☆

A列のセルは縦に三つずつ結合してあります。(A1~3、A4~6、A7~9・・・とそれぞれ結合してます)

その結合してあるセルに、他のシートから順番になっているセルを引用したいのですが・・・

つまり・・・

A1~3の結合してあるセルに、=契約内訳書!A1、と引用して、

A4~6の結合してあるセルに、=契約内訳書!A2、と引用して、

A7~9の結合してあるセルに、=契約内訳書!A3、と引用して・・・

と続けたいのですが、オートフィルで入力しようとするとセルが結合してあるため、

=契約内訳書!A1、=契約内訳書!A4、=契約内訳書!A7と3つ飛びになってしまいます。

手入力すればいいのですが、この引用を何百行も行わなければいけないため、何か簡単な方法は無いかと思い書き込みしました。


説明が下手で申し訳ありませんが、どなたかお知恵を貸していただけないでしょうか?

お願いします☆

初めて「教えてgoo」を使用するため、説明不足かも知れませんがご容赦願います☆

EXCELで仕事用のデータ処理のテンプレートを作成していて不具合が起きて困っています☆

A列のセルは縦に三つずつ結合してあります。(A1~3、A4~6、A7~9・・・とそれぞれ結合してます)

その結合してあるセルに、他のシートから順番になっているセルを引用したいのですが・・・

つまり・・・

A1~3の結合してあるセルに、=契約内訳書!A1、と引用して、

A4~6の結合してあるセルに、=契約内訳書!A2、と引用して、
...続きを読む

Aベストアンサー

A1セルに次の式を入力して下方にオートフィルドラッグします。
=INDEX(契約内訳書!$A:$A,ROUNDUP(ROW(A1)/3,0))

Q多数のセルに入力してある数式を$を使わずに絶対参照コピーする方法

 初めて質問いたします。
 技術系計算をエクセルで組み立てる際、多数のセルに入力されている相当長い数式等を$を使用することなくコピーする方法を教えてください。
 以前他のサイトで、単にコピーしたいセルを選びCtrl+C Ctrl+V 程度の操作で一括絶対参照コピーができる(コピーした先のセル内の数式にも$がつていなかったように記憶しています)を覚えたのですがその操作方法を忘れてしまいました。 
 多数のセルを対象にしていますのでF4 キーによる変換では相当な時間がかかるので投稿しました。
 宜しくお願いいたします。

Aベストアンサー

こんばんは。

#3 の回答者ですが、#2さんのテクニックが上手く行かないということで、あえてそう書いたまでなのです。

>以前他のサイトで、単にコピーしたいセルを選びCtrl+C Ctrl+V 程度の操作で一括絶対参照コピーができる(コピーした先のセル内の数式にも$がつていなかったように記憶しています)を覚えたのですがその操作方法を忘れてしまいました。 

私は、何年も掲示板を読んでいますから、ほとんどは見ているつもりではいるものの、この種のご質問は難しいですね。私の知らないものもあるのかもしれませんが、現実に困っていない状況から、はっきりしていない記憶の中から、他人の独特のテクニックを導きだすからです。

以下の方法も定番とはいえません。

一旦、文字化させておいて、貼り付け、それを「区切り位置」ボタンで、一気に数式化させるというテクニックかもしれません。

具体的には、数式を置換で、「=」 --> 「'=」 と全体を全て置換します。そして、その範囲をコピーして、目的の場所に貼り付け、「区切り位置」で、「完了」をクリックします。
コピー元も同じく、「区切り位置」で元に戻します。ただし、これは一列に限ります。

他にも同種の特殊なテクニックもありますし、概ね、マクロ化も可能ですが、こういうことは、めったに必要ありません。実は、左側の数式は、右の数式と等価ですから、数式はひとつだけでよいわけです。

 A1方式  R1C1方式
--------------------------
=B1+C1   =RC[1]+RC[2]
=B2+C2   =RC[1]+RC[2]
=B3+C3   =RC[1]+RC[2]

こんばんは。

#3 の回答者ですが、#2さんのテクニックが上手く行かないということで、あえてそう書いたまでなのです。

>以前他のサイトで、単にコピーしたいセルを選びCtrl+C Ctrl+V 程度の操作で一括絶対参照コピーができる(コピーした先のセル内の数式にも$がつていなかったように記憶しています)を覚えたのですがその操作方法を忘れてしまいました。 

私は、何年も掲示板を読んでいますから、ほとんどは見ているつもりではいるものの、この種のご質問は難しいですね。私の知らないものもあるのか...続きを読む

Q2列のセルの値を1列のセルに表示するには?

Excel2003を使用しています。
2列の1列、左側セルに整数が3~4桁入っています。
2列の1列、右側セルに小数点第2位の値が入っています。
この状態、2つのセルを合わせた1つの値をある1つのセルに小数点を付けて表示させたいのですが
どうすればできるのでしょうか?
お解りの方いらっしゃいましたらよろしくお願いします。

<参考画面添付します>

Aベストアンサー

 
1535がA1セル
.40がB1セルとして
C1セルに
=A1+(B1/100)
 


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング