こんばんは。既存のデータファイルなのですが、変更のため、
セルを結合しようとしたところ
ツールバーの「セル結合」ボタンが灰色になってて押せません。
ですが、結合できない1つ1つのセルの書式設定をみると
「セルを結合する」にチェックが入っています。?

どこかで、なにか設定があらかじめしてあるのでしょうか?
前に作った人は、もういなくて聞けません。。
どなたか解る方よろしくお願いいたします。

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

A 回答 (3件)

ではデータをすべてコピーして新たにシートを作成して貼り付けしてみてはいかがでしょうか??

    • good
    • 0
この回答へのお礼

ありがとうございます!
最終的にはそのようにしました。
ありがとうございました!

お礼日時:2005/04/12 19:42

結合のほかにデータの追加等はできるのですか??


保護されていればそのエクセルデータに手を加えようとすれば保護されている事と保護の解除法が出るはずです。

どの程度の操作が不可能なのですか??
ちなみに保護の解除法は
メニューバーの「ツール」→「保護」→「シート保護の解除」で出来ます。

この回答への補足

ありがとうございます!
データの追加等、普通のことは普通にできます。。
おっしゃる「シートの保護」や「ブックの保護」は
灰色になってて、クリックできない状態です。
ファイルが壊れてるのでしょうか…

補足日時:2005/04/07 20:42
    • good
    • 0

シートが保護されているとかしていませんか?

この回答への補足

ありがとうございます!
見てはいたのですが、「シートの保護」も「ブックの保護」も
灰色文字で、クリックできません。
これは、保護されているという事でしょうか?
解除の仕方がわかりますか??

補足日時:2005/04/05 22:48
    • good
    • 0

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

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

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

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

QExcel ワークシート関数で参照セルのアドレスを固定値ではなく動的に記述したい

皆様こんにちは。
Excel ワークシート関数で参照セルのアドレスを固定値ではなく、他のセルの値 (式の計算結果) を使用して動的に記述したいのですが、可能でしょうか。
一例ですが、

=VLOOKUP("山田 花子",Sheet2!A2:C100,3,FALSE)

という式の参照先アドレス範囲開始行「2」を固定値ではなく、他のセルの値を使用して動的に記述したいのです。
また、参照先の終端である、「100」についても固定値ではなく、有効データ領域の終端を動的に取得する方法 (VBA の Worksheet.UsedRange.Rows.Count または Worksheet.UsedRange.Rows.Address に相当) が知りたいと思います。

どちらも、計算式そのものをVBAで動的に出力するのは容易なのですが、出力されたブックを手作業で編集する際の利便性も考慮すると、ワークシート関数だけで解決する方法も知っておいたほうがよいと思っています。

ご存知の方、コメントを頂けると幸いです。

Aベストアンサー

A列の入力済みの最下行が文字列の場合
=MATCH("",A:A,-1)

最下行が数値の場合
=MATCH(MAX(A:A)+1,A:A,1)

で、最終行が取得できます。
取得された数値を、関数でセル範囲の指定に使うためにはINDIRECT関数を用います。
今夜は今から飲み会なのであとはINDIRECT関数を検索してみてください。
成功を祈ります。では。
(*^∇^)ノロ"ロヾ('∇'*) Cheers!!

Q結合セル内の値を、結合解除後に結合されていた全てのセルへコピーする方法

結合セル内の値を、結合解除後に結合されていた全てのセルへコピーする方法

例えば、A1~A5、A6~A10がそれぞれ結合されており、【あ】【い】という文字が
それぞれ入力されているとします。
各結合セルを解除後、各結合セルを構成していたセルにそれぞれの文字をコピーして、
A1~A5には【あ】
A6~A10には【い】という文字が入るようにしたいと思っているのですが、
実践している下記の方法だと、セル数が多いせいか時間がかかってしまいます。

(1)結合セルを全て解除
(2)For Next if文で1行目から順にセルを見て、何も入力されていなければ、
 直上のセルに入っている文字をコピーする。

