過去ログ

                                Page     393
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼Range&Cellsの変換方法について  Yoshie 02/11/26(火) 11:41
   ┣Re:Range&Cellsの変換方法について  Jaka 02/11/26(火) 12:23
   ┃  ┗Rangeの使い方がわかりません。  Yoshie 02/11/26(火) 13:39
   ┃     ┗Re:Rangeの使い方がわかりません。  つん 02/11/26(火) 14:12
   ┃        ┗Re:Rangeの使い方がわかりません。  Jaka 02/11/26(火) 14:51
   ┃           ┗う〜ん。  Jaka 02/11/26(火) 15:00
   ┗Re:Range&Cellsの変換方法について  Yoshie 02/11/26(火) 16:25

 ───────────────────────────────────────
 ■題名 : Range&Cellsの変換方法について
 ■名前 : Yoshie
 ■日付 : 02/11/26(火) 11:41
 -------------------------------------------------------------------------
   かなり久しぶりの投稿です。
みなさま教えてください。

セルA1を参照する場合に、1,1と変換するにはどうしたらいいのでしょうか?
また逆に1,1とやっているときにA1という風に変換する方法も教えてください。

Excel2000でプログラムを作っています。
よろしくお願いします。
 ───────────────────────────────────────  ■題名 : Re:Range&Cellsの変換方法について  ■名前 : Jaka  ■日付 : 02/11/26(火) 12:23  -------------------------------------------------------------------------
   ▼Yoshie さん:
>かなり久しぶりの投稿です。
>みなさま教えてください。
>
>セルA1を参照する場合に、1,1と変換するにはどうしたらいいのでしょうか?
>また逆に1,1とやっているときにA1という風に変換する方法も教えてください。
>
>Excel2000でプログラムを作っています。
>よろしくお願いします。

こんにちは。
こう言う事でしょうか?

MsgBox Range("A1").Row & "," & Range("A1").Column
MsgBox Cells(1, 1).Address(0, 0)
 ───────────────────────────────────────  ■題名 : Rangeの使い方がわかりません。  ■名前 : Yoshie  ■日付 : 02/11/26(火) 13:39  -------------------------------------------------------------------------
   Jaka さん:
早速のレスをいただきありがとうございました。
試してみてうまく取得できました。
でもやりたいことがうまくできません。
教えてください。

具体的に
1.ユーザーがテキストボックス(txtcellno)に開始セルを入力します。(例)A1
2.実行ボタンを押すと、データをA1に書く。Range(txtcellno.text).value = "123"
3.実行ボタンを押すと、データをB1に書く。
4.実行ボタンを押すと、データをA2に書く。
5.実行ボタンを押すと、データをB2に書く。

Rangeを使う場合、
RowやColumnに1を足した場所に文字を書く場合は、どう書けばよろしいのですか?
具体的に3.以降の書き方を教えてください。
 ───────────────────────────────────────  ■題名 : Re:Rangeの使い方がわかりません。  ■名前 : つん <honey@sweetparty.ne.jp>  ■日付 : 02/11/26(火) 14:12  -------------------------------------------------------------------------
   Yoshie さん、こんにちは

Jaka さん、横から失礼しますにゃ。
また、Jakaさんからよい回答があるかと思いますが、
私もちと、やってみたので、書き込んでみます。

>Rangeを使う場合、
>RowやColumnに1を足した場所に文字を書く場合は、どう書けばよろしいのですか?

こういう場合は、Offsetプロパティを使うと便利っす。
こんな感じ

Option Explicit

Private r As Range
Private i As Long

'==============================================
Private Sub UserForm_Initialize()
  i = 0
End Sub

'==============================================
Private Sub CommandButton1_Click()

  Select Case i
    Case 0
      Set r = Worksheets("Sheet1").Range(TextBox1.Value)
      r.Value = "123"
      i = 1
    Case 1
      r.Offset(0, 1).Value = "456"
      i = 2
    Case 2
      r.Offset(1, 0).Value = "789"
      i = 3
    Case 3
      r.Offset(1, 1).Value = "000"
      i = 4
    Case 4
      MsgBox "もうおしまい"
  End Select

End Sub

'==============================================
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
  Set r = Nothing
End Sub

「実行」ボタンは一つなんですよね?
一つのボタンが何回目押されたか?で処理が変わるので、グローバル変数(これはグローバル変数とは言わないかな?)「i」で判定させました。

どっかなー?
 ───────────────────────────────────────  ■題名 : Re:Rangeの使い方がわかりません。  ■名前 : Jaka  ■日付 : 02/11/26(火) 14:51  -------------------------------------------------------------------------
   つんさん、こんにちは。

>Set r = Worksheets("Sheet1").Range(TextBox1.Value)
     ↑
つんさんにこれあんな所に書いちゃって良いのかなぁ!と突っ込もうと思ったけど、良く見たら..、そう言うことだったのね。


Yoshieさんへのお返事(つんさんとかぶるとこありますけど。)

Cells(Range(txtcellno.Text).Row, Range(txtcellno.Text).Column + 1).Value = "基本セルから1個右"
Cells(Range(txtcellno.Text).Row + 1, Range(txtcellno.Text).Column).Value = "基本セルから1個下"
Cells(Range(txtcellno.Text).Row + 1, Range(txtcellno.Text).Column + 1).Value = "基本セルから右斜め1個下"


または、
Range(Range(txtcellno.Text).Address).Offset(, 1).Value = "基本セルから1個右"
Range(Range(txtcellno.Text).Address).Offset(1).Value = "基本セルから1個下"
Range(Range(txtcellno.Text).Address).Offset(1, 1).Value = "基本セルから右斜め1個下"
 ───────────────────────────────────────  ■題名 : う〜ん。  ■名前 : Jaka  ■日付 : 02/11/26(火) 15:00  -------------------------------------------------------------------------
   よくよくみたら、
「実行ボタンを押す」と言うのを全く考えていませんでした。
 ───────────────────────────────────────  ■題名 : Re:Range&Cellsの変換方法について  ■名前 : Yoshie  ■日付 : 02/11/26(火) 16:25  -------------------------------------------------------------------------
   Jakaさん、つんさん、お返事ありがとうございました。

早速試してみました。
Offsetは便利ですね。
チャレンジしてみます。

まだまだVBAと格闘が続きそうなので、
今後ともよろしくお願いします。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 393