Excel VBA質問箱 IV

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

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


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

【55082】IF文について教えて下さい マッキ− 08/4/14(月) 20:38 質問[未読]
【55083】Re:IF文について教えて下さい わいわい 08/4/14(月) 21:33 発言[未読]
【55107】Re:IF文について教えて下さい マッキ− 08/4/15(火) 15:14 お礼[未読]
【55085】Re:IF文について教えて下さい neptune 08/4/14(月) 22:08 発言[未読]
【55108】Re:IF文について教えて下さい マッキ− 08/4/15(火) 15:21 お礼[未読]
【55087】Re:IF文について教えて下さい かみちゃん 08/4/15(火) 0:08 発言[未読]
【55109】Re:IF文について教えて下さい マッキ− 08/4/15(火) 15:41 お礼[未読]
【55119】Re:IF文について教えて下さい かみちゃん 08/4/15(火) 23:23 発言[未読]
【55124】Re:IF文について教えて下さい マッキ− 08/4/16(水) 12:19 発言[未読]
【55126】Re:IF文について教えて下さい かみちゃん 08/4/16(水) 12:58 発言[未読]
【55131】Re:IF文について教えて下さい VBWASURETA 08/4/16(水) 14:32 発言[未読]
【55090】Re:IF文について教えて下さい VBWASURETA 08/4/15(火) 10:12 発言[未読]
【55110】Re:IF文について教えて下さい マッキ− 08/4/15(火) 15:42 お礼[未読]
【55096】Re:IF文について教えて下さい Jaka 08/4/15(火) 11:26 発言[未読]
【55112】Re:IF文について教えて下さい マッキ− 08/4/15(火) 15:46 お礼[未読]
【55122】Re:IF文について教えて下さい VBWASURETA 08/4/16(水) 11:51 発言[未読]
【55123】Re:IF文について教えて下さい マッキ− 08/4/16(水) 12:17 発言[未読]

【55082】IF文について教えて下さい
質問  マッキ−  - 08/4/14(月) 20:38 -

引用なし
パスワード
   初心者でよくわかっていないものですが、誰か宜しかったら教えてください。
下記プログラムの「If kigou <= 12 Or kigou >= 34 Then
    ws2.Range("収入支出台帳").Cells(insertRow, 4) = TextBox5.Text」の
部分ですが、「kigou」の値に関係なく、「ws2.Range("収入支出台帳").Cells(insertRow, 4) = TextBox5.Text」が実行されてしまいます。基本的な事がわかっていないかもしれませんが、是非、教えて下さい。お願いします。


Dim gousei As Long
Dim kigou As Long


Private Sub TextBox12_Click()
'------------------------------------
'登録ボタンによる処理
'-----------------------------------
Set ws1 = Worksheets("分類")
Set ws2 = Worksheets("台帳")


 'シ−トの保護を解除する
  ws2.Unprotect
  '最下行に1行挿入する
 
  insertRow = ws2.Range("収入支出台帳").Rows.Count
  ws2.Range("収入支出台帳").Rows(insertRow).Insert Shift:=xlDown
  'デ−タをセルに入力する
  '年月日
  kigou = ws2.Range("収入支出台帳").Cells(insertRow, 2)
  gousei = "平成" & TextBox1.Text & "年" & TextBox2.Text & "月" & TextBox3.Text & "日"
  ws2.Range("収入支出台帳").Cells(insertRow, 1) = gousei
 
  '分類
  ws2.Range("収入支出台帳").Cells(insertRow, 7) = TextBox4.Text
  '記号分類

  For i = 1 To 100
  If ws2.Range("収入支出台帳").Cells(insertRow, 7) = ws1.Cells(i + 14, 4).Value Then
    
     ws2.Range("収入支出台帳").Cells(insertRow, 2) = ws1.Cells(i + 14, 4).Previous.Value
    
    
     End If
     Next i
    
  '収入先、支出先
 
  If kigou <= 12 Or kigou >= 34 Then
    ws2.Range("収入支出台帳").Cells(insertRow, 4) = TextBox5.Text
    ElseIf kigou >= 13 And kigou <= 33 Then
    ws2.Range("収入支出台帳").Cells(insertRow, 5) = TextBox5.Text
    Else: ws2.Range("収入支出台帳").Cells(insertRow, 4) = ""
    ws2.Range("収入支出台帳").Cells(insertRow, 5) = ""
   
  End If

【55083】Re:IF文について教えて下さい
発言  わいわい  - 08/4/14(月) 21:33 -

引用なし
パスワード
   マッキ− さん こんばんは

Option Explicit

Public gousei As Long
Public kigou As Long
>
>Private Sub TextBox12_Click()
>'------------------------------------

にしたらどうなりますか?
プロージャの外に Dim があるのが気になったので...。

はずしてるかなぁ〜

【55085】Re:IF文について教えて下さい
発言  neptune  - 08/4/14(月) 22:08 -

引用なし
パスワード
   ▼マッキ− さん:

こんにちは


