EXCELのA1形式をR1C1形式に変換するには?

解決


HogeHoge  2007-02-22 03:56:29  No: 98085

いつもお世話になっております。
VB6です。

    Dim xlBook          As Excel.Workbook
    Dim xlSheet         As Excel.Worksheet

    Do Until ほげほげ
        xlSheet.Cells(1, lCol).Value = "あああ"
        xlSheet.Cells(2, lCol).Value = "いいい"
        xlSheet.Cells(3, lCol).Value = "ううう"
        lCol = lCol + 1
    Loop

こんな感じのプログラムでコツコツとEXCELのセルに値をセットしています。
仕様上、セルの位置はA1形式でしか得られず、R1C1形式に変更をかけてくれ
るような方法がないか探しているのですが、見つけられずにいます。

ズバリ質問なのですが、このような虫のいい話を満たしてくれるような
方法などご存知でしたらご教示頂ければ幸いです。


大吉末吉  2007-02-22 04:42:43  No: 98086

> セルの位置はA1形式でしか得られず、R1C1形式に変更をかけてくれるような方法
あったとして、どう利用するつもりなんでしょうか??

ちなみに、

> xlSheet.Range("A1").Column
> xlSheet.Range("A1").Row

で、"A1"が何列目・何行目かは分かりますが・・・そういうことではない???


VBレスキュー(花ちゃん)  URL  2007-02-22 07:06:36  No: 98087

こう言う事ではだめですか?

Private Sub Command1_Click()
   Debug.Print toA1Cell(1, 2)  '結果 B1
   Debug.Print toNumCell("B1") '結果  2
End Sub

Private Function toNumCell(ByVal Col As String) As Long
   toNumCell = xlSheet.Range(Col).Column
End Function

Private Function toA1Cell(ByVal r As Long, ByVal c As Long) As String
   toA1Cell = xlSheet.Cells(r, c).Address(False, False)
End Function


HogeHoge  2007-02-22 18:06:05  No: 98088

大吉末吉さん、VBレスキューさん、レスありがとうございます。

全然OKです。ありがとうございます。

.Rangeの仕様がよくわからなかった故の質問でした。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加