Excel VBA質問箱 IV

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

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


65096 / 76732 ←次へ | 前へ→

【16211】Re:指定取消ボタンで商品マイナス表示!
回答  Asaki  - 04/7/20(火) 23:02 -

引用なし
パスワード
   以下、先のコードにコメントをつけてみました。
解りにくければ、再度書き込みください。
(一部、直したほうが良いかも、というところを発見しました)

'数値の符号決定用変数
Dim lngSign   As Long

'あめボタンの処理
Private Sub CommandButton1_Click()
  '初めて実行する場合、lngSignは初期値の0が設定されているため、プラス1に変更
  If lngSign = 0 Then lngSign = 1
  'あめデータの入力
  '-- A列最終行から Ctrl+↑ の操作で選択される行の次の行のA:B列の値を設定
  '-- テストのため、A列には「あめ」、B列には 符号×100 の固定値を設定
  Cells(65536, 1).End(xlUp).Offset(1).Resize(, 2).Value _
    = Array("あめ", lngSign * 100)
  '直前に取り消しボタンが押されていたらマイナス1になっているため、プラス1に戻す
  lngSign = 1
End Sub

'指定取り消しボタンの処理
Private Sub CommandButton2_Click()
  '次にあめボタンを押したときに、金額の符号をマイナスにするためマイナス1を代入
  lngSign = -1
  'よく考えたら、取り消しを取り消すことが出来ないので、↓のほうが良いかも
  '-- 変数の符号を逆転(取り消しを取り消したかったら、もう1度このボタンをクリックすればよい)
  'lngSign = -1 * lngSign
End Sub
------------------------------------------
>Q1 ifに関するElseはどこにあるのでしょう?もし書くとしたらどこですか?
↓この文についてですよね?
>If lngSign = 0 Then lngSign = 1
これは、1行で書く形式のIfステートメントです。
Elseの処理が不要で、条件が成立したときに行う処理が短いので、この形式で書いています。
If lngSign = 0 Then
  lngSign = 1
End If
と同じです。
その他の形式については、ヘルプをご覧になると良いと思います。

>Q2 Cells(65536, 1)と、行の最後まで書く必要的なものがわからないんです。
コメントにも書いていますが、
Cells(65536, 1).End(xlUp)
この部分が、A列最終行のセルを選択した状態で、Ctrl+↑ の操作をしたときに選択されるセルを表しています。
Ctrl+↑ を利用してデータの最終行を求めるのは、割とメジャーな手法です。
途中に空白セルがないことが保証されていれば、逆に、Ctrl+↓ を利用することも可能です。
Cells(1,1).End(xlDown)
# 但し、A1が空白または、A2が空白の場合、65536行目が選択されてしまいます。

>私は下のように書いておりました。
ええと、申し訳ないのですが、ちょっとよく、コードがわからなかったのです。
おやりになりたいことが、読みきれませんでしたので、勝手に全然違う形で書かせていただきました。m(_ _)m
4 hits

【16178】指定取消ボタンで商品マイナス表示! いし 04/7/20(火) 12:35 質問
【16181】Re:指定取消ボタンで商品マイナス表示! Asaki 04/7/20(火) 15:06 発言
【16186】Re:指定取消ボタンで商品マイナス表示! いし 04/7/20(火) 16:20 発言
【16187】Re:指定取消ボタンで商品マイナス表示! いし 04/7/20(火) 16:23 質問
【16189】Re:指定取消ボタンで商品マイナス表示! Asaki 04/7/20(火) 16:37 回答
【16194】Re:指定取消ボタンで商品マイナス表示! いし 04/7/20(火) 17:16 発言
【16195】Re:指定取消ボタンで商品マイナス表示! Asaki 04/7/20(火) 17:34 回答
【16202】Re:指定取消ボタンで商品マイナス表示! いし 04/7/20(火) 18:24 発言
【16211】Re:指定取消ボタンで商品マイナス表示! Asaki 04/7/20(火) 23:02 回答
【16225】Re:指定取消ボタンで商品マイナス表示! いし 04/7/21(水) 11:41 お礼
【16231】Re:指定取消ボタンで商品マイナス表示! いし 04/7/21(水) 15:46 質問
【16244】Re:指定取消ボタンで商品マイナス表示! Asaki 04/7/22(木) 0:08 回答
【16482】Re:指定取消ボタンで商品マイナス表示! ペリカン 04/7/28(水) 18:25 お礼
【16307】Re:指定取消ボタンで商品マイナス表示! [名前なし] 04/7/24(土) 11:15 発言
【16308】Re:指定取消ボタンで商品マイナス表示! [名前なし] 04/7/24(土) 11:24 発言
【16483】Re:指定取消ボタンで商品マイナス表示! ペリカン 04/7/28(水) 18:27 お礼
【16484】Re:指定取消ボタンで商品マイナス表示! いし 04/7/28(水) 18:30 お礼

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