• 締切済み

excel2007バグ

2007で97-2003互換ブックWB1のシートsheet1のある範囲に名前を付けてsheet1をコピーし別ブックWB2を作成する。WB2に作成されたsheet1にデータを入れ名前を削除する。再びWB1に戻りsheet1をコピーしてWB2に貼りつけると名前が消えている。マクロでやっていますが、手動でも同じことがおこります。 以上のことを昨年答えてネットに「バグですよね」と質問したら、2007の仕様変更ですと返事が来ました。 まあ、そんなものかと思い名前の削除をやめて運用していたところ、最近マクロに変更がかかり、テストで動作させたところ名前が消えなくなっているではないか。 早速excelのバージョンを確認したらSP2・・・・・・・・ なんだかね、と思いましたやっぱりバグじゃなくて再度仕様変更なんですかね? もうわかったからいいて言えばいいですけど、SP1じゃまだでますからねーー

みんなの回答

回答No.1

私も仕様変更(??)をみつけました!。(Excel2003ですが) 複数のセルに文字(たとえばabcd)を入れます。 その中でいくつかのセルはabは黒、cdだけ赤 のように2色にします。 4つくらいの複数のセルを選択して同時にBボタンで太字にすると、 選択範囲の左上のセルが、2色文字のセルにあたったときはいいのですが、 1色のセルにあたった場合は選択された他ののセルは1色に変わってしまいます。 まあ、困ってはいませんが。。。

