Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4388 / 13646 ツリー ←次へ | 前へ→

【56879】セルの追加の方法 kazu 08/7/9(水) 14:50 質問[未読]
【56882】Re:セルの追加の方法 neptune 08/7/9(水) 15:34 回答[未読]
【56911】Re:セルの追加の方法 kazu 08/7/10(木) 14:32 質問[未読]
【56915】Re:セルの追加の方法 neptune 08/7/10(木) 15:29 回答[未読]
【56969】Re:セルの追加の方法 kazu 08/7/15(火) 13:20 お礼[未読]

【56879】セルの追加の方法
質問  kazu  - 08/7/9(水) 14:50 -

引用なし
パスワード
   現在、トグルボタンを用いて
セルの時間測定を行っています。

クリックするごとに
時間を測定する形にしていて、

スタート→ストップ・・10秒

再スタート→ストップ・・15秒

というふうに、測定したものを

セルの表に順次書き込んでいくというふうに
しています


文法は以下のものです

Private Sub ToggleButton1_Click()

  If ToggleButton1.Value = True Then
    WindowsMediaPlayer1.Controls.Play

    ToggleButton1.Caption = "一時停止"
  

    startt = Timer
  Else
    WindowsMediaPlayer1.Controls.pause

    ToggleButton1.Caption = "再生"
  
          i = 5
      Do
       i = i + 1
      Loop Until Cells(i, 3) = ""
      Cells(i, 3) = WindowsMediaPlayer1.Controls.currentPosition
  End If
    
End sub


そこで、分からない部分なのですが、

時間測定を示した表に
セルを新しく導入させたいのですが、何かよい方法はないでしょうか・・

1.10秒
2.15秒


1.10秒
2.セルを導入
3.セルを導入
4.15秒

導入させるたいセルを選んでクリックをして
クリックをした分だけまたセルが導入されるというふうにしたいです

アドバイス宜しくおねがいします☆

【56882】Re:セルの追加の方法
回答  neptune  - 08/7/9(水) 15:34 -

引用なし
パスワード
   ▼kazu さん:
>導入させるたいセルを選んでクリックをして
>クリックをした分だけまたセルが導入されるというふうにしたいです
選択はApplication オブジェクトのinputboxメソッドを使いましょう。

>セルを新しく導入させたいのですが、何かよい方法はないでしょうか・・
導入がセルの挿入、追加と言う意味なら、
RangeオブジェクトのInsert メソッドが使えると思いますが、
私なら、追加の作業をマクロの記録取って改造するかもしれません。

【56911】Re:セルの追加の方法
質問  kazu  - 08/7/10(木) 14:32 -

引用なし
パスワード
   ▼neptune さん:
>▼kazu さん:
>>導入させるたいセルを選んでクリックをして
>>クリックをした分だけまたセルが導入されるというふうにしたいです
>選択はApplication オブジェクトのinputboxメソッドを使いましょう。

inputboxを使うのは分かりましたが
これでどのようにセルを導入していくのか分かりません・・

アドバイスよろしくお願いします。

【56915】Re:セルの追加の方法
回答  neptune  - 08/7/10(木) 15:29 -

引用なし
パスワード
   ▼kazu さん:
こんにちは

>これでどのようにセルを導入していくのか分かりません・・
導入という用語はExcelにはないと思います。恐らく挿入の間違いでしょうが
第三者の私はほかの可能性も考えて混乱しますので、用語は出来るだけ正確
にお願いします。

'選択したセルに、セルを追加する
Sub Macro1()
  Selection.Insert Shift:=xlDown
End Sub
マクロの記録で以上が作成できます。

で、こんな具合になります。
初心者の方には難しかったかもしれません。
Sub t()
Dim rngbuf As Range
  On Error Resume Next
  '選択
  Set rngbuf = Application.InputBox("セルを選択してください。", "範囲選択", Type:=8)
  If Err.Number = 0 Then
    If Not IsEmpty(rngbuf) Then
      'セルの追加
      rngbuf.Insert Shift:=xlDown
    End If
  ElseIf Err.Number = 424 Then
    MsgBox "キャンセル"
  Else
    MsgBox "予期せぬエラー" & vbCrLf & Err.Number & vbCrLf & Err.Description
  End If
  On Error GoTo 0
  Set rngbuf = Nothing
End Sub

研究してみて下さい。
・・・・と言う私も初めて書いたかも????

>inputboxメソッドを使いましょう。
と紹介したので、上記のように書きましたので、思いの他、ややこしく
なりましたが、セルの選択方法は、ほかにも何種類か方法はあります。

refeditコントロール、TextBoxを使用する方法など・・・・でも
もっとややこしいです。

【56969】Re:セルの追加の方法
お礼  kazu  - 08/7/15(火) 13:20 -

引用なし
パスワード
   ▼neptune さん

アドバイスありがとうございました
自分では思いつきません・・とてもとても・・

これを参考に少しアレンジしてみますー


また分からないことできたら
聞かせてくださいー
頼りにしてます

4388 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free