私は実際にはVBAには新しくなっていますが、私はオフィス業務を効率化するためにコーディングを行っています。これはあなたの大部分のアマチュアレベルの質問になると私は理解していますが、私はしばらくの間、Googleに試してみましたが、満足のいく回答は見つかりませんでした。シートを変数からVBAでアクティブにするにはどうしたらいいですか? (特にセル)
私は入力したパラメータに基づいて書き出しを行います。最終的に正しいシートを参照する必要があります - >選択したセルをコピーする - >コピーされたセルを添付ファイルとともにペーストする電子メールを生成する
私はコードの変数として "正しいシート"を参照することはできません。私のためにいくつかの光を当ててください。ありがとうございました。
ここはほとんどのコードですが、残りの部分は無関係で、あまりにも私が推測するように貼り付けるのは面倒です。
Sub GenerateEmail()
Dim olApp As Object
Dim olMailItm As Object
Dim iCounter As Integer
Dim Dest As Variant
Dim SDest As String
Dim StrAtt1 As String
Dim rng As Range
Set rng = Nothing
On Error Resume Next
Set rng = Sheets("test").Range("A1:Q500").SpecialCells(xlCellTypeVisible)
On Error GoTo 0
If rng Is Nothing Then
MsgBox "The selection is not a range or the sheet is protected" & _
vbNewLine & "please correct and try again.", vbOKOnly
Exit Sub
End If
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
Set olApp = CreateObject("Outlook.Application")
Set olMailItm = olApp.CreateItem(0)
On Error Resume Next
With olMailItm
SDest = ""
StrAtt1 = ThisWorkbook.Path & "\PDF\" & Sheets("Email_Generator").Range("B16")
.To = Worksheets("Email_Generator").Range("B14")
.CC = "Myself"
.BCC = ""
.Subject = Worksheets("Email_Generator").Range("B18")
.HTMLBody = RangetoHTML(rng)
.attachments.Add StrAtt1
.Display
End With
Set olMailItm = Nothing
Set olApp = Nothing
End Sub
具体的に、私はこのコードはに参照するように、私はExcelで入力された偶然に基づいて可変されたテスト 『"シートにセルとして、このコード「シート(」試験)』を希望しますそれが変数になることができないだけという正しいワークシート
Set rng = Sheets("test").Range("A1:Q500").SpecialCells(xlCellTypeVisible)
しかし、私は名前のシートなどのシート(「Email1」)などのシートを識別するとき、それは完璧に動作し、。
私はこの記事ではありません願っています私はできるだけ具体的にしようとしていたので、読んでも長すぎます。これを読んで助けようとします。ほんとうにありがとう。
こんにちはトーマスは、実際には、参照されたシートは、各ペアは独自のシート自体を持っています異なる通貨ペア、に基づいて行われます、それはセルにそれを参照することが可能で、お返事ありがとうございましたユーザーが長時間のシート名を入力する必要がないように入力するボックスの代わりに、私は10枚以上あると思われます。これらのシートの名前を1 2 3 4 5などとすることはできません。 その特定のセルは、実際に、ジェネレータワークシートに入力したパラメータから自動的に生成されます。 返信いただきありがとうございます。 – keiar
@keiarこの関数は、ワークシートのインデックスを参照として使用するだけでなく、ワークシート名もリストします。コードモジュールに関数を貼り付け、F5キーを押して、意味を確認します。あるいは、参照できる検証リスト付きのセルを使用することもできます。 –
Thomas:ありがとう、コードを貼り付けようとしましたが、実行しようとするとエラーが発生します。間違った場所に貼り付けたとします。どこに追加するべきか教えてください。 「Sheetname」も薄暗くする必要がありますか?私は非常に明白な何かを逃したと確信しています。 – keiar