計算の量が増えてきたためブックを分けて
マイクロソフトのサポートを読みながらフォントなども統一して
極力書式を増やさないようにしているのですが、
1Sheetしか作っていないのに
書式が多すぎるて追加できません。と出てしまい
他のブックからの文字、数値のコピーが出来ません。
他のブックとフォントなどはそろえています。

参考になるサイトも見つからず困っています。
どうぞよろしくお願い致します。

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

A 回答 (2件)

2007(2010でも同じ?)の場合、制限数は、64000のようですのでこれを超えるケースは、少ないと思いますが???


スタイルが壊れたものがあるのかもしれませんね?
http://www.excel-img.com/system01.html


>参考になるサイトも見つからず困っています。
以下のサイトは、見られたのでしょうか?
http://www.no-dash.com/2009/09/01-2034.html
このサイトでやったやり方の一つの例が
http://blog.tan-w.net/archives/1763

もう一つ下記のソフトがあります。
2007では、使えるようですが、2010では???
http://www.vector.co.jp/soft/win95/business/se41 …

以上はいずれもバックアップを取った状態で実行のこと。

>他のブックからの文字、数値のコピーが出来ません。
このコピー→貼り付けの場合、「形式を選択して貼り付け」→「値」で張り付かないのしょうか?

このトラブルは多いようなので是非、解決された場合は、どんな方法で解決されたのかを記述されるように・・・
他の方の参考になります。

この回答への補足

回答ありがとう御座います。
紹介頂いたサイトは見ましたが、
2010では
ツール→書式→スタイルが見つかりませんでした。

アプリも既に試しましたが対応していない。との事でした。
ファイルサイズは400KBと小さいのですが
どうしたものでしょうか。

形式を選択して貼り付けなら出来ますが、
今までのようにctrl+vですんなり貼り付けたいんです。
解決出来ましたら方法をUPします。

補足日時:2012/02/11 13:29
    • good
    • 6
この回答へのお礼

見つけました!
やはりスタイルの問題でした。
ツールバーのホームにあるセルのスタイル項目です。
クリックすると
上の方に一つしか貼っていないはずのハイパーリンクが無数、
意味不明な標準4525、標準25とかのスタイル。
一個一個消していたのですが凄い量なので
http://shippo.sblo.jp/article/34905445.html
このマクロをなんとか実行して真っさらになり
コピペ出来るようになりました。

ありがとう御座いました。

お礼日時:2012/02/11 14:11

どのような操作手順で、ブックを作り直しておられるのか分りませんが、


下記URLの過去ログはご参考になりませんでしょうか?

「ExcelのFileサイズの急な肥大化」
http://oshiete.goo.ne.jp/qa/6347016.html

「白紙のシートなのに数メガの容量があるのはなぜ」
http://oshiete.goo.ne.jp/qa/5404607.html

なお、下記URLのページのようなソフトもあるようです。

「FILEminimizer Suite 6」
http://www.runexy.co.jp/enterprise/fileminimizer …

「FILEminimizer Office」
http://www.runexy.co.jp/enterprise/fileminimizer …
    • good
    • 2

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

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

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

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

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

Qsheet1、sheet2の値をsheet3に集めたい。

エクセルについて教えてください。

山田君のテストの結果
sheet1に、中間テスト結果A1B1C1D1E1、
sheet2に、期末テスト結果A1B1C1D1E1があり、
sheet3のA1B1C1D1E1、A2B2C2D2E2に
移動させていと考えています。

されに、小島さんのテスト
中間テスト結果が、sheet1のA2B2C2D2E2、
期末テスト結果が、sheet2のA2B2C2D2E2
にあり、それら2つを
sheet3のA3B3C3D3E3、A4B4C4D4E4
に続けて移動させたいです。

実際は、2人だけではなく、
約200人以上を続けてsheet3に集めたいと思っています。
連続的に集めるためには、
どうすればよいか教えてください。
よろしくお願いします。

Aベストアンサー

より簡単な方法はたとえばSheet1のF1セルに1、F2せるに3と入力してからF1とF2セルを選択して下方にオートフィルドラッグします。
これで番号が規則的に振られます。
次にSheet2でも同じようにF列で2,4と入力して下方にオートフィルドラッグします。
その後にSheet1 とSheet2をそれぞれコピーしたうえでSheet3にそれぞれ貼り付けます。
その後にF列を重点に昇順で並べ替えをすればよいでしょう。

Q【Excel】他ブックからOpenされたブックはUserInterfaceOnlyが効かない?

標記のとおりの質問です。

あるブックAからブックBをOpenし、
UserInterfaceOnlyでロックしたものを編集しようとするのですが、
その際に

実行時エラー '1004':
変更しようとしているセルは保護されているため、読み取り専用となっています。

