Excel VBA質問箱 IV

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

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


6561 / 13644 ツリー ←次へ | 前へ→

【44495】繰り返しについて れいな 06/11/19(日) 19:33 質問[未読]
【44497】学校の課題ですか? [名前なし] 06/11/19(日) 20:10 発言[未読]
【44498】Re:繰り返しについて 注意 06/11/19(日) 20:18 発言[未読]
【44499】Re:繰り返しについて Mari 06/11/19(日) 21:06 発言[未読]
【44502】Re:繰り返しについて maverick 06/11/20(月) 0:06 回答[未読]
【44544】Re:繰り返しについて TMB 06/11/21(火) 10:13 発言[未読]
【44556】Re:繰り返しについて ToShiYo 06/11/21(火) 19:34 発言[未読]

【44495】繰り返しについて
質問  れいな  - 06/11/19(日) 19:33 -

引用なし
パスワード
   キーボードから読み込んだ数字をR1C4セルに表示し、次に読み込んだ数字をR2C4セルに、その次に読み込んだ数字をR3C4セルに...というように4列1行目のセルから順に下に表示するというのを繰り返したいのです。キーボードから数字の「0」が入力されたら、それまでに入力された数の合計をR7C1セルに表示させた後、マクロを終了させたいのです。
 
Sub Macro1()

Do
[              ]

Loop

End Sub

[      ]の中にどんなコードをいれれば良いか教えてください

【44497】学校の課題ですか?
発言  [名前なし]  - 06/11/19(日) 20:10 -

引用なし
パスワード
   >【44412】繰り返し れいな 06/11/15(水) 17:53     

の回答を応用すれば出来ると思いますが。

そもそも何のためにこの処理が必要なのでしょうか?

【44498】Re:繰り返しについて
発言  注意  - 06/11/19(日) 20:18 -

引用なし
パスワード
   VBA質問箱基本ポリシーヨリ


質問をする前に
わからないことがあれば、質問をする前にまず過去ログを参照しましょう。
当質問箱には膨大な過去ログがあります。その中には、あなたが質問したい内容に近い質問がすでに行われているかもしれません。「検索」ボタンをクリックすれば、キーワード検索ができるようになっています。
 
何をやったか書いてください
おそらくあなたは、色々なことを試してできなかった末にここに質問を書くのでしょう。しかし回答者は、あなたが今まで何をやってきたか、何を知っていて何を知らないかわかりません。今まで試したこと、やろうと思ったけどやり方がわからなかったことなどをできるだけ詳しく書いてください。

してはいけない質問について
困ったことは基本的にどんな質問をされてもかまわないのですが、その中でも不適切な質問、というのがあります。以下のような質問は原則としてしないでください。お願いします。

 ・セキュリティ上好ましくない結果を招く内容
   例:ExcelやAccessのセキュリティレベルを変更するコード
     ファイルのパスワードを調べる(破る)コード

 ・丸投げ
   「○○するにはどうすればいいか教えてください」といったような、
   コードを最初から最後まで教えてもらうことを期待するような質問

【44499】Re:繰り返しについて
発言  Mari  - 06/11/19(日) 21:06 -

引用なし
パスワード
   ▼れいな さん:
今晩は。下の意味を十分意味が把握できていないかも知れませんが・・

>キーボードから読み込んだ数字をR1C4セルに表示し、次に読み込んだ数字をR2C4セルに、その次に読み込んだ数字をR3C4セルに...というように4列1行目のセルから順に下に表示するというのを繰り返したいのです。キーボードから数字の「0」が入力されたら、それまでに入力された数の合計をR7C1セルに表示させた後、マクロを終了させたいのです。

こんな感じで作成しました
C列の1行目に合計
C列の2行目から順次3行目・・・順次10行目・・・など数字を入れ、最終集計したい
列にきたら「0」を入れる。
完全な回答で無いかも知れません、これをひとつの「たたき台」に展開できれば
使ってください。

(シート1に)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range
  On Error Resume Next
  Sheets(1).Columns("C").SpecialCells(xlCellTypeFormulas).ClearContents
  On Error GoTo 0
  With Worksheets(1)
    Set rng = .Range(.Cells(2, 3), .Cells(.Rows.Count, 3).End(xlUp))
   With rng
   If Range("C65536").End(xlUp).Value = 0 Then
    If .Row > 1 Then Cells(1, 3).Formula = "= SUBTOTAL(9," & .Address & ")"
   End If
   End With
  End With
End Sub

【44502】Re:繰り返しについて
回答  maverick  - 06/11/20(月) 0:06 -

引用なし
パスワード
   i = i + 1: Cells(i, 4) = InputBox(i): If Cells(i, 4) = 0 Then Range("A7") = WorksheetFunction.Sum(Range("D1:D" & i)): Exit Do

【44544】Re:繰り返しについて
発言  TMB  - 06/11/21(火) 10:13 -

引用なし
パスワード
   ▼れいな さん:

前回の質問で、「できました」とか「助かりました」とお礼を述べていますが。

回答されている方々はVBAの知識があるので、「できる」のは当たり前なんです。
望みどおりの結果を得られるのは当然なんです。

だから、「できる」「できない」をお礼するのではなく、「理解できた」「理解できない」をお礼すべきだと思いますよ。

「理解できない」のであれば、何回も同じ質問を繰り返すだけになります。

【44556】Re:繰り返しについて
発言  ToShiYo  - 06/11/21(火) 19:34 -

引用なし
パスワード
   ▼れいな さん:

少し直しました。
これで、如何でしょうか。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range
 On Error Resume Next
  Sheets(1).Columns("A").SpecialCells(xlCellTypeFormulas).ClearContents
 On Error GoTo 0
   With Worksheets(1)
    Set rng = .Range(.Cells(2, 3), .Cells(.Rows.Count, 3).End(xlUp))
    With rng
      If Range("C65536").End(xlUp).Value = 0 Then
        If .Row > 1 Then Cells(7, 1).Formula = "= SUBTOTAL(9," & .Address & ")"
      End If
    End With
   End With
End Sub

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