タグ付けされた質問 「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
Microsoft Excel ActiveXコントロールが無効になっていますか?
ActiveXチェックボックスを使用して特定のアクティビティを制御するいくつかのExcelワークシートがあります。彼らは最近働いたが、今日はエラーを出し始めた。同僚から警告を受けましたが、それでも私のコンピューターで動作していました。私は彼のバージョンのExcelを自分のものと比較してみたところ、彼の方が新しい。新しいWindowsアップデートがあることに気付いたので、アップデートを行いました。保留中の更新を適用した後、自分のコンピューターでは機能しなくなりました。ActiveXチェックボックスをオンにできなくなりました。デバッグを試みる一環として、ActiveXコントロールをワークシートに追加することも、新しいワークシートに追加することもできないようです。「オブジェクトを挿入できません」というエラーダイアログが表示されます。(ActiveXだけでなく、フォームコントロールを追加することもできます。)最近の更新後にこれを経験している人はいますか?助言がありますか? おかげで、 マイク
113 excel  vba  activex 


7
リンク更新の警告を抑制する方法は?
多くのExcelファイルを開くスクリプトを記述しようとしています。私はプロンプトを受け取り続けます: This workbook contains links to other data sources. このメッセージが表示されないようにしたいので、自分のスクリプトがすべてのブックを自動的に実行できるようになりましたDon't Update。現在、私は以下を使用しています: function getWorkbook(bkPath as string) as workbook Application.EnableEvents=False Application.DisplayAlerts=False getWorkbook=Workbooks.Open(bkPath,updatelinks:=0,readonly:=false) end function ただし、メッセージはまだ表示されています。どうすれば抑制できますか? 編集:このメッセージは、リンクが壊れているワークブックに対して表示されるようです。falseにThis workbook contains one or more links that cannot be updated設定DisplayAlertsしたため、メッセージは表示されませんでした。ワークブックは、Windowsサーバー上のフォルダー内の同等のファイルにリンクされているため、一致するファイルがそのフォルダーから削除されると(ビジネスフローの一部として発生します)、リンクが壊れます。リンク切れ時の警告を抑制できますか? また、Excel 2010を使用しています。
109 excel  vba 

3
While…Wendループから抜け出す
VBAのWhile ... Wendループを使用しています。 Dim count as Integer While True count=count+1 If count = 10 Then ''What should be the statement to break the While...Wend loop? ''Break or Exit While not working EndIf Wend 「While count <= 10 ... Wend」のような条件を使用したくない
107 excel  vba  while-loop 

15
特定の時間だけ一時停止するには?(Excel / VBA)
次のマクロを含むExcelワークシートがあります。私は毎秒ループしたいのですが、それを行う関数を見つけることができればダンジします。できませんか? Sub Macro1() ' ' Macro1 Macro ' Do Calculate 'Here I want to wait for one second Loop End Sub
103 excel  vba 

6
VBA-forループの反復を条件付きでスキップする方法
配列にforループがあります。私がやりたいのは、ループ内の特定の条件をテストし、trueの場合は次の反復にスキップすることです。 For i = LBound(Schedule, 1) To UBound(Schedule, 1) If (Schedule(i, 1) < ReferenceDate) Then PrevCouponIndex = i Continue '*** THIS LINE DOESN'T COMPILE, nor does "Next" End If DF = Application.Run("SomeFunction"....) PV = PV + (DF * Coupon / CouponFrequency) Next 私ができることはわかっています: If (Schedule(i, 1) < ReferenceDate) Then Continue …
101 vba  conditional  loops 

