以下のコードを使用してスプレッドシートを自動化しています。これが実行されたら、別のマクロを使用して電子メールを自動的に送信しています。ここで達成したいのは、現在のようにユーザー入力をさらに減らすことです。入力ボックスから要求されたときに範囲を選択する必要がありますが、VBA 内で事前に決定された範囲を選択することでこれを自動化したいと考えています。 .
更新する必要があるのは application.inputbox 領域だと思いますが、他の投稿を調べても、手動入力を無効にするものを見つけることができませんでした。
Sub JoinCells()
Set xJoinRange = Application.InputBox(prompt:="Highlight source cells to merge", Type:=8)
xSource = 0
xSource = xJoinRange.Rows.Count
xType = "rows"
If xSource = 1 Then
xSource = xJoinRange.Columns.Count
xType = "columns"
End If
Set xDestination = Application.InputBox(prompt:="Highlight destination cell", Type:=8) If xType = "rows" Then
temp = xJoinRange.Rows(1).Value
For i = 2 To xSource
temp = temp & " " & xJoinRange.Rows(i).Value
Next i
Else
temp = xJoinRange.Columns(1).Value
For i = 2 To xSource
temp = temp & " " & xJoinRange.Columns(i).Value
Next i
End If
xDestination.Value = temp
End Sub