返回列表 上一主題 發帖

Range函數的使用問題

Range函數的使用問題

想請教當我同時選取任意兩個儲存格

如何分別得知我所選取的儲存格的row或是column的資訊

例如:當我同時選取A1 & D2

我想要在程式中引用這個range的資訊,可以知道這兩個儲存格分別是Cells(1,1)和Cells(2,4)

請問該如何達成呢?謝謝。

你好:

   請試試是否可適用
Sub aa()
    Dim mRng As Range
    Dim mRng2 As Range
    Dim mRow As Integer
    Dim mCol As Integer
    Dim i%
    If TypeName(Selection) = "Range" Then
        Set mRng = Selection
        MsgBox "你選取的儲存格 :" & mRng.Address
        i = 1
        For Each mRng2 In mRng
            mRow = mRng2.Row
            mCol = mRng2.Column
            MsgBox "第  " & i & " " & "個儲存格位置" & ":" & mRng2.Address & ":" & "列號 :" & ":" & mRow & " " & "欄號 :" & " " & mCol
            i = i + 1
        Next
        
    Else
        MsgBox "沒有選擇儲存格"
    End If
    Set mRng = Nothing
    Set mRng2 = Nothing
End Sub

TOP

MsgBox Selection.Address

TOP

太厲害了!!非常感謝您的指導~

TOP

可以教我一下"Dim i%"的意思呢?為什麼會用%和不用 as....... 呢?
50 字節以內
不支持自定義 Discuz! 代碼

TOP

Dim i% 我也看不懂,是Row 與Column 需宣告為?
看不懂,好奇測試一下
將那個刪掉測試結果相同
不管這對於結果有沒有影響,倒是挺好奇Dim i% 是否另有含意或特殊用法
煩請dechiuan999釋疑,感謝!!

TOP

Dim i%就是Dim i As Integer的簡寫
一些常用的代表符號如下
Integer 的型態宣告字元是百分比符號 %
Long 的型態宣告字元為 &
Double 的型態宣告字元是數字符號 #
Single 的型態宣告字元為 !
String 的型態宣告字元為 $
學海無涯_不恥下問

TOP

感謝超版的解釋,學到
感恩

TOP

回復 7# Hsieh

非常感謝版主
終於知道那些代號的意義了
:victory:
100 字節以內
不支持自定義 Discuz! 代碼

TOP

一直尋找%字元代表意義(help說明中)
原來這樣簡單
謝謝

TOP

        靜思自在 : 我們最大的敵人不是別人.可能是自己。
返回列表 上一主題