>下記プログラムの「If kigou <= 12 Or kigou >= 34 Then
>    ws2.Range("収入支出台帳").Cells(insertRow, 4) = TextBox5.Text」の
>部分ですが、「kigou」の値に関係なく、「ws2.Range("収入支出台帳").Cells(insertRow, 4) = TextBox5.Text」が実行されてしまいます。基本的な事がわかっていないかもしれませんが、是非、教えて下さい。お願いします。
基本的なことはご自分で勉強して下さい。

こういう場合は
>  If kigou <= 12 Or kigou >= 34 Then
・↑にブレークポイントを置いて、変数の状態を確認する
・イミディエイトウィンドウに変数の状態を出力する
・ウォッチウィンドウを使用して、変数の状態を確認する
・ステップ実行する
等などの方法で変数のその時のデータが確認できます。

デバッグは基本的に自分でやるものです。
この機会にデバッグの方法を勉強しましょう。

【55087】Re:IF文について教えて下さい
発言  かみちゃん  - 08/4/15(火) 0:08 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>初心者でよくわかっていない

http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=54982;id=excel
のご質問はどうなったのでしょうか?
上記の質問は、別のところでも質問されているようですので、対処をお願いします。

【55090】Re:IF文について教えて下さい
発言  VBWASURETA  - 08/4/15(火) 10:12 -

引用なし
パスワード
   皆さんおはようございます。

neptuneさんが指摘しているところをもう少し踏み込むと
Orとは?Andとは?どいうものかを考えると原因が見えてきます。

【55096】Re:IF文について教えて下さい
発言  Jaka  - 08/4/15(火) 11:26 -

引用なし
パスワード
   変なスレッドになりそうだからここにつけたくないんだけど。

たぶん、この辺の勘違いだけだと思います。
コードよく読んでないけど。(ぱっと見ですみません)

>insertRow = ws2.Range("収入支出台帳").Rows.Count
これは名前定義した範囲の行数です。
名前定義した最後の行ではありません。
で、これはまず変わることは無いと思われます。

例えば、
名前定義した範囲がA25:B30だとすると、
範囲の行数は5だから、処理をするにしてもいつも5行目です。
名前定義したセル範囲に行を挿入しても、新しく取得しない限り同じです。
範囲の最終行の取得は、
ht tp://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=78;id=FAQ


↓これに関しては、どういった処理をしたいのか解りませんが
 意図した通りには動いていると思います。

kigou = 15
If kigou <= 12 Or kigou >= 34 Then
  MsgBox "12以下、または、34以上"
Else
  MsgBox "13から33"
End If

【55107】Re:IF文について教えて下さい
お礼  マッキ−  - 08/4/15(火) 15:14 -

引用なし
パスワード
   ▼わいわい さん:
>わいわいさん こんにちわ
ご親切に有難うがざいました。

何とかみなさんの貴重なご意見を参考にして、色々調べました所、非常に基本的な事だったのかもしれませんが、 「kigou = ws2.Range("収入支出台帳").Cells(insertRow, 2)」に「.value」を付けましたら問題解決いたしました。
本当にありがとうございました。
また、本当に初心者ですので、色々調べてもわからなくて、自分だけではどうしようもないと思った時は、質問投稿するかもしれませんが、その時は、宜しければまたアドバイス下さい。
    ありがとうございました

【55108】Re:IF文について教えて下さい
お礼  マッキ−  - 08/4/15(火) 15:21 -

引用なし
パスワード
   ▼neptune さん:
>
>こんにちは
>
>アドバイス、肝に命じて、これからがんばりたいとおもいます。
ありがとうございました。

【55109】Re:IF文について教えて下さい
お礼  マッキ−  - 08/4/15(火) 15:41 -

引用なし
パスワード
   >こんにちは。かみちゃん さん。
>
>>色々調べてもわからなかっので、恥を覚悟でみなさんのご意見を伺おうと思い、投稿したのです。
初心者でからこそ、聞いたのです。
かみちゃんさんも、今までにわからない事があった時、人に聞いた事はないのですか?
>
>http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=54982;id=excel
>のご質問は、その時にアドバイスをしてくださった方のおかげで、解決いたしました。
ご心配ありがとうございました。

【55110】Re:IF文について教えて下さい
お礼  マッキ−  - 08/4/15(火) 15:42 -

引用なし
パスワード
   ▼VBWASURETA さん、ご意見ありがとうございました

【55112】Re:IF文について教えて下さい
お礼  マッキ−  - 08/4/15(火) 15:46 -

引用なし
パスワード
   ▼Jaka さん、本当にご親切にありがとうございました。
>わいわいさんへのお礼に書いたように、問題解決致しました。
本当にありがとうございました。

【55119】Re:IF文について教えて下さい
発言  かみちゃん  - 08/4/15(火) 23:23 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>>>色々調べてもわからなかっので、恥を覚悟でみなさんのご意見を伺おうと思い、投稿したのです。
>初心者でからこそ、聞いたのです。
>かみちゃんさんも、今までにわからない事があった時、人に聞いた事はないのですか?

もちろん聞いていますよ。
今でも調べてもわからないことは、たまに質問することもあります。
ですから、質問してはいけませんと申し上げているわけではありません。
マルチポストはあまりよくないので、そこのところをよく考えていただきたいということです。
初心者だから・・・というのは、言い訳に過ぎません。