そこで、下記のような方法で高速化できないか考えたのですが、記述がわかりません。
ご教授頂けますでしょうか。
または、他に高速化できる方法がありましたらお教え頂けますと幸いです。

(1)上から順に結合セルを探す。
(2)結合セルに当たったら、結合セルを構成する先頭セルと末尾セルのアドレスを変数に記憶
(3)該当の結合セルを解除
(4)記憶したら先頭セルの内容を、先頭セル直下~末尾セルまでにコピー
(5)末尾セルの直下から、(1)~(4)を繰り返す。

どうぞ、よろしくお願いいたします。

結合セル内の値を、結合解除後に結合されていた全てのセルへコピーする方法

例えば、A1~A5、A6~A10がそれぞれ結合されており、【あ】【い】という文字が
それぞれ入力されているとします。
各結合セルを解除後、各結合セルを構成していたセルにそれぞれの文字をコピーして、
A1~A5には【あ】
A6~A10には【い】という文字が入るようにしたいと思っているのですが、
実践している下記の方法だと、セル数が多いせいか時間がかかってしまいます。

(1)結合セルを全て解除
(2)For Next if文で1行目から順にセルを...続きを読む

Aベストアンサー

使用範囲が少なければ、時間はそれほどかからないと思います…

Sub 結合解除()
 Dim 範囲 As Range
 Dim 結合範囲 As Range
 Dim 値 As Variant
 For Each 範囲 In ActiveSheet.UsedRange
   If 範囲.MergeCells Then
     Set 結合範囲 = 範囲.MergeArea
     値 = 範囲
     範囲.UnMerge
     結合範囲 = 値
   End If
 Next
End Sub

Qオープンオフィスのカルクで、関数内の特定のセルを固定したい

オープンオフィスのカルクで、Excelでいう「絶対参照」の「$」の意味と同じものを関数の中に設定したい(式をコピーしてもあるセルだけを固定できるようにしたい)

Aベストアンサー

もしかしてキーボード操作についてでしょうか?
でしたらExcelと異なりShift+F4です。

Q結合されていないセルを結合されたセル結にコピペする方法。

結合されていないセルから結合しているセルへコピペしたいのですが何か良い方法はありませんか?
大至急教えていただけたら助かります!!お願いいたします!!

Aベストアンサー

マクロならこんな感じでどうでしょうか。

Sub test01()
Dim a As Range
Dim b As Range

Set a = Sheets("Sheet1").Range("A1")
Set b = Sheets("Sheet2").Range("A1")
Do While b.Value <> ""
a.Value = b.Value
Set a = a.Offset(1, 0)
Set b = b.Offset(1, 0)
Loop
End Sub

Q1つのセルに、関数固定・データの入力規則(リスト)を設定できますか?

お世話になります。
1つのセルに以下のことを設定したいと考えております。

・毎月1日になったら、"未対応"(入力規則:リスト)と表示させる。
・"対応済"(入力規則:リスト)に変更しない限り、"未対応"表示にする。
・1日に"対応済"に変更できる状態にする。

1つのセルに、入力規則のリストと、関数を固定できたら
上記のことができると考えています。
セルにロックをかけるとリストを変更することができないので、
他に手段がないかと模索しております。
アドバイスありましたら、ぜひお願い致します。

Aベストアンサー

>・毎月1日になったら、"未対応"(入力規則:リスト)と表示させる。
>・"対応済"(入力規則:リスト)に変更しない限り、"未対応"表示にする。
>・1日に"対応済"に変更できる状態にする。

1つのセルで、数式とデータの共存はできません。
VBAで対応することになります。

Qセルを結合しないで、一番上セル右上から一番下セル左下への斜線・・・

エクセルで・・・
 A1からA2,A3,A4・・・と下へ見てきて、
  A3が空白ではなかったら、A1セル右上からA2セル左下へ斜線を引く・・・
  A4が空白ではなかったら、A1セル右上からA3セル左下へ斜線を引く・・・