関連するQ&A

  • EXCEL2000のバグ?

    使用しているアプリはEXCEL2000です。 ローカルディスクにない参照先のリンクが 削除出来なくて困っていたところ、 このOKWebにたどり着きました。 QNo.374181 この方の様に最終的に名前参照を削除して 最終1個のリンクが削除できないので色々 試してみました。 新規のBook1.xlsを作成しておき、参照元のBookの リンクをBook1に変更し、このBook1のシートを全て 参照元のBookに移動するとリンクの設定が消えました。 これって2000のバグ?ですか。

  • 新しく開いたブックをアクティブにするマクロ

    マクロ 新しく作ったブックをアクティブにする マクロ初心者です。 マクロを使って同階層にあるファイルのアクティブのシートを ひとつのブックにコピーして保存するマクロを作りたいと思ってます。 他の質問を参照して下記のコードを途中まで作成しました。 参照した質問では、 マクロの入っているブックにシートをコピーするようでしたが、 そうすると保存した時にマクロも保存されてしまうので 私なりに調べて、新しいブックにシートコピーするようにしましたが、 この記述の後、新しいブックをアクティブにする記述がわからず、 保存できなくなってしまいました。 ここまで終わるとマクロの入っているブックがアクティブになって終わります。 このあと新しく開いたブックをアクティブにして、 ブックのsheet1~3を削除して、名前をつけて保存したいのですが 開いたブックをアクティブにするマクロをご伝授ください。 あたらしくブックをつくるとbook1~・・・と名前が変わってしまうので 変数で名づけたいのですが、やり方が良くわかりませんのでよろしくお願いします。 何卒よろしくお願いします。 Sub consolid_test() Dim shCnt As Integer Dim Wb As Workbook Dim i As Integer Dim sh As Worksheet Dim nSh As Worksheet Dim fName As String Dim ka As String Application.ScreenUpdating = False '画面更新を一時停止 Application.DisplayAlerts = False Set mb = Workbooks.Add '新しいコピー先ブックをmbとする。 myfdr = ThisWorkbook.Path fName = Dir(myfdr & "\*.xls") 'フォルダ内のExcelブックを検索 Do Until fName = Empty '全て検索 If fName <> mb.Name Then 'ブック名がこのブックの名前でなければ Set Wb = Workbooks.Open(myfdr & "\" & fName) 'そのブックを開きwbとする。 Wb.ActiveSheet.Copy After:=mb.Sheets(mb.Sheets.Count) 'コピーしてコピー先ブックの末尾に置く ActiveSheet.Name = Range("B16") 'シート名の変更 ActiveSheet.Unprotect 'シート全体をコピーして値にする Cells.Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Wb.Close (False) '保存の有無を聞かずに保存しないで閉じる N = N + 1 'ブック数をカウント End If fName = Dir 'フォルダ内の次のExcelブックを検索 Loop '繰り返す ・ ・ ・ ・

  • マクロを作成するマクロを作成するには(Excel)

    すでにあるシートを見やすいように加工するマクロ(マクロ1とします)(並び替えたり、項目名の変更など)を作成し、それをマクロブックにして汎用運用しています。それで出来上がったシートに特定のセルをダブルクリックすれば、そのセルに今日の日付がセットされるマクロ(マクロ2とします)をその都度手書きで作成して実行しているのですが、そもそも前記のマクロ1の中にマクロ2を作成するマクロを記述したいのです。またマクロ2は特定シートにのみ有効となるように当該シートにはりつけています。作成方法をどなたかご教授よろしくお願いします。

  • VBAで別のExcelブックのボタンのマクロ登録

    Excelブック1とExcelブック2があります。 Excelブック1はVBAで 1)Excelブック2を開いて 2)Excelブック1のワークシート(Sheet1)と  モジュールシート(Module1)を  Excelブック2にコピーします。 3)ワークシート(Sheet1)にはコントロール(ボタン)が貼り付けてあって  このボタンをクリックするとモジュールシート(Module1)の中の  Excute_Button()というプロシージャ(マクロ)を呼び出すため  Excelブック1のVBAで  wb.Worksheets("Sheet1").Shapes.Range(Array("Button 1")).Select  Selection.OnAction = "Excute_Button"  と記述してボタンのマクロの登録をします。   (wbはExcelブック2を指しています) 4)Excelブック2を保存して閉じる。 という処理をしています。 この後、Excelブック1を閉じて、 Excelブック2を開いてワークシート(Sheet1)のボタンをクリックすると Excelブック1が開いてしまいます。 Excelブック2のボタンのマクロの登録のマクロ名を見てみると Excelブック1のファイル名!Excute_Button となっています。 Excelブック1のVBAで、ここを単にExcute_Buttonだけにするには どのようにすればよいでしょうか。

  • Excel 2007 マクロ 別ブックのシートをコピーする方法

    Excel 2007 マクロ 別ブックのシートをコピーする方法 別ブックのシートをコピーして アクティブなブックのシートにコピーしたいと思います。 下記マクロを作成しました。 貼り付ける際に、クリップボードに保存するかどうか 聞かれるメッセージが表示されてうまくいきません。 またもっとシンプルな書き方があればアドバイスお願いします。 Sub 取り込み() Dim wb As Workbook Set wb = Workbooks.Open("\") Sheets("Sheet1").Select Cells.Select Selection.Copy ThisWorkbook.Activate ThisWorkbook.Sheets("特定").Select ActiveSheet.Cells(1, 1).Select ActiveSheet.Paste wb.Close End Sub

  • 【Excel2010】『名前の定義』の削除について

    ・数式入り ・シートの保護あり ・マクロ入り   マクロ1:シートAに、同ブック内の他シート(B~複数)から任意の値を引用   マクロ2:任意値を削除した際の値クリア   マクロ3:シートB~の任意のセル値を、シート名に反映   マクロ4:シートB~、シート保護の解除⇔保護 (ボタン配置にて)   マクロ5:入力値の一括クリア (ボタン配置にて) 上記のブック内において、[sheet1]を選択>コピー では問題ないのですが、 [sheet1][sheet1(2)]… と複数枚のシートを選択>コピー した際に ---------------------------------------------------------------------- 『移動またはコピーしようとしている数式またはシートには、移動またはコピー先のワークシートに既にある名前'●●'が含まれています。この名前を使用しますか? ・コピーまたは移動先のシートに定義されている名前を使用する場合は、[はい]をクリックします。 ・数式またはワークシートで参照する範囲の名前を変更する場合は、[いいえ]をクリックし、[名前の重複]ダイアログ ボックスに新しい名前を入力します。』 ---------------------------------------------------------------------- というポップアップが出ます。 [はい]で回避の後、 【名前の管理】で確認したところ、添付のようになっており選択不可の状態ですが、 その下にある【数式で使用】の『▼』をクリックすると、該当の名前が表示されます。 (他の対象方法に上がっていた、シート左上の『名前ボックス』にも名前は表示されていません) 下記も参考に試しましたが、解決にいたりません。 https://okwave.jp/qa/q6750092.html http://trash-area.com/archives/677 このポップアップが出ないようにするには、どのようにすればよろしいでしょうか。 ※お恥ずかしい話ですがマクロは超・初心者で、ご教示いただいたコードを一部改訂しながら使うレベルです。 質問内容に不足がありましたら、そちらもご指摘いただきたく思います。 よろしくお願いいたします。

  • excel2007 新規ブック作成時のvba処理

    excel2007にてVBA処理を行っています。 vbaにて 新規ワークブックを作成 最初に開いているワークブックのシートを、新規ワークブックへコピー この作業を行っているのですが、実行時に --- 移動先またはコピー先のブックの行列数が元のブックの行列数よりも少ないため、シートを移動先またはコピー先のブックに挿入できません。データを別のブックに移動またはコピーするには、データを選択して、[コピー] コマンドと [貼り付け] コマンドを使用して移動先またはコピー先のブックのシートに挿入してください。 --- このエラーが表示されます。 保存拡張子も「.xls」から「.xlsx」へ変更するも、互換モードの表示が外れません。 さらに原因を探ると、現在使っているPCのエクセルにて エクセルオプション→保存→ファイルの保存形式 この設定が「excel ブック」ではなく、「excel 97-2003ブック」のため、 新規ワークブック作成時に互換モードでファイルが作成されてしまうことで、2003と2007の行列数の違いからエラーになるようです。 確認のため、ファイル保存形式を2007仕様にすると、問題なく実行されました。 新旧のPCが混在するため、できたらファイル保存形式を97-2003モードで保持したまま、vbaでの新規ワークブックの作成は互換モードを外した状態で行いたいのですが、背景の色など、2007での特色があるため、2003形式には戻したくないのが心情です。 解決する方法はありますでしょうか?よろしくお願いします。

  • Excel他のブックから情報をコピーする方法

    いつも大変参考にさせていただいております。 Excelで他のブックの値を、今使っているブックにコピーする方法を探しております。 値のみを引く方法として、WEBより以下の方法がわかりました。 Sub TEST1() Workbooks.Open Filename:=ThisWorkbook.Path & "\Book2.xlsx" Dim Wb1, Wb2 Set Wb1 = ThisWorkbook Set Wb2 = Workbooks("Book2.xlsx") Wb2.Worksheets("Sheet1").Range("D7:D9").Copy Wb1.Worksheets("Sheet1").Range("B1") End Sub これを変更して作っていきたいとおもうのですが、最終的にVBAを起動させると コピー元となるExcelをユーザーが自分で選択するようにしたいです。(Excelの画像の挿入で、デバイスから選択 とするようなイメージです) その場合、どのようにしたら成せるでしょうか。 選択するブックは必ず複数シートあり、そのすべてをコピーしたいと思っています。 どなたか分かるかた、ご助力いただけますと助かります。

  • Excel マクロで複数ブックのデータを一つのブックにまとめる方法

    マクロ初心者です。 1つのフォルダの中に複数のbook(sheetも複数)があります。 これを新しい1つのbookにまとめたいです。 sheetは「bookを開いた時に表示されるsheetだけ」を新しいbookにまとめたいです。 どなたかの回答に下記マクロがありました。 Sub consolid() Application.ScreenUpdating = False '画面更新を一時停止 Set mb = ThisWorkbook 'このコピー先ブックをmbとする。 myfdr = ThisWorkbook.Path fname = Dir(myfdr & "\*.xls") 'フォルダ内のExcelブックを検索 Do Until fname = Empty '全て検索 If fname <> mb.Name Then 'ブック名がこのブックの名前でなければ Set wb = Workbooks.Open(myfdr & "\" & fname) 'そのブックを開きwbとする。 wb.Worksheets.Copy After:=mb.Sheets(mb.Sheets.Count) 'コピーしてコピー先ブックの末尾に置く wb.Close '開いたブックを閉じる n = n + 1 'ブック数をカウント End If fname = Dir 'フォルダ内の次のExcelブックを検索 Loop '繰り返す Application.ScreenUpdating = True '画面更新一時停止を解除 MsgBox n & "件のブックをコピーしましました。" End Sub 非常によかったのですが、これですと (1)全てのsheetがコピーされてしまいます。 (2)また、保存しますか?とbookごとに聞いてきます。 上記のマクロのどこを変更すれば、(1)(2)を解決できますでしょうか? (エクセルは2002です) 以上、よろしくお願いします。

  • excel新ブック作成しシートをコピーし名前つけ

    マクロ初心者です。 Excel2003を使っています。 新ブックを作って、指定分のコピーシートを作製し、更にブックとシートに名前をつけて、もっと言えば各シートのセルA2の場所にシート名と同じ日付が入る 夢のようなワンクリックのマクロが出来ないものでしょうか? よろしくお願いいたします。

専門家に質問してみよう