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 (1981)
[[20040503233656]]
#score: 11170
@digest: f286ec016c190c9cd0b2d65285490643
@id: 6475
@mdate: 2004-05-07T10:04:03Z
@size: 8852
@type: text/plain
#keywords: 日a2 (36489), 日a1 (33542), 日a3 (10293), hyperlink (5670), 日誌 (5344), ンリ (4836), イパ (3045), ーリ (2649), combobox2 (2593), filename (2548), ク名 (2520), リス (2455), ャン (2304), ダウ (2303), combobox1 (2206), ハイ (2179), listindex (2045), パー (1940), cell (1877), book1 (1838), プダ (1776), ジャ (1770), kamiya (1768), スト (1677), 連続 (1660), ドロ (1379), ウン (1339), integer (1297), 力規 (1289), ブッ (1246), ンプ (1226), 続し (1170)
『ダウンリストでハイパーリンク』(さとちゃん)
お世話様です。ドロップダウンリストにより、シート内の特定の場所にとびたいんです。シート1を1月とし12月まで作り、その中の2月11日に飛ぶ。この2月と11日をダウンリストにしたいんです。どうか宜しくお願いします。 Excel2000 WindowsXP ---- ドロップダウンリストとはデザインモードで作ったコンボボックスでよろしいか? 新しいブックを用意してください。 以下の作業を再確認しながら進めて下さい。 1)1月から12月までのシート(全角で)を作成して下さい。 2)1月のシートにComboBoxを2個作ってデザインモードを終了します。 3)[Alt]+[F11]でVBEを開きます。 4)1月のシートをWクリックして 5)ComboBox1_Change と2を('=========で囲んだ範囲)をコピペして下さい。 6)「挿入」→「標準モジュール」を選択。 7)そこにauto_openをコピペします。 8)[Alt]+[Q]でエクセルに戻ります。 9)[Alt]+[F8]でauto_openを実行して下さい。これは1回だけで結構です。 あとはこのブックを開く都度勝手に実行するようになっております。 このコードはコンボで選択した日付を検索してそのシートのB列の日付行(セルの行 と日付を同じに設定してありますから、都合の良いように変更して下さい)に飛びます コンボをクリックして試して下さい。 (弥太郎) '1月にコピーする '================================= Dim day_s As Integer Dim manth_s As Integer '--------------------------------- Private Sub ComboBox1_Change() Dim i As Integer, f As Integer With ComboBox1 For i = 0 To 11 If .ListIndex = i Then manth_s = i + 1 Exit For End If Next i End With With ComboBox2 .Clear Select Case manth_s Case 1, 3, 5, 7, 8, 10, 12 f = 31 Case 4, 6, 9, 11 f = 30 Case Else If Year(Now()) Mod 4 = 0 Then f = 29 Else f = 28 End If End Select For i = 1 To f .AddItem i & "日" Next i End With End Sub '--------------------------------- Private Sub ComboBox2_Change() Dim i As Integer Dim data As String With ComboBox2 If .ListIndex = -1 Then Exit Sub For i = 0 To 30 If .ListIndex = i Then day_s = i + 1 Exit For End If Next i End With data = StrConv(manth_s, vbWide) & "月" With Worksheets(data) Worksheets(data).Select Worksheets(data).Range("b" & day_s).Select End With End Sub '========================================== '標準モジュールにコピーする '------------------------------------ Sub auto_open() Dim i As Integer Worksheets("1月").Activate With Worksheets("1月").ComboBox1 For i = 1 To 12 .AddItem i & "月" Next i End With End Sub ---- 入力規則のドロップダウンリストで月日を選択して即ジャンプ というと、弥太郎さんご提示のようなVBAプログラムになります。 「選択して即ジャンプ」ではなくて、リストから選択して ハイパーリンクを作成し、そのハイパーリンクをクリックで ジャンプという手順なら、エクセルの通常機能の範疇で納まります。 設定の前提 1月から12月というシートが存在する 上記のシートにはそれぞれA1からAnまで日付が連続して入力されている 〜〜〜〜〜〜〜〜〜〜〜 ジャンプもとのシート(シート名は任意) A1にシート名(月)選択のプルダウンリスト、 B1に日付選択のプルダウンリスト、 C1へハイパーリンクを生成します。 次善に「1月」から「12月」までのシート名リストをこのシートに作成しておきます。 仮に$F$1:$F$12の範囲とします。 A1の設定「データ」「入力規則」で :入力値の種類: 「リスト」 :元の値: 次の数式を入力 =$F$1:$F$12 B1の設定「データ」「入力規則」で :入力値の種類: 「リスト」 :元の値: 次の数式を入力 =INDIRECT($A$1&"!A1:A"&COUNTA(INDIRECT($A$1&"!A:A"))) C1の数式 =HYPERLINK("[Book1.xls]"&$A$1&"!"&ADDRESS(MATCH($B$1,INDIRECT($A$1&"!A:A"),FALSE),1,1,1),A1&B1) C1のBook1.xlsは実際のブック名に変更してください。 設定したブックは一度は保存されている必要があります。 A1は「月(シート名)」のリスト$F$1:$F$12からリスト選択します。 B1はA1のシート名から該当するシートの「日付」 C1はA1、B1の値から該当セルへのハイパーリンクを作成します。 日付が連続して入力されていない時は日付のリストを作成してB1の入力規則の もとの値としてリスト指定する必要があります (KAMIYA) ---- ご回答ありがとうございます。今回ダウンリストにより選んであげるセルは連続していないんです。日誌の用紙がありまして(会社などでいろいろ書式はちがいますが)それを1つのシート内に31枚書いてあるようにしています。1〜12月までのシートは飛ぶ位置は一緒です。でも1列に連続してないんです。出来るだけ軽くつくりたいのでエクセルの機能で行きたいです。10Mにもなりファイル自体もおおきいですが、WinRAR等で圧縮し、メール等で送る事ができれば幸いです。いい所までできているんですけど・・・。むずかしいですねやっぱり。もっとこのページで勉強していきたいです。何卒ご回答宜しくお願いします。 それと、作業内容やいろいろな入力フォームもつくりたいんです。唐突すぎてわからねーよとか、こんなのある等も書いていただければさいわいです。重ねて宜しくお願いいたします。 (さとちゃん) ---- >ダウンリストにより選んであげるセルは連続していないんです。 >でも1列に連続してないんです。 こういうことは「先に言ってよ」(笑) ネタの後出しは回答者の方も二度手間三度手間になってしまいます。 スレッドも長くなってROMの人も疲れます。(そんなことはないか?) ただ、 >1〜12月までのシートは飛ぶ位置は一緒です。 ジャンプする位置が決まっているのであれば、ジャンプするセルの アドレスのリストを作成してやればよいだけのこと。 ハイパーリンク関数でもVBAでも同じことです。 >出来るだけ軽くつくりたいのでエクセルの機能で行きたいです。 VBAも「エクセルの機能」なんですが、VBAだから重くなる ということはないです。関数を多用したブックよりもVBA実行時 だけ計算をするブックのほうが断然軽い場合もありえます。 運用方法に口を挟む立場ではありませんが、重くなる原因は一年 365日分の日誌の入力・表示欄を作ってしまっていることですから・・・。 まあ、そんなことはさておき、HYPERLINK関数での方法の場合の手直し。 下記のようなリストを作成します。とりあえず、 FGH列へ作成しています。H列は各シートへのジャンプ位置を 入力してありますが、テストのため単純にしてあります。 F G H 1月 1日 A1 2月 2日 A2 3月 3日 A3 4月 4日 A4 5月 5日 A5 6月 6日 A6 7月 7日 A7 8月 8日 A8 9月 9日 A9 10月 10日 A10 11月 11日 A11 12月 12日 A12 13日 A13 14日 A14 15日 A15 16日 A16 17日 A17 18日 A18 19日 A19 20日 A20 21日 A21 22日 A22 23日 A23 24日 A24 25日 A25 26日 A26 27日 A27 28日 A28 29日 A29 30日 A30 31日 A31 前掲、A1の入力規則はそのまま。B1の数式を差し替えます。 =INDIRECT("G1:G"&DAY(DATE(YEAR(NOW()),--(SUBSTITUTE(A1,"月",""))+1,0))) C1のHYPERLINK関数も下記に差し替えます。 =HYPERLINK("[Book1.xls]"&$A$1&"!"&VLOOKUP(B1,G1:H31,2,FALSE),A1&B1) 変更は以上。あとは(さとちゃん)さんが数式のブック名やらセルの位置などを そちらのブックの状態に合わせて編集し、ジャンプするセルのアドレスのリストを 完成させるだけです。 (KAMIYA) ---- KAMIYA様ただ今出来ました。うれぴーーー。ありがとうございます。 もう一ついいでしょうか。ご回答お願いいたします。 =HYPERLINK("[Book1.xls]"&$A$1&"!"&VLOOKUP(B1,G1:H31,2,FALSE),A1&B1) の中のBook1.xlsは保存時のファイルを指定していますよね。で、日誌なのですが、 工事現場用で工事が完結しますと次の現場と言うように遊牧民族的に移動しています。 このBook1.xlsの部分を保存したファイル名に自動で変更するようにはできませんでしょうか。 むしがいいはなしでしたでしょうか。お知恵拝借お願いいたします。 でも時間かかったけど、理解できてうれしいです。 さとちゃん ---- Beautiful response yata ---- 幸いなことに、ブック名を取得する関数はこの学校にいっぱい落ちています。(笑) [ ]の部分から取得すればいいので、次のような式になります。 =MID(CELL("filename",A1),FIND("[",CELL("filename",A1),1),FIND("]",CELL("filename",A1),1)-FIND("[",CELL("filename",A1),1)+1) :参考: >[[20030712223610]] 『ブック名をセルに反映』(たけ) >[[20030715161338]] 『ブック名の一部をセルに反映させたい』(こおっさん) この式をそのままHYPERLINK関数へ組み込んで、 =HYPERLINK(MID(CELL("filename",A1),FIND("[",CELL("filename",A1),1),FIND("]",CELL("filename",A1),1)-FIND("[",CELL("filename",A1),1)+1) &$A$1&"!"&VLOOKUP(B1,G1:H31,2,FALSE),A1&B1) と長い式にするか、別セル(たとえばD1)でいったんブック名を取得して =HYPERLINK($D$1&$A$1&"!"&VLOOKUP(B1,G1:H31,2,FALSE),A1&B1) のようにしてみるか、ここらへんは(さとちゃん)さんの選択ですね。 (KAMIYA) ---- KAMIYAさん、早速の御回答ありがとうございます。うれしいです。 今晩かえって試して見ます。また結果を書き込みいれます。 (さとちゃん) ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/200405/20040503233656.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97013 documents and 608132 words.

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