VBAでの質問です。

複数のユーザーが使用するものを作っています。データ操作で、ユーザーが指定したワークシートの指定したセルの値を取得するということは可能なのでしょうか?可能でない場合は代替案をお教えいただけるとありがたいです。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2014/08/07 17:46:01
  • 終了:2014/08/14 17:50:04

回答(1件)

id:becrux No.1

becrux回答回数5ベストアンサー獲得回数02014/08/08 18:13:52

InputBoxと組み合わせて、クリックされたシート、セルの場所を取得ってのは
こんな感じでどうでしょうかね。

'*****************************************************************************************'
Sub 読込位置指定処理()

Dim MSG As String
Dim Readrange As Object
Dim StartRows As Long
Dim StartColumn As Long
Dim Readsheet As Worksheet

MSG = "開始位置をセットしてください"

On Error Resume Next

Set Readrange = Application.InputBox(prompt:=MSG, Type:=8)

If Readrange Is Nothing Then

MsgBox "何も選択されていません。処理をキャンセルしました。" & vbCrLf & _
"再度実行ボタンを押してください。 "
Exit Sub

End If

Select Case Err.Number
Case 0
StartRows = Readrange.Row
StartColumn = Readrange.Column
Set Readsheet = ThisWorkbook.Worksheets(Readrange.Worksheet.Name)

MsgBox ("読み込むシート名は" & vbCrLf & "『" & Readsheet.Name & "』" & vbCrLf & _
"開始位置は" & StartRows & "行目" & vbCrLf & StartColumn & "列目です")

Exit Sub

Case 13
MsgBox "セルの位置をクリックしてください"
End Select

End Sub
'*****************************************************************************************'

表とかの値を取るのであれば、表の項目名の先頭セル(表の左上)だけ分かれば
あとは項目名の個数を取得して、表の先頭行が入っている値を全部取得する、とか
出来ると思います。

どうでしょか。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません