『Visual Basic』に関する質問・疑問一覧

関連カテゴリ

次へ  ]
22009件中 1~20件目
  • VBA アプリケーション定義またはオブジェクト定義...

    VBA アプリケーション定義またはオブジェクト定義エラーについて VBA初心者です。 VISTA、エクセル2007を使用しています。 Private Sub printTotal1() Cells(sRow, nPlayer + 2).Value = "Score" Cells(sRow, nPlayer + 3).Value = "Average" Dim score As Double For iPlayer1 = 1 To nPlayer score = 0 For iPlayer2 = 1 To nPlayer score = score + Cells(sRow + iPlayer1, iPlayer2 + 1).Value Next Cells(sRow + iPlayer1, nPlayer + 2).Value = score Cells(sRow + iPlayer1, nPlayer + 3).Value = score / nPlayer Next End Sub このように記入しているのですがいつもエラーが出てしまいます。 どのような原因なのでしょうか?勉強不足ゆえにこんな荒い質問の仕方ですいません。

    2010/07/17 12:32
  • ComboBoxの項目からある部分の数字だけを抽出...

    ComboBoxの項目からある部分の数字だけを抽出したい。 例えばComboBox内に「カツ丼 @500円@」という項目があったとします。 この項目内の@から@にある数字のみを抽出してTextBoxに表示したいのですがどうすればいいでしょうか。 お詳しい方、よければ教えてください。 よろしくお願いします。 開発環境はVisualStudio2010です。

    2010/06/21 02:30
  • VB2008でほかのアプリケーションを操作したい

    VB2008でほかのアプリケーションを操作したい VBでButton1を押したらメモ帳で「ABC」と入力し新規保存させたり プリンタドライバーの設定を変更したりという操作をボタン一発でできるプログラムを作ろうと思ったのですが、どの様なコードの記述をしたらいいのでしょうか?

    2010/05/21 18:57
  • VB2005 ExpressEditionで勉強し...

    VB2005 ExpressEditionで勉強しています。 カンマ区切りの文字列を一旦配列に入れて配列のデータを ひとつずつリストボックスに入れる処理を作っているのですが、 配列に重複したデータがあるのでそれをひとつにしたいです。 配列にデータが入ってる時か、リストボックスに入れるときのどちらかで やりたいです。いい方法を教えてください。 本などで探したのですが見つかりません。 イメージは、配列が (aaa,bbb,ccc,aaa)だとすると リストボックスに入るときに (aaa,bbb,ccc)になっていればいいです。

    2010/05/13 23:11
  • エクセル(マクロ含む)で、列の並べ替えはできますか...

    エクセル(マクロ含む)で、列の並べ替えはできますか? 例えば、 A1  B1  C1  D1  E1 名前  ナシ  カキ  蜜柑  モモ 価格  80  50  45  95 人気   3   4   2   1 個数  35  90  80  20 という表において、 価格、人気、個数、それぞれの指標をもとに、 B1~E1までの列を、降順・昇順に並べ替えたりしたいのですが、 そんなことは可能でしょうか? 例えば、人気の指標で、降順に並べ替えるとすると、 E列(モモ列)がB列に来て、以下同様に、 D列(蜜柑列)がC列に、 B列(ナシ列)がC列に、 C列(カキ列)がE列に来るような形で、並べ替えが行われます。 並べ替えが行われるのは、あくまで、「列」において、です。 よく見かける「『行』が移動するような並べ替え」とは異なるものですので、 誤解無きよう、宜しくお願い致します。 以上、どなたか、お分かりになるかた、色々とお教示下さい。 必ず、お返事とポイント付与を行います。

    2010/05/07 21:43
  • エクセル2007をつかっています。「会社で何月何日...

    エクセル2007をつかっています。「会社で何月何日に、誰がどこへいったのか」がわかる表を作ろうとしていますが、 うまくつくれません。 シート1に以下のようなデータをつくり、 4月1日 佐藤 Aに訪問 4月2日 鈴木 Bに訪問 4月2日 加藤 Cに訪問 シート2のA1に「4月2日」と入力したら、このデータを参照して、A2とB2、A3とB3の セルに、 4月2日 鈴木 Bに訪問 加藤 Cに訪問 と出力されるようにしたいのです。 INDIRECT、SMALL、ROWの機能をつかったり、いろいろ試してみたのですが、自分が素人なため、どうしてもうまくいきません。 どなたか詳しい方がいれば教えてください。よろしくお願いします

    2010/04/16 10:56
  • CloseとDisposeの違い

    みなさまこんばんわです。よろしくお願い申し上げます。 VB.NET 2008でコーディングしています。 CloseとDisposeの違いについて教えていただきたいのです。 これらのメソッドは、開いたファイルを閉じるときなどにも使いますが、今回お尋ねするのは、フォームを閉じるとき、しかも、自ら呼び出すとき(Me.Close() と、Me.Dispose() )のみに限ったこととしてお話しさせていただきます。 たとえば、ShowDialog() で呼び出したフォームは、そのフォーム内でMe.Close() しても、プロセスは残り、たとえば、タイマーコントロールのイベントに記述していますと、それは実行され続けます。 これを防ぐために、Me.Dispose() を使います。すると、きれいにプロセスは終了し、イベントは発生しない模様です。 そこで、「フォームを閉じる」意味のMe.Close() をすべてMe.Dispose() に変えてしまいました。確実にプロセスを破棄出来ると思ったからです。Webで調べると、違いは「再利用できる、できないの違い」という答えがありましたが、それはきっと、ファイルやオブジェクトのことで、フォームの場合は、再びShowまたはShowDialogで表示させることは可能でしたので、特に問題は感じていませんでした。 ところが、アプリケーション設定で、「最後のフォームを閉じるとき」にアプリケーションがシャットダウンする設定になってるのに、シャットダウンしてくれないことが起こりました。調べてみると、Me.Dispose() が原因。Me.Close() に変えるとうまくいきました。 わけわからなくなってきました。。。 ちなみに、その残ったフォームは、スタートアップフォームであり、別のフォームからShowまたはShowDialogメソッドで呼び出したものではありません。 ここで4つの仮説を立ててみました。 1. ShowDialogで呼び出したフォームは、Me.Dispose()、Showで呼び出した、あるいは、スタートアップフォームは、Me.Close() すれば破棄できる 2. ShowDialogで呼び出したフォームは、Me.Dispose()、スタートアップフォームは、Me.Close()、Showで呼び出したフォームは、どちらでも、破棄できる 3. 呼び出し方ではなく、別の要因が存在する 4. 併記する必要がある場合がある Me.Close() Me.Dispose() または、 Me.Dispose() Me.Close() どれが正しいのでしょうか?どなたがご存じの方がいらっしゃいましたら、ご教授いただけませんでしょうか? どうぞよろしくお願い申し上げます。ありがとうございました。

    2009/05/19 05:29
  • VBA マクロ実行時エラー 1004

    すみません (1)Workbooks(p_addr_Name).Worksheets(sheet_check).Range(Cells(7, 2), Cells(19, 2)).Copy (2)Workbooks(p_SH_weekly).Worksheets("Sheet1").Range(Cells(7, i), Cells(19, i)).PasteSpecial Paste:=xlPasteAll その際(2)で「実行時エラー'1004'」が出ました、教えてください。 *上記引数は全部入りました 宜しくお願いします

    2009/03/02 18:32
  • VB2008 コンボボックスとテキストボックスの連...

    VBを使って顧客の検索などに使用するプログラムを作りたいと思っています。 項目1-1,項目1-2,項目1-3,項目1-4,項目1-5 項目2-1,項目2-2,項目2-3,項目2-4,項目2-5 項目3-1,項目3-2,項目3-3,項目3-4,項目3-5 上記のデータ名 TextFile1.txt Dim fn As String = "C:\TextFile1.txt" Dim dline() As String Dim d() As String Dim ad As ArrayList = New ArrayList() Dim read As System.IO.StreamReader = My.Computer.FileSystem.OpenTextFileReader(fn, System.Text.Encoding.Default) dline = Split(read.ReadToEnd, vbCrLf) For i As Integer = LBound(dline) To UBound(dline) d = Split(dline(i), ",") ad.Add(d(0)) Next ComboBox1.DataSource = ad ComboBox1.text="顧客名" 以上が現在の状況です。 comboに項目1-1,2-1,3-1とセットされていますが、マウスのスクロールボタンを動かすと、項目1-1が最初に表示されず2-1が表示されます。通常にクリックして選択すると問題は無いのですが、出来ればマウスのスクロールボタンも使いたいと思いますが解決方法はあるのでしょうか。 もう1件お伺いしたいのですが、上記テキストファイルからデータを読込、項目1-2,1-3,1-4,1-5、項目2-2・・・、項目3-2・・・と、項目毎にコンボボックスと連動させて各テキストボックス1、2、3、4に表示させたいのですが、上手くいきません。長文で解りにくい点があるかと思いますが、よろしくお願い致します。

    2008/08/09 13:44
  • カレントドライブの変更をしても、そのマクロの実行が...

    VIsta SP1 ExcelXPでマクロ作成中の超初心者です。今日昼から4時間かけて試行錯誤しましたが、深みにはまるばかりで、途方に暮れています。お助けください。  1)現状    Aブック-----マクロ記述用    Bブック-----請求用紙データ  2)Bブックにマクロを記述しました。そのマクロはBブックから正常に実行できました。  3)Bブックのマクロを、Aブックに複写し、カレントフォルダを変更しても、そのマクロがAブックにしか実行されません。このマクロををBブックに実行したいのですが、どうしてもできません。ご教示をお願いします。

    2008/07/27 18:58
  • CSVファイルへの保存の際、データが途中で切れてし...

    はじめまして。初心者になりますが、よろしくお願いします。 visual basic 2008を使って、研究で数値シミュレーションを組んでいるのですが、 その値をcsv形式で出力した際に、値の終わりの方が消えてしまう現象が出てしまいます。 具体的には、(出力データ数,xの値,zの値)という形でファイルに書き込んでいくのですが、 出力データ数を1001個にした際、保存したファイルをExcelやメモ帳で開くと、 最後が、(991,0.111540025,0.2)といった形となってしまい。値の数が合わないのです。 他にも出力データ数の値を変えて試してみましたが、 出力データ数が101個の際には、実際保存されたのは97個 出力データ数が2001個の際には、実際保存されたのは1998個 出力データ数が5001個の際には、実際保存されたのは4988個 となります。 いずれも、途中は完全に保存されていて、最後の部分のみ保存されていない(途中で切られている)といった状況です。 デバッグで切られている部分も値が存在していることは確認できていますので、 おそらく保存する際の間違いだと思うのですが、原因がわかりません。 すみませんが、ご指導をお願いします。 (以下、保存のためのプログラムを記します) Private Sub RK_ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Rk_ToolStripMenuItem.Click 'ルンゲクッタデータを保存するためのモジュール Dim myStream As Stream Dim saveFileDialog1 As New SaveFileDialog() Dim s As String = "" If save_flag = False Then MsgBox("Error!!" & vbLf & "データがありません。") Else saveFileDialog1.Filter = "csv files (*.csv)|*.csv|txt files (*.txt)|*.txt|All files (*.*)|*.*" saveFileDialog1.DefaultExt = "csv" saveFileDialog1.FilterIndex = 1 saveFileDialog1.RestoreDirectory = True saveFileDialog1.OverwritePrompt = True If saveFileDialog1.ShowDialog() = DialogResult.OK Then myStream = saveFileDialog1.OpenFile() Dim sw As StreamWriter = New streamWriter(myStream) If (myStream IsNot Nothing) Then For i As Integer = 0 To n s = t_temp(i).ToString & "," & x_temp(i).ToString & "," & z_temp(i).ToString sw.WriteLine(s) Next i myStream.Close() MsgBox("ファイルへの書き込みが終了しました") End If End If End If End Sub

    2008/07/24 20:01
  • 最小値を求める方法

    VB初心者です。宜しく御願いします。 VB6で、最小値を求める方法ってありますか? 変数3つに値が入っていて、そのうちのいずれが最小値なのかを求めたいのです。 もっと言えば、「0(ゼロ)」を除いて最小値を求めたいのです。 なにぶんVBを初めたばかりで、分かりません。 どなたか、ご教授頂ければと思います。宜しくお願い致します。

    2008/07/23 11:35
  • フォームに入力した回数だけ文字表示できない・・・

    VBAでフォームを使ったものでやりたいことがあるのですがうまく出来なく悩んでいます。 フォームで入力した値をそれぞれカンマで区切って入力した回数だけ文字を表示したいのですがどうすればよいでしょうか? おそらくSplit関数を使えばよいかと思いますが・・・ 例えばフォームに「A, B, C, D」と入力します。 そのフォームに入っている回数だけ繰り返しA1から下に 「私はAです」 「私はBです」 「私はCです」 ・・・・・といった具合に繰り返して文字を出したいのですが出来ますでしょうか?

    2008/07/23 00:27
  • VB2005でExcelのシートをコピー

    VB2005Expressで開発をしています。 Excelのシートをコピーして同じbookに追加をしたいと思っています。 下記でまずExcelを使用できるようにして  Dim xlApp As New Excel.Application  Dim xlBooks As Excel.Workbooks = xlApp.Workbooks  Dim xlBook As Excel.Workbook = xlBooks.Add '新規のファイルを開く  Dim xlSheets As Excel.Sheets = xlBook.Worksheets  Dim xlSheet As Excel.Worksheet = xlSheets.Item(1)  xlApp.Visible = True 下記で追加できると思うのですが、()内にセットするパラメータが わかりません・・・  xlBook.Worksheets.Copy() どなたかご存知の方がいらっしゃいましたら教えて下さい。 よろしくお願いします。

    2008/07/17 20:40
  • 圧縮中にエラーダイアログが出ないようにしたい

    以下がどうしても出来ません・・・ [処理内容] 複数CSVファイルを出力して、 その複数CSVを一つのzipファイルにして終了。 やりたいけど、出来ないこと・・・↓ ・圧縮中にエラーメッセージのダイアログが上がる場合があって、  その「OK」ボタンを押さないと次へ進まない。  ⇒エラーメッセージでないようにしたい。 ・圧縮処理が全て完了してからアプリを終了させたい。 どなたかご親切な方、ご教授願います・・・!

    2008/07/17 15:45
  • VBAを使うメリット

    はじめまして。現在、仕事でよくエクセルの関数を使っています。最近VBAに触れる機会がありました。 現在、ほとんどのことをエクセル関数を使ってしているので、今いちVBAのメリットがわかりません。でも、VBAの方が関数より難しいので、VBAを覚えた人はやっぱり、ほとんどVBAで処理した方がよいと感じるのでしょうか? みなさんはどのような時に関数で、どのような時にVBAを使われていますか?

    2008/04/19 13:03
  • エクセルで時間の合計ができません

    セルの表示を0:00となる[h]:mmとしています。たとえば、SUM(A1+A2+A3+A4+A5)とすると5:00など正常に動きますがSUM(A1:A5)とすると0:00となります。時間形式以外の計算ではSUM(A1:A5)の関数も正常に動きます。TEXT関数を調べましたが理解できませんでした。とても困っています。よろしくお願いします。

    2004/07/16 07:39
  • Sub ***( ) と Private Sub ...

    初歩的な質問で申し訳ありませんが・・・ 自分でコードを書いていても、イベントが発生したりした時の処理で、コードのウィンドウで上のドロップダウンリストで選択できる時の処理などは自動的に[Private Sub Command1_Click( )]などと出てくるのでそのまま使っています。自分で別途プロシージャーを作成する時は[Sub ****( )]としています。 ですがその違いを理解しないまま、自分で作成する時は[Private Sub]ではなくて[Sub]を使っています。 Sub ***( ) と Private Sub ***( ) の違いは何なんでしょうか? どなたか説明頂けませんか? よろしくお願いします。

    • ベストアンサー
    • 暇なときにでも
    • noname#4100
    • Visual Basic
    • 回答3
    2003/04/14 21:47
  • VB.NETについて

    VisualBasicか、JAVAが、データベース及び、ネットワークとの 相性がいいと感じているので、まずは、習得しやすい、VBを覚えたいと思っています。そこで、VB6とVB.netどちらを覚えたほうがよいでしょうか? 質問のポイント (1)VB.netを覚えておけば、すんなりVB6もできるものか? (2)VB.netの将来性はどうでしょうか?企業では、Windows2000が 普及しており、WindowsXPはあまり普及していません。 同様に、.netもあまり使われているのは見たことがないのですが、 将来的には普及するのでしょうか?当分は、VB6のまま? もしくは、VB.netは使えない(違法コピーができない?)から 他の言語に移行なんてこともありうるのかな?なんて思っています。 以上、 よろしくお願いします。

    2002/10/22 15:39
  • API関係の良い本しりませんか?

    API関係の良い本しりませんか? APIビューアにものってないようなことまで 書いてるような詳しいのがほしいのですが・・・・

    2002/01/26 21:17

ピックアップ