2017-03-14 10 views
0

私は現在vbaスクリプトを作成しています。 セルをクリックしたときに行番号と列番号を受け取る方法はありますか?Vba、行と列番号

私はVBAが何をしたいの例:

a = select.cell.row 
b = select.cell.column 

はこのようなものが存在しますか?

答えて

2

ワークシートを右クリックし、[コードを表示]をクリックしてください このコードを貼り付けてください。

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    Dim a as Long: a = Target.Row 
    Dim b as Integer: b = Target.Column 
End Sub 
+0

はあなたに感謝!これは私が多くを助ける。 –

+0

ようこそ。 編集のためにRyanに感謝します。 –

+0

'Selection'は複数の列または行を取り込めることがあり、この場合、あなたのコードは一番左のセルの行と列のインデックスを格納します – user3598756

1

イワンMoalaから小さな宝石がグラフィカルにこれを提供します。

enter image description here

COE

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
Dim iColor As Integer 
'// From Ivan Moala 
'// http://www.mrexcel.com/hof001.php 
'// Amended routine found on this Web site 
'// Note: Don't use IF you have Conditional 
'// formating that you want to keep! 

'// On error resume in case 
'// user selects a range of cells 
On Error Resume Next 
iColor = Target.Interior.ColorIndex 
'Leave On Error ON for Row offset errors 

If iColor < 0 Then 
    iColor = 48 
Else 
    iColor = iColor + 1 
End If 

'// Need this test incase Font color is the same 
If iColor = Target.Font.ColorIndex Then iColor = iColor + 1 

Cells.FormatConditions.Delete 

'// Horizontal color banding 
With Range("A" & Target.Row, Target.Address) 'Rows(Target.Row) 
    .FormatConditions.Add Type:=2, Formula1:="TRUE" 
    .FormatConditions(1).Interior.ColorIndex = iColor 
End With 

'// Vertical color banding 
With Range(Target.Offset(1 - Target.Row, 0).Address & ":" & Target.Offset(-1, 0).Address) 'Rows(Target.Row) 
    .FormatConditions.Add Type:=2, Formula1:="TRUE" 
    .FormatConditions(1).Interior.ColorIndex = iColor 
End With 

End Sub 
関連する問題