とのエラーが出てしまいます。
これはブックBで単独で実行するときには出ない症状です。
他ブックから開かれたブックはUserInterfaceOnlyが作用していないのでしょうか。
因みに、B.Closeを実行した中でのWorkbook_BeforeClose関数内での動作です。

どなたかご教示ください。よろしくお願いいたします。

Aベストアンサー

再現性?
【Q】
'"C:\TestBook_B.xls"ThisWorkbookModule
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
  On Error GoTo errHndlr
  With ThisWorkbook.Sheets(1)
    .Protect UserInterfaceOnly:=True
    .Range("A1").Value = Time
  End With
errHndlr:
  With Err
    If .Number = 0 Then
      MsgBox "ok"
    Else
      MsgBox .Number & vbTab & .Description
      Debug.Print .Number & vbTab & .Description
    End If
  End With
End Sub
A)上記コード単独で実行=TestBook_B.xlsを手作業で閉じる。エラーは発生せず。

B)下記のコードを他Bookより実行=他マクロからTestBook_B.xlsのWorkbook_BeforeCloseが呼ばれる。エラー発生。
Sub Macro1()
  Workbooks.Open(Filename:="C:\TestBook_B.xls").Close
End Sub
 ▼
【A】#3
(B)のエラー発生原因は#3にてアドバイス済み。
対策も#3にて3点アドバイス済み。
C)TestBook_B.xlsのWorkbook_Openイベントで.Protect UserInterfaceOnly:=True を実行するように変更ではダメなのか。
D)他BookからTestBook_B.xlsを閉じるマクロを、手動操作をエミュレートするようなマクロに変更してはどうか。
E)他BookからTestBook_B.xlsを閉じるマクロで、Protect UserInterfaceOnly:=True を実行するようにしてはどうか。
 ▼
【Q】#3
(C)に対しては
>・手動でシートを解除することがある
>・ブックB単独で使うことがある
>という条件から、このような仕様になっています。
 ▼
【A】#5
それだけの理由ならという条件付で、Private Sub Workbook_Open()コードを提案。
(ついでに(E)の具体例も)
 ▼
【Q】#5
>正規ユーザ:手動解除→保存→終了 のあとに
>非正規ユーザ:ファイルを開く→マクロを実行しない
>とするとプロテクトが外れたままなのがネックとなります。
 ▼
【A】#8
『非正規ユーザ:ファイルを開く→マクロを実行しない』これは、マクロ無効で開くという意味ですね?
不特定多数のユーザーにマクロブックを公開する場合、マクロ無効対策も必要。
さらにUserInterfaceOnly:=TrueでのProtectは避けたほうが良いのでは。
 ▼
 ▼
 ▼
という事でUserInterfaceOnly:=Trueを省くコードを提案。(間違っちゃいましたけどね)
結局、
>ただ、そこまでやるならuserinterfaceonly:=Trueは選択肢としては有り得ないはず。
これは私の勘違いです。撤回します。
通常の運用の時はProtect UserInterfaceOnly:=False状態である。
Workbook_BeforeCloseイベント内のコードが走る時だけUserInterfaceOnly:=Trueにすれば良い。
...ですよね。

他マクロからTestBook_B.xlsのWorkbook_BeforeCloseが呼ばれる時はProtectメソッドが効かないので
>E)他BookからTestBook_B.xlsを閉じるマクロで、Protect UserInterfaceOnly:=True を実行するようにしてはどうか。
のセンで。(Workbook_BeforeSaveイベントでのProtectも必要でしょうけど)
あるいはWendy02さんのSub MacroTest_A()、Open時にUserInterfaceonly:=Trueでも。

>このエラー・メッセージが正確なものかはわかりませんが、ご質問者さんのコードもみないで、回答者が一方的な想像で、空回りしているような気がします。どの時点で、エラーが発生しているのかは、回答者側では確認できていません。
どうも。スルドいご指摘、ありがとうございます。

再現性?
【Q】
'"C:\TestBook_B.xls"ThisWorkbookModule
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
  On Error GoTo errHndlr
  With ThisWorkbook.Sheets(1)
    .Protect UserInterfaceOnly:=True
    .Range("A1").Value = Time
  End With
errHndlr:
  With Err
    If .Number = 0 Then
      MsgBox "ok"
    Else
      MsgBox .Number & vbTab & .Description
      Debug.Print .Number & vbTab & .Descriptio...続きを読む

QExcel マクロ 他ブックのシートの範囲選択した内容を別ブックのシートにコピーする方法

他ブックのシートの範囲を選択しコピーした内容を、別ブックのシート
に貼り付けするマクロを作成しています。
現在の情報であれば、下記のマクロで解決できます。

Sub Test1()
Dim myCellall As Range
Dim myCellsom As Range
Dim myCelluri As Range

  Set myCellall = Sheets("すべて").Range("A1")
Set myCellsom = Sheets("総務").Range("A1")
Set myCelluri = Sheets("売上").Range("A1")

With Workbooks.Open("\")
.Worksheets("すべて").Range("A1:K17").Copy myCellall
.Worksheets("総務").Range("A1:K88").Copy myCellsom
.Worksheets("売上").Range("A1:K81").Copy myCelluri
.Close False
End With
End Sub

ただ、他ブックのシートのデータは変動するため、行と列の変更を行わなければいけません。行と列の増減があっても、自動的に対応できるマクロを書きたいと思います。
どのようなマクロを追加すればよろしいでしょうか。

よろしくお願いいたします。

他ブックのシートの範囲を選択しコピーした内容を、別ブックのシート
に貼り付けするマクロを作成しています。
現在の情報であれば、下記のマクロで解決できます。

Sub Test1()
Dim myCellall As Range
Dim myCellsom As Range
Dim myCelluri As Range

  Set myCellall = Sheets("すべて").Range("A1")
Set myCellsom = Sheets("総務").Range("A1")
Set myCelluri = Sheets("売上").Range("A1")

With Workbooks.Open("\")
.Works...続きを読む

Aベストアンサー

A1から始まる範囲をA1から始まる範囲にコピーするだけなら,

ケース1)
workbooks("元.xls").worksheets("すべて").cells.copy thisworkbook.worksheets("すべて").range("A1")
でも十分です。

ケース2)
application.displayalerts = false
thisworkbook.worksheets("すべて").delete
workbooks("元.xls").worksheets("すべて").copy before:=thisworkbook.worksheets(1)
とか,
あるいは所定のシートをひっくるめにしてコピーしてしまっても良いかもしれません。
workbooks("元.xls").worksheets(array("すべて","総務","売上")).copy before:=thisworkbook.worksheets(1)


ケース3)
セル番地をちゃんと指定しないとどうしてもキモチワルイなら
with workbooks.open("~")
with .worksheets("全て")
.range(.range("A1"), .cells.specialcells(xlcelltypelastcell)).copy mycellall
end with
end with
などのような手もありますね。

A1から始まる範囲をA1から始まる範囲にコピーするだけなら,

ケース1)
workbooks("元.xls").worksheets("すべて").cells.copy thisworkbook.worksheets("すべて").range("A1")
でも十分です。

ケース2)
application.displayalerts = false
thisworkbook.worksheets("すべて").delete
workbooks("元.xls").worksheets("すべて").copy before:=thisworkbook.worksheets(1)
とか,
あるいは所定のシートをひっくるめにしてコピーしてしまっても良いかもしれません。
workbooks("元.xls").worksheets(array("す...続きを読む

Qマクロの質問ですが、複数有るシートの中のSheet1~Sheet54の

マクロの質問ですが、複数有るシートの中のSheet1~Sheet54のセルC14:E14,E12,C16:E46
だけ消したいのですが、どう書けばよろしいですか、シート名Sheetから、始まる物と別に
日本語のシート名の物がありますが 
よろしくお願いします。

Aベストアンサー

方法はいつくもありますが、、、

'-----------------------------------------
Sub Test()
 Dim i As Integer
 For i = 1 To Sheets.Count
   If Sheets(i).Name Like "Sheet*" Then
     Sheets(i).Range("C14:E14,E12,C16:E46").ClearContents
   End If
 Next i
End Sub
'----------------------------------------


また、Sheetを検出する部分は次のように
シート名の左から5桁が、"Sheet”だったらというふうにもかけます

  If Left(Sheets(i).Name, 5) = "Sheet" Then

以上です。
 

Qエクセルで”=Sheet1!A1”など、関数?を出力しているセルを、他

エクセルで”=Sheet1!A1”など、関数?を出力しているセルを、他のセルにコピーしたいのですがどうしたらいいのでしょう?
普通に、そのようなセル達をある範囲で選択してコピーしても、=Sheet1!#REF! となって、エラー?のようになります。。出力されたデータだけをそのままコピーしたいのです。(関数とかはコピー先には持って行きたくない)初心者で、伝わりにくいかもですが、どうぞよろしくお願い致しますm(_ _)m ちなみにOSはXPで、エクセルVerはエクセル2002SP3です。よろしくお願いします。

Aベストアンサー

セルをコピー後、貼り付け先を指定して右クリック。
「形式を選択して貼り付け」をクリックし、
表示されたダイアログで「値」を選んで「OK」します。

これで、コピー元に表示されている内容が貼り付けできます。


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

このカテゴリの人気Q&Aランキング

おすすめ情報