というように設定したいのですが、
このとき、セルを結合したくない場合は、図形を使う以外に方法はありますか?
また、図形を使うとしたら、セルがいくつ空いているかを判定させて、
使う図形を決めておかなくてはならないと思うのですが、
その設定の仕方を教えてください。
できましたら具体的に記述して教えてください。

Aベストアンサー

結合しないで線を引く方法は思いつきませんでした。

>また、図形を使うとしたら、セルがいくつ空いているかを判定させて、
>使う図形を決めておかなくてはならないと思うのですが、・・・
使う図形を決めておくのも面倒(何個定義すればいい?)なので、自動的に線を引くVBAを書いてみました。線を引きたい列の範囲(連続範囲)を選択して実行します。
質問から、どの列を選択するかは任意ですが、選択列数は1としてあります。

標準モジュールに貼り付けます。
Public Sub myLineAdd()
  Dim Retu As Integer '線を引く列
  Dim rg As Range 'セル
  Dim myLine As Shape '線
  Dim rgStart, rgEnd As Range '線を引くために基準となる開始セル、終了セル
  Dim srtX, srtY, endX, endY As Double '線の位置(開始x,y、終了x,y)
  Dim selStart, selEnd As Long '処理を行う開始行、最終行
  Dim rw As Long '行カウンタ

  With Selection
    Retu = Val(.Column) '線を引く列をセットする
    selStart = .Cells(1, 1).Row '対象の最初の行
    selEnd = .Cells(.Rows.Count, 1).Row '対象の最後の行
  End With

  For rw = selStart To selEnd
    If Cells(rw, Retu) = "" And rgEnd Is Nothing Then
      Set rgEnd = Cells(rw, Retu) '空白セルの最初(線を引く最後)
    End If
    If Cells(rw, Retu) <> "" And Not rgEnd Is Nothing Then
      Set rgStart = Cells(rw - 1, Retu) '空白セルの最後(線を引く最初)
      '線を引くための座標
      srtX = rgStart.Left '開始横座標
      srtY = rgStart.Top + rgStart.Height '開始縦座標
      endX = rgEnd.Left + rgEnd.Width '最終横座標
      endY = rgEnd.Top '最終縦座標
      '線を引く
      Set myLine = ActiveSheet.Shapes.AddLine(srtX, srtY, endX, endY)
      Set rgEnd = Nothing '空白セルの最初を初期化
    End If
  Next
  Selection.Cells(1, 1).Select '選択解除
End Sub

結合しないで線を引く方法は思いつきませんでした。

>また、図形を使うとしたら、セルがいくつ空いているかを判定させて、
>使う図形を決めておかなくてはならないと思うのですが、・・・
使う図形を決めておくのも面倒(何個定義すればいい?)なので、自動的に線を引くVBAを書いてみました。線を引きたい列の範囲(連続範囲)を選択して実行します。
質問から、どの列を選択するかは任意ですが、選択列数は1としてあります。

標準モジュールに貼り付けます。
Public Sub myLineAdd()
  Dim Retu...続きを読む

Qエクセルの関数で質問です。上のセルになんらかの文字が入っていた場合、左

エクセルの関数で質問です。上のセルになんらかの文字が入っていた場合、左のセルに入っている文字を返すにはどういう記述をしたらよいでしょうか。

返す文字は固定ではなく、左隣に入っている文字(数字)を返したいです。
この記述を結構大量のセルに入力するので、どのセルにも共通した記述を教えていただけるとなお良いです。

よろしくお願いします。

Aベストアンサー

エクセルの共通の操作ですが,あるB2セルに「上があったら左を返す」
=IF(B1="","",A2)
という式を入れておきます。

このB2セルをコピー,結構大量の「目的のセル」を選んでただ貼り付けると,共通でそのように動作する式に自動で書き換わって投入されます。
それぞれのセルにそれぞれのセル番地の式を,いちいち書き換えて記入していく必要は全くありません。