7
VBAを使用してカスタムリボンタブを追加する方法
いくつかのボタンを持つExcelリボンにカスタムタブを追加する方法を探しています。私はいくつかのリソースでGoogleを介してそれを処理することを偶然見つけましたが、すべてが危険で非常に複雑に見えます。 それを行うための迅速で簡単な方法は何ですか?VBAがExcelに読み込まれたときに新しいタブが読み込まれるようにしたい。 更新:私はここからこの例を試しましたが、最後の命令で「オブジェクトが必要です」というエラーが表示されます: Public Sub AddHighlightRibbon() Dim ribbonXml As String ribbonXml = "<mso:customUI xmlns:mso=""http://schemas.microsoft.com/office/2009/07/customui"">" ribbonXml = ribbonXml + " <mso:ribbon>" ribbonXml = ribbonXml + " <mso:qat/>" ribbonXml = ribbonXml + " <mso:tabs>" ribbonXml = ribbonXml + " <mso:tab id=""highlightTab"" label=""Highlight"" insertBeforeQ=""mso:TabFormat"">" ribbonXml = ribbonXml + " <mso:group id=""testGroup"" label=""Test"" autoScale=""true"">" …



4
Excel VBAの「!=」に相当するものは何ですか?
問題は!=、Excel VBAで関数として機能しないことです。 使えるようになりたい If strTest != "" Then の代わりに If strTest = "" Then これを行う別のアプローチはあり!=ますか? 私が模倣する機能!=は Sub test() Dim intTest As Integer Dim strTest As String intTest = 5 strTest = CStr(intTest) ' convert Range("A" + strTest) = "5" For i = 1 To 10 Cells(i, 1) = i If …

5
セルの変更時にExcelマクロを自動的に実行する
特定のセルの値が変更されるたびにExcelマクロを自動的に実行するにはどうすればよいですか? 現在、私の作業コードは: Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("H5")) Is Nothing Then Macro End Sub ここで"H5"特定のセルを監視しているMacroマクロの名前です。 もっと良い方法はありますか?
91 excel  vba  automation 


4
プログラムで参照を追加する方法
終了したときにSkypeを実行して情報をメッセージで送信するプログラムを作成しました。Skype4COM.dllSkype経由でメッセージを送信するには、の参照を追加する必要があります。ネットワーク上に12台ほどのコンピューターがあり、共有ファイルサーバー(とりわけ)があります。他のすべてのコンピューターは、このプログラムを実行できる必要があります。手作業でリファレンスを設定することは避けたいと思っていました。参照を共有の場所に置き、プログラムの実行時にプログラムで追加することを計画していました。 VBAを使用してプログラムでExcel2007に参照を追加する方法がわからないようです。私はそれを手動で行う方法を知っています:開くVBE --> Tools --> References --> browse --_> File Location and Name。しかし、それは私の目的にはあまり役に立ちません。Access Vb.netでそれを行う方法があり、これに似たコードがポップアップし続けることは知っていますが、それを理解しているかどうか、または関連性があるかどうかはわかりません。 ThisWorkbook.VBProject.References.AddFromGuid _ GUID:="{0002E157-0000-0000-C000-000000000046}", _ Major:=5, Minor:=3 これまでのところ、提示されたソリューションでは、プログラムで参照を追加するために、手動で参照を追加し、トラストセンターを変更する必要があります。これは単に参照を追加するだけではありません。提案された解決策を実行すれば、将来の参照をプログラムで追加できるようになると思います。それはおそらく努力する価値があります。 それ以上の考えは素晴らしいでしょう。
89 excel  vba  reference 


8
ExcelでISO8601の日付/時刻(TimeZoneを含む)を解析する
Excel / VBAに(外部ソースからの)タイムゾーンが含まれているISO8601日付/時刻形式を通常のExcel日付に解析する必要があります。私の知る限り、Excel XP(私たちが使用しているもの)にはその組み込みのルーチンがないので、解析用のカスタムVBA関数を検討していると思います。 ISO8601の日時は次のいずれかのようになります。 2011-01-01 2011-01-01T12:00:00Z 2011-01-01T12:00:00+05:00 2011-01-01T12:00:00-05:00 2011-01-01T12:00:00.05381+05:00

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