Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2738 / 13645 ツリー ←次へ | 前へ→

【66287】ハイパーリンクの挿入 めぐたん 10/8/17(火) 17:25 質問[未読]
【66288】Re:ハイパーリンクの挿入 マクロ記録重要 10/8/17(火) 21:32 発言[未読]
【66289】Re:ハイパーリンクの挿入 めぐたん 10/8/18(水) 10:53 発言[未読]
【66290】Re:ハイパーリンクの挿入 マクロ記録重要 10/8/18(水) 11:48 発言[未読]
【66291】Re:ハイパーリンクの挿入 めぐたん 10/8/18(水) 15:35 お礼[未読]

【66287】ハイパーリンクの挿入
質問  めぐたん  - 10/8/17(火) 17:25 -

引用なし
パスワード
   調べてみたのですが、分からないのでお時間のある方、教えてください。

今、ユーザーフォームを作って、下記まで作成しました。
この後、入力したセルにハイパーリンクを挿入したいです。

手順としては、
1."製品マスタ"というシートをコピーし、末尾へ貼り付けます。
2.入力したセルと同じ名前をそのシートの名前とします。
3.そのシートのC2に入力したセルと同じ名前を貼り付けます。
4.入力したセルにハイパーリンクを挿入し、そのシートへとばす。
となります。

どのような命令をすればいいのか、分からないので教えてください。

CommandButton1_Click()
 
 Dim x As Long
 Select Case ComboBox1.Value
   Case "MB": x = 1
   Case "BK": x = 2
   Case "2B": x = 3
   Case "信金": x = 4
   Case "信組": x = 5
   Case "JA": x = 6
   Case "労金": x = 7
   Case "その他": x = 8
  End Select
 If x <> 0 Then Cells(6, x).End(xlDown).Offset(1).Value = (TextBox1.Value & TextBox2.Value)
 Unload Me

【66288】Re:ハイパーリンクの挿入
発言  マクロ記録重要  - 10/8/17(火) 21:32 -

引用なし
パスワード
   >調べてみたのですが、分からないのでお時間のある方、教えてください。
マクロ記録をとってみてください。
どんなコードになりましたか?

【66289】Re:ハイパーリンクの挿入
発言  めぐたん  - 10/8/18(水) 10:53 -

引用なし
パスワード
   ▼マクロ記録重要 さん:
>>調べてみたのですが、分からないのでお時間のある方、教えてください。
>マクロ記録をとってみてください。
>どんなコードになりましたか?

  Sheets("製品マスタ").Select
  Sheets("製品マスタ").Copy After:=Sheets(2)
  Sheets("ユーザーマスタ").Select
  Range("F25").Select
  ActiveCell.FormulaR1C1 = "JA青山"
  Sheets("製品マスタ (2)").Select
  Sheets("製品マスタ (2)").Name = "JA青山"
  Sheets("ユーザーマスタ").Select
  Range("F25").Select
  ActiveCell.FormulaR1C1 = "JA青山"
  Sheets("JA青山").Select
  Range("C2").Select
  ActiveCell.FormulaR1C1 = "JA青山"
  Sheets("ユーザーマスタ").Select
  ActiveSheet.Hyperlinks.Add Anchor:=Selection,Address:="",
SubAddress:= _"JA青山!D2", TextToDisplay:="JA青山"
  Range("F25").Select
  Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True

このようなマクロになりましたが、
"JA青山"や"F25"の部分が毎回違うという形になるかと思います。
これでわかりますでしょうか?

【66290】Re:ハイパーリンクの挿入
発言  マクロ記録重要  - 10/8/18(水) 11:48 -

引用なし
パスワード
   Sheets("ユーザーマスタ")がアクティブとします。
F25がアクティブセルで、
そこに文字列("JA青山")が入力されているとします。

この前提で下記のマクロを動かしてみてください。

Sub ハイパーリンク設定()
  Dim mySheet As Worksheet
  Dim newSheet As Worksheet
  Dim myAddress As Range
  Dim myName As String
  Set mySheet = ActiveSheet ' Sheets("ユーザーマスタ")がアクティブ
  Set myAddress = ActiveCell
  myName = myAddress.Value  ' "JA青山"などが入っているとします。

  Sheets("製品マスタ").Copy After:=Sheets(2)
  Set newSheet = ActiveSheet
  newSheet.Name = myName
  newSheet.Range("C2").Value = myName

  mySheet.Select
  mySheet.Hyperlinks.Add Anchor:=myAddress, Address:="", _
     SubAddress:=myName & "!D2", TextToDisplay:=myName
 
  myAddress.Hyperlinks(1).Follow NewWindow:=False, _
     AddHistory:=True
End Sub
入力の指定方法は実際にあわせて適当に修正してください。

【66291】Re:ハイパーリンクの挿入
お礼  めぐたん  - 10/8/18(水) 15:35 -

引用なし
パスワード
   ▼マクロ記録重要 さん:

思い通りに作動しました。

ご指導ありがとうございました。

2738 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free