タグ付けされた質問 「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])も使用してください。

9
セル内とループの両方でMicrosoft Excelの正規表現(Regex)を使用する方法
Excelで正規表現を使用して、データ操作にExcelの強力なグリッドのような設定を利用するにはどうすればよいですか? 文字列内の一致したパターンまたは置換された値を返すセル内関数。 データの列をループし、隣接するセルへの一致を抽出するサブ。 どのような設定が必要ですか? 正規表現用のExcelの特殊文字は何ですか? 私は、正規表現は、多くの状況には適していません理解して(正規表現を使用するために使用するかどうか?)Excelが使用できるのでLeft、Mid、Right、Instr同様の操作のためのタイプのコマンドを。
592 regex  excel  vba 

15
Excel VBAでの選択の使用を回避する方法
私は.SelectExcel VBA で使用することの理解できる嫌悪について多くを聞きましたが、それを使用しないようにする方法がわかりません。Select関数の代わりに変数を使用できれば、コードがより再利用可能になることがわかりました。ただし、をActiveCell使用していない場合(など)の参照方法がわかりませんSelect。 私は範囲に関するこの記事と、selectを使用しないことの利点に関するこの例を見つけましたが、方法について何も見つかりませんか?
537 excel  vba 




4
VBA関数から結果を返す方法
関数から結果を返すにはどうすればよいですか? 例えば: Public Function test() As Integer return 1 End Function これはコンパイルエラーになります。 この関数で整数を返すにはどうすればよいですか?


6
VBAを使用してフォルダー内のファイルをループしますか?
を使用してディレクトリのファイルをループしたい VBA Excel 2010で。 ループでは、私は必要になります: ファイル名、および ファイルがフォーマットされた日付。 フォルダーに50個以下のファイルがある場合は正常に機能する次のコードをコーディングしました。このコードの唯一の問題は、検索する操作にfile.name非常に長い時間がかかることです。 機能するが、速度が遅すぎるコード(100ファイルあたり15秒): Sub LoopThroughFiles() Dim MyObj As Object, MySource As Object, file As Variant Set MySource = MyObj.GetFolder("c:\testfolder\") For Each file In MySource.Files If InStr(file.name, "test") > 0 Then MsgBox "found" Exit Sub End If Next file End Sub 問題が解決しました: 私の問題はDir、特定の方法(15000ファイルで20秒)を使用し、コマンドを使用してタイムスタンプをチェックする以下の解決策によって解決されましたFileDateTime。 20秒未満からの別の回答を考慮すると、1秒未満に短縮されます。
236 excel  vba 


9
Visual Basic 6.0とVBAの違い
2つの違いは何ですか。VBAはVBのいくらか「不自由な」バージョンだといつも思っていましたが、先日友人から質問があったとき、実際の違いは何なのかわかりませんでした。 また、たとえばExcelを使用する場合、そのVBまたはVBAですか?
208 vba  vb6 

3
Excel VBA-ループの終了
for内部の条件が満たされたときにループを終了したいと思います。条件が満たされたforときにループを終了するにはどうすればよいifですか?私は私のif声明の終わりにある種の出口を考えていますが、それがどのように機能するかわかりません。 Dim i As Long For i = 1 To 50 Range("B" & i).Select If Range("B" & i).Value = "Artikel" Then Dim temp As Long temp = i End If Next i Range("A1:Z" & temp - 1).EntireRow.Delete Shift:=xlToLeft
181 excel  vba  for-loop 

6
.text、.value、および.value2の違いは何ですか?
スクリプトについては助けを求めていませんが、説明のために質問します。最近、Excelで多くのVBスクリプトを作成しているので、この質問ではExcelについて言及しています。.text、.value、および.value2の違いは何ですか?いつtarget.text、target.value、target.value2を使用すればよいですか?value2オプションを使用したことはありませんが、それが何のために使用されているのかを知りたいのですが。 場合によっては、.textを使用するとエラーが発生し、セル内のテキストをチェックまたは操作するだけのときに.valueを使用する必要があります。次に、.valueを使用する必要があると思うとき、エラーが発生し、.textを使用する必要があります。通常は問題なく受け入れるか、または問題なく受け入れますが、場合によっては違いが生じることもあります。これにはいくつかの論理が必要なのはわかっていますが、理解できないようです。 また、.textや.valueを指定せずにそのままにしておくと、最初は機能しますが、最終的に誰かが何かを行うと、スクリプトでエラーが発生するため、常に.somethingを使用することをお勧めします。私は私が求めているのは、誰かが私に、それぞれを適切に使用する方法といつ使用する必要があるかについて、ある種のガイドライン、経験則を与えることができるかどうかだと思います。 説明してくれてありがとう。私はそれをよく理解している。どちらも良い説明です。以下は、機能する私のコードのいくつかの小さな例です。target.textにすべきだと思いましたが、エラーになるので、target.valueを使用するとうまくいきました。 If LCase(Target.Value) = LCase("HLO") And Target.Column = 15 Then Target.Value = "Higher Level Outage" End If valueまたはvalue2について考えるとき、特にあなたが提供した回答の後で、それらは数値にのみ使用されるべきだと思うので、私はまだ少し混乱しています。ただし、私の例では、厳密にテキストについて話しています。これは、スクリプトが参照するテキストの多くです(セル内のテキストであり、数値ではありません)。
180 excel  vba 

13
VBAを使用するExcelで最後に使用されたセルを見つける際のエラー
最後に使用したセルの値を見つけたいときは、次のようにします。 Dim LastRow As Long LastRow = Range("E4:E48").End(xlDown).Row Debug.Print LastRow 単一の要素をセルに入れると、間違った出力が出ます。しかし、セルに複数の値を入力すると、出力は正しくなります。この背後にある理由は何ですか?
179 excel  vba  excel-formula 



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