>>http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=54982;id=excel
>>のご質問は、その時にアドバイスをしてくださった方のおかげで、解決いたしました。
>ご心配ありがとうございました。

それはここで述べることではありません。
質問を2つ以上してはいけないということもありません。
ただし、せっかくレスをつけている方がいるので、反応くらいはできませんか?
という問いかけです。

とにかく、自分がなさっていることを、よく考えてみてください。

【55122】Re:IF文について教えて下さい
発言  VBWASURETA  - 08/4/16(水) 11:51 -

引用なし
パスワード
   ▼マッキ− さん:
こんにちは。
かみちゃんさんの書いている意味を理解されてないようなので、
追記します。

初心者という問題は全然関係ありません。
過去の質問に対して結果としてどうなったか先に書くべきでは?
ということです。
りんさんがレスをつけてますのでそちらを無視するのは失礼になりますよ。


↓こちらの質問です
//www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=54982;id=excel#54982

【55123】Re:IF文について教えて下さい
発言  マッキ−  - 08/4/16(水) 12:17 -

引用なし
パスワード
   ▼VBWASURETA さん:
無視はしていません。りんさんにはアドバイスを頂いて、直ぐにお礼の返事を直接メ−ルいたしました

【55124】Re:IF文について教えて下さい
発言  マッキ−  - 08/4/16(水) 12:19 -

引用なし
パスワード
   マルチポストについては、知りませんでしたので、謝罪いたしますが、
まるで、人をバカにしたような言い方はやめたほうがいいとおもいますよ。
レスにたいしては、直接メ−ルにて既にお礼をしています。
こちらはすがる思いでアドバイスを求めているのに、かみちゃんさんのような言い方は大変腹立たしいです。
アドバイスしていただけないようでしたら、投稿していただかなくて結構。お互いに不愉快。

【55126】Re:IF文について教えて下さい
発言  かみちゃん  - 08/4/16(水) 12:58 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>マルチポストについては、知りませんでした

知らなかったなら、今後は、配慮されたほうがいいと思います。

>まるで、人をバカにしたような言い方はやめたほうがいいとおもいますよ。

どこかバカにしていますか?
そうとられるなら、こちらも謝りますが、レスがついている質問に掲示板
上で何も反応を示さないと今後レスもつかなくなる可能性が大きいと思います。
それが余計なお世話でしたら、VBAに関係ない話ですし、不愉快という
ことですので、やめておきます。

>レスにたいしては、直接メ−ルにて既にお礼をしています。

これは、間違っています。
まずは、掲示板上で、反応を示しほうがいいと思います。
掲示板を見ているのは、マッキ-さんだけではありません。
今後もマッキ-さんと同じ悩みを抱えた人が過去ログを見る可能性もあります。
その方たちのためにも、掲示板で「できた」か「できなかった」くらいは最低限
反応を示していただきたかったと思います。

メールでのお礼は、大変結構ですし、私もよく個人間のやりとりをしますが、
必ず、最後は、掲示板に解決結果の共有をするようにしています。
掲示板とは、そういうものではないでしょうか?

>こちらはすがる思いでアドバイスを求めている

それは誰でもよくあるので、とてもわかります。

> 言い方は大変腹立たしいです。

言い方に対して、ご立腹なら謝りますがそれでしたら、反応を示さないのも腹立たしいです。
おまけにマルチポストされています・・・(これはご理解いただけたようですので、問いませんが)

>アドバイスしていただけないようでしたら、

実は、前回の質問について、マルチポスト先(2回投稿されていますが)の
掲示板に公開されていた、メールアドレスに、解決方法を直接送っています。
これは、1回目の投稿先が誤っていたのを指摘されていたので、2回目の投稿
を待っていたのですが、なかなか投稿されなかったので、お急ぎかと思って
直接メールで送ったという経緯です

ですから、直接掲示板に書かなかったのは、まずいですが、アドバイスして
いないというわけではありません。

結果的に先に、こちらの掲示板ですでに解決方法が提示されていたものと
まったく一緒だったので、それがそもそも私が今回、マッキ-さんに対して、
疑問を抱いている伏線なのかもしれません。
(解決方法提示されているのに、なぜ、別の掲示板で投稿されたのか?)

だいぶきついことを書きましたが、「マルチポストに気づかず回答をアドバイスした」
人の気持ちも汲んでいただければ幸いです。

【55131】Re:IF文について教えて下さい
発言  VBWASURETA  - 08/4/16(水) 14:32 -

引用なし
パスワード
   こんにちは。

とにかく、他の人も見る掲示板ですので、
あまり言い合いが増えると質問しにくくなりますから^^;

メールの件わかりました。
それであれば良いのですが。ただ他の回答者が見た時に
レスをつけない方だと思われて他の質問に対しても
レスがもらえない可能性もなくはないので注意した方が良いですよ。

とりあえずこの内容はここに書くべきものではないので
これでこの質問は締めませんか?

もし納得できないのでしたら石鹸側にでも。
(勝手に石鹸箱への案内すみません)


//www.vbalab.net/vbaqa/c-board.cgi

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