Q1つのセルをコピーすると、コピー先のセルが自動的に2セル結合された状態になる

1つのセル内容(とても短い単語、後ろのブランクなどもない状態)を隣のセルにコピーする際、「貼り付け」すると、なぜか、クリックしたセルだけでなく、その下のセルと2つのセルが結合されてしまい、ここに「貼り付け」されてしまいます。
貼り付ける前のセルは、「文字の制御」はすべてブランクです。

もし、原因や回避方法をご存じのかたがいらっしゃいましたらご指導下さい。

Aベストアンサー

コピー元のセルが連結してありませんか、
不必要な連結なら解除し、
必要なら入力画面からコピーします。

QVLOOKUP関数を使用して交差する位置から2行下のセルの参照式が分かりません

VLOOKUP関数を使用し検査値(検査値に商品名を指定)に該当するセルとF列とが交差するセル位置から下に2行移動したセルを参照する式が分からないのですが。例えばセルA1に入力されている"商品名A"(固定位置)を検査値として、セルA100にある"商品名A"(位置が上下に可変する)をVLOOKUP関数で検索し更に"商品名A"とF列とが交差するセルF102のセルを検索する式を教えてほしいのですが。下の例で説明しますとセルA1の"商品名A"をセルA100からA200の範囲から検索し、F列と交差するセルから2つ下のセルF102の"不良品"を参照する式をVLOOKUP関数を使用した式を教えてください。セルA100の"商品名A"とセルF102にある"不良品"との相対位置は不変です。具体的には100行の上に1行が追加されると"不良品"の位置は下に1行ずれるというものです。(要は1行追加しても不良品のセル位置は商品名Aから右に5、下に2移動した位置は変わらないということです)。VLOOKUP関数を使用するのは行が追加・削除されてもセルA100にある"商品名A"の位置が行の上下動に対応させるためです。もしVLOOKUP関数以外の関数式がございましたら併せて教えてほしいのですが、宜しくお願いします。


    A   B  C  D   E   F 
1  商品名A
2  商品名B


100商品名A
101
102               不良品

VLOOKUP関数を使用し検査値(検査値に商品名を指定)に該当するセルとF列とが交差するセル位置から下に2行移動したセルを参照する式が分からないのですが。例えばセルA1に入力されている"商品名A"(固定位置)を検査値として、セルA100にある"商品名A"(位置が上下に可変する)をVLOOKUP関数で検索し更に"商品名A"とF列とが交差するセルF102のセルを検索する式を教えてほしいのですが。下の例で説明しますとセルA1の"商品名A"をセルA100からA200の範囲から検索し、F列と交差するセルから2つ下のセルF102の"不良品"を参...続きを読む

Aベストアンサー

VLOOKUP関数ではできないのでINDEXとMATCH関数を組み合わせます
=INDEX($F$102:$F$202,MATCH(A1,$A$100:$A$200,0))
とか
=INDEX($F:$F,101+MATCH(A1,$A$100:$A$200,0))

QセルAの値がTRUEだったらセルBの色を灰色に塗りつぶしたい

関数、マクロ初心者なのですが、
Excel2003 にて、セルAの値がTRUEだったらセルBの色を灰色に塗りつぶすという関数を使いたいです。
どのようにしたらいいでしょうか?

関数では出来ないものでしょうか?
IF関数でやってみているのですが、うまく出来ません。
どうぞよろしくお願いいたします。

Aベストアンサー

A1もしくはA列全体を選択した状態で、「次の値に等しい」のとなりの
ボックスに「OK」と入力するだけです。その後書式ボタンを押して、
好きな色を選んでください。

「セルA=OK」という値を入力するのではなく、条件付き書式を
立ち上げるときに選択されているセル(行・列)に条件が当てはまります。


人気Q&Aランキング

おすすめ情報