私は、「クリア」、「生成」、「計算」、「パブリッシュPDF」の4つのステップをボタンの代わりにリンクで起動したExcelフォームを使用しています。VBAリンクの生成と変更
私はこれらのリンクを介してコール:ように
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
If Target.Range.Address = "$L$13" Then
'Function
と。 「$ L $ 13」は、最初のリンクが配置されているセルのアドレスです。すべてのリンクは、それ自身のセルアドレスを必要とします。今のコードは、4つの敷地(1ステップにつき1つ)の 'if ... else if'ループです。
「クリア」機能はクリアです(このジョークは私のものでした)。
「Generate」機能は、ユーザーがグループを指定した回数だけセルの範囲(「フォーム」)をコピーして貼り付けます。それらは同じ量の行に分かれています。
「計算」機能は、ユーザーの入力に応じて手計算を実行します。
「パブリッシュPDF」はスプレッドシートを使ってPDFで印刷します。
まあ、グループごとに結果を計算するためにユーザーにプッシュするために、 'Calculate'ボタン(および 'PDFを公開するが、今は関係ないが、今は関係ない)を要求されている。
リンクであるため、リンクをコピーしてフォームの残りの部分に貼り付けることができますが、シートの冒頭にある元の[計算]ボタンにユーザーを送信するだけです。コピーされたリンクは、元のリンク(サブアドレス= L13)のサブアドレスを保持します。
各ステップを呼び出すためにリンクを使用しても、同じ機能に多くの '計算'リンクがある可能性はありますか?
ありがとうございます。
私はコードの主な構造のまま:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
'Comparing this with $L$13:$L$16
If Target.Range.Address = "$L$13" Then
'Clear button function
Exit Sub
ElseIf Target.Range.Address = "$L$14" Then
'Generate button function
'Copying_the_template (k)
'This is an fail attempt to modify the link once it is pasted.
'Cells(Group_index + 5, 10).Select
'Selection.Hyperlinks(1).Address = Sheet3.Cells _
(Group_index + 5,10).Address
'ActiveSheet.Hyperlinks.Add , SubAddress:=Sheet3. _
Cells(Group_index + 5, 10)
ElseIf Target.Range.Address = "$L$15" Then
'Calculate button function
Exit Sub
ElseIf Target.Range.Address = "$L$16" Then
'Publish PDF button function
End If
End Sub
いつもの「if then」の指示よりも速く/良いか教えてください。もしそうなら、私はより頻繁にそれを使い始めるつもりです。 –
私が想像しているような小さなものがあれば、より速く、違いは分かりませんが、読んだりデバッグする方が簡単です。 – Will