advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 295 for cell filename (0.001 sec.)
cell (1170), filename (1984)
[[20110924170225]]
#score: 11157
@digest: 1ff78ad0857161a52caf0278678cbce1
@id: 56054
@mdate: 2011-09-26T04:16:59Z
@size: 7017
@type: text/plain
#keywords: 注一 (37260), カカ (24501), 先重 (14761), 獲得 (8129), 受注 (7358), 覧表 (6693), 表") (5374), xlcenter (3882), 一覧 (3558), カ) (3361), 表" (2653), ・表 (2597), ロシ (2050), シー (1882), 努力 (1664), filename (1589), macro (1532), sheets (1361), ジャ (1327), mook (1306), イミ (1277), ート (1266), (カ (1220), ミン (1204), 詳細 (1200), 相談 (1159), select (977), worksheets (932), font (931), ト名 (868), プロ (846), 準モ (764)
『シートの名前をそのシートの特定のセルに自動入力するマクロを全シートに一括で設定するマクロ』(カカ)
シートの名前をそのシートの特定のセルに自動入力するマクロは、類似の質問がありましたが、 この処理を一括で全シートに処理させるにはどうしたら良いでしょうか excel2007 windows vista ---- 全部のシートに同じことをしたい場合はシートではなく ThisWorkbook に記述 した方が良いと思います。 具体的な内容はコードが見えないので、回答できませんが基本的にはシートで 書いたものに、シートオブジェクトをくっつければ、できると思います。 (Mook) ---- mookさん ありがとうございます。 済みませんが、excel初心者につき、 「シートオブジェクトをくっつける」の意味が分かりません。 教えていただけるとありがたいです。 お手数ですが、宜しくお願いします。 (カカ) ---- ではまず現状のコードを提示ください。 (Mook) ---- すみません 会社のパソコンで作業していたため、詳細は、月曜日にしか出ませんが、 マクロを作成したときは、 特定のシートを選択、特定のセルを選択、その後、 =MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,31)を セル内にコピペしました。 その後、作業グループをマクロで作ったりしましたが、(CTL+シート) 結局上手く行きませんでした。 (カカ) ---- では、詳細はコードがわかったときに又ということで、とりあえずシートを 選んだときにA1 にシート名を表示する例です。 下記をThisWorkbook の下に記載ください。 Private Sub Workbook_SheetActivate(ByVal Sh As Object) Sh.Range("A1").Name = Sh.Name End Sub どのタイミングで表示したいのか、どのシートに表示したいのか、情報がない のでいつでも表示するようにしています。 シートイベントが設定してある場合は、前後を Application.EnableEvents False Sh.Range("A1").Name = Sh.Name Application.EnableEvents True のように変更してください。 (Mook) ---- mookさん すみません、上記のようにThisWorkbookに記載する場合は、標準モジュールにプロシージャを書いた場合のように マクロとして分けて命令できないのでしょうか。 (新規ブックで試してみましたが、マクロボタンに表示されません) タイミングとしては、いくつかのマクロを経て、上記作業を行いたいのです。 作業記録が会社にあるため、月曜日にならないと現状コードについてご相談できません。 申し訳ありません。 (カカ) ---- やはりやりたいことを詳細に説明して頂いた方が良いようですね。 ・表示したいシートは全部なのか一部なのか。 ・表示したいタイミングはどの時点なのか。 ・表示を実施する方法はどのようなものを想定しているのか。 全部のシートにボタンを置いて、押したシートの名前を表示したいということ でしょうか。 場合によっては設計を考え直した方が良いかもしれません。 (Mook) ---- mookさん 分かりました。 明日、詳細のvba文章をコメントに載せて相談させていただきます。 お時間あるときにチェックしていただけたらありがたいです。 宜しくお願いします。 (カカ) ---- mookさん 下記、全て標準モジュールに入れて 最後のプロシージャ以外は、上手くいっていました。 最後のプロシージャが現在相談させていただいているものです。 やりたいことを、要約すると、「シートの名前をそのシートのセルG1に返すことを sheet1(”一覧表”)以外の全てのシートについて行うことです。 また、シート2以降の名前は、CSVファイルから抜き出すため、 いつも一定とは限りません。(シート数は、一応80枚で設定) 説明が稚拙で申し訳ありませんが、 最後のプロシージャを上記が出来るように 修正したく、アドバイスを宜しくお願いします。 以下、標準モジュール内のプロシージャです。 マクロの実行は、下記プロシージャ順に行っていきます。 Sub シート名変更() Sheets(1).Name = "受注一覧表" End Sub Sub 一覧表の作成() ' 一覧表の作成 Macro ' Sheets("受注一覧表").Select Sheets("受注一覧表").Copy Before:=Sheets(1) Sheets("受注一覧表 (2)").Select Sheets("受注一覧表 (2)").Name = "一覧表" Sheets("受注一覧表").Select End Sub Sub 得意先重複の削除() ' ' 得意先重複の削除 Macro ' Columns("G:G").Select ActiveSheet.Range("$G$1:$G$7456").RemoveDuplicates Columns:=1, Header:=xlNo End Sub Sub シートの追加() Dim I As Long For I = 1 To 80 Worksheets.Add After:=Sheets(Sheets.Count) ActiveSheet.Name = Worksheets("受注一覧表").Cells(1 + I, 7).Value Next I End Sub Sub 一覧表字幅合わせ() ' 一覧表字幅合わせ Macro ' Sheets("一覧表").Select Range("A1:AX7456").Select Range("E11").Activate With Selection .HorizontalAlignment = xlGeneral .VerticalAlignment = xlCenter .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = True .ReadingOrder = xlContext .MergeCells = False End With Range("A1:BA10000").Select With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = True .ReadingOrder = xlContext .MergeCells = False End With ActiveWindow.SmallScroll Down:=-15 Range("A1").Select End Sub Sub 受注一覧表非表示() ''受注一覧表非表示Macro Worksheets("受注一覧表").Visible = xlSheetVeryHidden End Sub Sub シートへ貼り付け() Dim I As Integer For I = 2 To 80 Sheets(1).Range("A1:BA10000").Copy Sheets(I).Range("A1") Next End Sub Sub シート名の獲得() '' シート名の獲得 Macro Sheets("一覧表").Select ActiveCell.FormulaR1C1 = "=RIGHT(CELL(""filename"",RC[-6]),LEN(CELL(""filename"",RC[-6]))-FIND(""]"",CELL(""filename"",RC[-6])))" Range("G1").Select Selection.Font.Bold = True Selection.Font.Italic = True For I = 1 To 80 Worksheets(I).Select Next End Sub ---- いろいろ改善した方がよさそうなところはありますが、 最後の関数だけということであれば、 Sub シート名の獲得() Dim i As Long For i = 1 To Worksheets.Count With Worksheets(i).Range("G1") .Value = Worksheets(i).Name .Font.Bold = True .Font.Italic = True End With Next End Sub ということでしょうか。 シートの追加 のところで作成と一緒にやってしまえば、この処理自体いらない 気もしますが。 また80というのが固定で無く可変であれば、受注一覧表のセル数に合わせて処理を するなどしたほうがよさそうに見ますが、またそれは別のお話ですね。 (Mook) ---- mookさん ありがとうございます。 いただいたコードで出来ました。 しかし、Sheet1に対しても、上記ようにG1のところに シート名が返されてしまいました。 Sheet2からと設定していただいていると思いますが、 なぜでしょうか、 (カカ) ---- i が 1 から始まっているからです。 マクロは慣れていないということですが、作成できないにしても中でどのようなこと をしているか把握できないのはやはり問題だと思います。 マクロを利用したいというのであれば、中身を理解する努力は必要かと思います。 (Mook) ---- mookさん 本当にありがとうございました。 少しづつでも基礎から勉強するように頑張ります。 (カカ) ---- 苦言を呈されての反応は大きく二つあるようにと思います。 一つはそこであきらめてやめてしまうケース、もう一方は素直に努力しようと考えるケース。 後者であるようなので、よかったと思います。 がんばってください。 (Mook) ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/201109/20110924170225.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97054 documents and 608269 words.

訪問者:カウンタValid HTML 4.01 Transitional