タグ付けされた質問 「vba」

Visual Basic for Applications(VBA)は、マクロを記述するためのイベント駆動型のオブジェクト指向プログラミング言語であり、Officeスイート全体および他のアプリケーションで使用されます。VBAはVB.NETまたはVBSと同等ではありません。Visual Studioで作業している場合は、[vb.net]を使用します。MS Officeアプリケーションのプログラミングに関する質問の場合は、適切なタグ([excel]、[ms-access]、[ms-word]、[outlook]、または[ms-project])も使用してください。

11
Excel VBAアプリが「コードの実行が停止しました」というメッセージが表示されて自発的に停止する
私がウェブで見ることができるものから、これはかなり一般的な不満ですが、答えはまれであるようです。問題はこれです: 私たちは多くのユーザーのマシンで完璧に動作する多くのExcel VBAアプリを持っています。ただし、1つのマシンでは、特定のコード行で停止します。それは常に同じ行ですが、それらの行は互いに共通点がないようです。 停止後にF5(実行)を押すと、アプリは続行するため、ブレークポイントが追加されたように見えます。メニューから「すべての休憩を削除」を選択し、さらに休憩を追加して削除しようとしました。 以前、単一のアプリでこの問題が発生しました。モジュールからコードを切り取り、コンパイルしてから再び貼り付けるなどして、それを「つなぎ」ました。 現在、問題は単一の.xlsではなくExcel自体に関連しているように見えるため、これを管理する方法が少しわかりません。 どんな助けでもありがたいです:) おかげで、 フィリップウィッティントン
151 excel  vba 



4
VBAで現在のワークシートのパスを取得する方法
マクロをアドインとして作成しました。マクロが実行されている現在のワークシートのパスを取得する必要があります。どうすればよいですか?ファイルパス(ディレクトリのみ)を取得するにはどうすればよいですか?
141 excel  vba 


2
Microsoft Office VBAを編集するときに、ポップアップの「コンパイルエラー」メッセージを無効にするにはどうすればよいですか?
Microsoft Office VBAマクロまたは関数を編集しているときは、多くの場合、カーソルをまだ完了していない行から移動します。たとえば、その行に貼り付けたいものをコピーするには、ただし、その部分的な行が構文的に有効でない場合、VBAエディターは、閉じる必要のある「コンパイルエラー」メッセージをポップアップして作業を中断します。 メッセージボックスを無効にする方法はありますか?イライラする... (これは、Excel Visual Basic for Applications、Outlook VBA、Word VBAなどで発生します。)
134 vba  editor 

8
VBAでグローバル変数を宣言するにはどうすればよいですか?
私は次のコードを書きました: Function find_results_idle() Public iRaw As Integer Public iColumn As Integer iRaw = 1 iColumn = 1 そして、私はエラーメッセージを受け取ります: 「サブまたは関数の無効な属性」 私が間違ったことを知っていますか? のGlobal代わりに使用しようとしましPublicたが、同じ問題が発生しました。 関数自体を「公開」として宣言しようとしましたが、それもうまくいきませんでした。 グローバル変数を作成するにはどうすればよいですか?


14
VBは本当に大文字と小文字を区別しませんか?
私はここで議論を始めようとはしていませんが、何らかの理由で、通常、Visual Basicは大文字と小文字を区別せず、C言語はそうではないと述べています(そして、何とかそれは良いことです)。 しかし、ここに私の質問があります:Visual Basicは大文字と小文字を区別しませんか?入力すると... Dim ss As String Dim SS As String ... Visual Studio 2008またはVisual Studio 2010 IDEに、2番目のIDEは「ローカル変数SSは既に現在のブロックで宣言されています」という警告が表示されます。VBA VBEでは、すぐにエラーが発生するのではなく、ケースが自動修正されます。 Visual Basicでは大文字と小文字が区別されないというこの引数で何か不足していますか?(また、あなたが知っているか、答えようとするなら、なぜそれが悪いことでしょうか?) なぜ私はこの質問をするのですか? 私は長年にわたって、多くの方言でVisual Basicを使用してきました。時には趣味として、時にはワークグループの小規模ビジネス関連プログラムに使用しました。過去6か月の時点で、私は予想以上に大きなプロジェクトに取り組んできました。そこにあるサンプルソースコードの多くはC#にあります。私はC#を学習したいという強い欲求はありませんが、そのC#で見落としていることがVisual Basicにはない(VB.NETがXMLリテラルを提供している場合はその逆です)場合は、その機能についてもっと知りたい。そのため、この場合、C言語では大文字と小文字が区別され、Visual Basicでは大文字と小文字が区別されず、それが悪いとよく言われます。知りたい... コードエディターのすべての例では、必要かどうかにかかわらず、大文字と小文字が区別される(つまり、大文字と小文字が修正される)ため、Visual Basicの大文字と小文字はどれほど正確に区別されません。 これは、VB.NETのケースがコードで何ができるかを何らかの形で制限している場合に、C#への移行を検討するのに十分魅力的ですか?

4
Excelでミリ秒を表示する
Excelマクロでミリ秒を表示しようとしています。ミリ秒単位のタイムスタンプである整数の列があり(28095200は7:48:15.200 amなど)、その横に新しい列を作成して、移動平均を維持し、hh:mm:ss.000形式で時間を表示します。 Dim Cel As Range Set Cel = Range("B1") temp = Application.Average(Range("A1:A2")) / 1000 ms = Round(temp - Int(temp), 2) * 1000 Cel.Value = Strings.Format((temp / 60 / 60 / 24), "hh:mm:ss") _ & "." & Strings.Format(ms, "#000") これは、セルに「mm:ss.0」のみを表示します。しかし、セルをクリックすると、数式バーに「hh:mm:ss」と表示されます。なぜ時間がないのですか?時間、分、秒、ミリ秒を表示するにはどうすればよいですか?
122 excel  vba  time 


4
Excelで範囲の各行をループする
これは組み込み関数があると確信しているものの1つです(そして、私は以前にそれを言われたことがあるかもしれません)が、それを覚えるために頭を悩ませています。 Excel VBAを使用して複数列の範囲の各行をループするにはどうすればよいですか?私が調べてきたすべてのチュートリアルは、1次元の範囲での作業についてのみ言及しているようです...
116 excel  vba  loops  excel-2003 

5
VBAを使用してtxtファイルを作成して書き込む方法
入力に基づいて手動で追加または変更されたファイルがあります。そのファイルの内容のほとんどは反復的であるため、16進数の値のみが変化しているので、ツールで生成したファイルにしたいと考えています。 その.txtファイルに印刷されるcコードを書きたいのですが。 VBAを使用して.txtファイルを作成するコマンドとは何ですか?
116 vba  text-files 


22
シートが存在するかどうかをテストまたは確認する
Dim wkbkdestination As Workbook Dim destsheet As Worksheet For Each ThisWorkSheet In wkbkorigin.Worksheets 'this throws subscript out of range if there is not a sheet in the destination 'workbook that has the same name as the current sheet in the origin workbook. Set destsheet = wkbkdestination.Worksheets(ThisWorkSheet.Name) Next 基本的に、元のワークブックのすべてのシートをループしてから設定します destsheet現在反復されているシートと同じ名前のシートを、ターゲットのワークブックにします。 そのシートが存在するかどうかをどのようにテストできますか?何かのようなもの: …
115 excel  vba  scripting 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.