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でプログラムを作っています。 よろしくお願いします。 |
▼Yoshie さん: >かなり久しぶりの投稿です。 >みなさま教えてください。 > >セルA1を参照する場合に、1,1と変換するにはどうしたらいいのでしょうか? >また逆に1,1とやっているときにA1という風に変換する方法も教えてください。 > >Excel2000でプログラムを作っています。 >よろしくお願いします。 こんにちは。 こう言う事でしょうか? MsgBox Range("A1").Row & "," & Range("A1").Column MsgBox Cells(1, 1).Address(0, 0) |
Jaka さん: 早速のレスをいただきありがとうございました。 試してみてうまく取得できました。 でもやりたいことがうまくできません。 教えてください。 具体的に 1.ユーザーがテキストボックス(txtcellno)に開始セルを入力します。(例)A1 2.実行ボタンを押すと、データをA1に書く。Range(txtcellno.text).value = "123" 3.実行ボタンを押すと、データをB1に書く。 4.実行ボタンを押すと、データをA2に書く。 5.実行ボタンを押すと、データをB2に書く。 Rangeを使う場合、 RowやColumnに1を足した場所に文字を書く場合は、どう書けばよろしいのですか? 具体的に3.以降の書き方を教えてください。 |
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」で判定させました。 どっかなー? |
つんさん、こんにちは。 >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さん、つんさん、お返事ありがとうございました。 早速試してみました。 Offsetは便利ですね。 チャレンジしてみます。 まだまだVBAと格闘が続きそうなので、 今後ともよろしくお願いします。 |