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

アプリケーション用のVisual Basic; すべてのMicrosoft Officeアプリケーションで使用されるVisual Basicのサブセット。問題の特定のアプリケーションのタグと一緒にこのタグを使用することを検討してください。VBAに関する良い質問には、通常、いくつかのコードが含まれており、特定の問題の解決策を求めています。ソリューション全体を求める質問(コードを教えてください/ VBAでこれを行う方法とこれを行う方法)はトピックから外れており、あまりに広範に締め切られます。

0
Access VBAでエラーを検出する方法
私はAccess VBAでエラーを記録する方法を私に示したチュートリアルを見つけました、そして、それは大部分はうまくいきます...しかし、私のエラーテーブルをチェックするときエラー番号が記録されないそして説明がないおよそ40のエントリがあります。エラーがユーザーに表示されないようにしたいのですが、エラーが発生したら、ユーザー名、コンピュータ名、エラー番号、および説明を電子メールで送信して、必要に応じて更新できるようにします。しかし、説明やエラー番号がなくても、あまりできません。 これは私が持っている手順です、私は不足しているエラーをキャプチャすることができるようにするために追加/変更/編集/更新が必要ですか? Public Sub Error() On Error GoTo errorerrorhandler strDescription = Chr(34) & Err.Description & Chr(34) strSQL = "INSERT INTO tblErrorLog (ErrDate, CompName, UsrName, ErrNumber, ErrDescription, ErrModule)" _ & " VALUES(#" & Now() & "#, '" & Environ("computername") _ & "', '" & CurrentUser & "', " & Err.Number …

3
選択からカスタムリストを作成するためのExcel VBAマクロ
こんにちは私は誰もが私はカスタムリストに勝るために選択を追加するマクロを作成するのを助けることができるかどうか疑問に思いました。通常これを行うには、1つの列から一連の行を選択し、次にファイル、オプション、詳細設定、一番下までスクロールして[カスタムリストの編集]をクリックします。マクロ作成者がオンにした状態でこれを実行すると、選択した特定のセルに関連する非常に単純なスクリプトが得られます。カスタムリストに追加するために現在選択しているものがすべて使用されるように、コードを微調整したいと思います。そのように私はいつもJ4-J9範囲に縛られていません。以下は私が受け取るコードです。 Sub Customlistadd() ' ' Customlistadd Macro ' ' Keyboard Shortcut: Ctrl+Shift+I ' Application.AddCustomList ListArray:=Range("J4:J8") End Sub それはj4:j8の代わりに現在の選択を追加するのと同じくらい簡単ですか?もしそうならどのように私は正確にそれを書くのですか?現在のセクションを保持するために最初に変数型を宣言する必要がありますか?これまでに見たほとんどすべての例では、現在行っている選択範囲を保持するために変数を使用する傾向があります。ありがとうございました。

0
Outlookマクロは1つのアカウントに対してのみ機能します
私はoutlookマクロを使ってすべてのドラフトを直接outboxに移動してきました。 Sub SendAllDrafts() ' Send the messages in the Drafts folder (ignore any subfolders) If MsgBox("Are you sure you want to send ALL the items in your default Drafts folder?", _ vbQuestion + vbYesNo) <> vbYes Then Exit Sub Dim fldDraft As MAPIFolder, msg As Outlook.MailItem, intCount As Integer Set …

1
MySQLデータベースをMs Accessに直接接続する
接続しようとしています mySql 私たちのサーバー上のデータベースは直接 msAccess データベースがあります。からデータをダウンロードできるようにしたい mysql database 直接アップロードしてください。私はこれらのことが間に起こることを望みます tables。 例えば、私はAccessでtableAというテーブルを持っています、そしてMysqlではそれはTableAMと呼ばれています。 tableAmとtableAmの間でデータをやり取りできるようにしたいのですが、それらは両方とも対応するテーブルです。 これについてはどうすればいいですか。使ってます MysQl 5.4 そして MsAccess 2003。任意のアイデアが高く評価されます。

1
VBAを使用してPowerpointの特定の名前付きTextBoxを削除する
スライドが105枚あるPowerPointプレゼンテーションがあります。各スライドには、TextBox4という名前のテキストボックスがあります。これらすべてのテキストボックスを削除したいのですが。 私はGoogle検索でいくつかのVBAコードを試しました。しかし、それはうまくいきません。 誰もがこれに関してVBAで私を助けてもらえますか。

1
行変数を使用して複数列にわたってExcelでinterior.colorを変更する方法
"RowNum"に割り当てられている行を強調表示しようとしています私は列AからOを強調表示したいと思います。 sh1.Cells(RowNum, 15).Interior.Color = RGB(127, 187, 199) sh1.Range("A" & RowNum : "O" & RowNum).interior.color = rgb (127,187,199) 以前は、これを使用して設定範囲または個々のセルを強調表示していました。 sh1.Range("W1:X1").Interior.Color = RGB(252, 213, 180) 私は過去にこれを行ったことを知っています、それとも私は脳震盪に苦しんでいます。

0
Accessでの日付の書式設定
私は一見非常に単純な問題で当惑しています。Accessには約700万行あり、日付列は数値としてフォーマットされています。日付が数字としてフォーマットされている場合、Excelが使用する5桁の数字です。日付としてそれらを再フォーマットする方法 たとえば、アクセス中: (Excelで)のようになります。 私はAccess to no availで組み込みの日付と時刻関数を使ってみました。使用している行数が多いため、データベースをExcelに移動して再フォーマットした後で、自分の生活を続けることはできません。 他の人がこれを参照して何かを学ぶとは思わない限り、私はこれを投稿しません。

2
VBAを使用してExcelセル内の文字列の単語数を特定する
「今日は14ドル、昨日は13ドル」というテキストのセルがあります。 ExcelでVBAを使用して、これを「今日11.33ユーロ、昨日10.52ユーロ」に変換するにはどうすればよいですか? アイデア:テキスト内のスペースの場所に基づいて、VBAは次のことができます。 a) identify the word order of each word within the cell [ex. '14' is word 3, 'dollars' is word 4] b) identify whether the following word was 'dollars' and c) if so, multiply the previous word times the conversion factor of .81. ただし、これをコードに組み込む方法に固執しています。助けて、スーパーユーザー!

2
VBA FORMAT関数の問題を解決するにはどうすればよいですか?
FORMAT関数を使用しているのはExcel 2103 VBAですが、期待どおりの結果が得られません。 私のコードの行は次のとおりです。 strMonthNo = Format(Month(DateAdd("m", -1, Date)), "mm") Date2016年11月29日はどこにあるのでしょうかstrMonthNo = 10、そうではありません。01です! FORMATがなければ、値は正しいです。 どうすれば解決できますか?

1
新しい行を挿入し、数式で自動入力します
特定の条件が満たされた場合、新しい行を挿入しようとしています。数式を最後の行から挿入した行にドラッグしたいのですが、そうするとエラーが発生します。以下は私のコードです: For i = 1 To diff MsgBox ("Difference is " & diff) With Sheet5.Rows(ModelLastRow.Row + 1) .Insert Shift:=xlDown End With insertRowRange = "C" & CStr((ModelLastRow.Row)) pasteRowRange = "C" & CStr((ModelLastRow.Row + 1)) Range("insertRowRange").AutoFill Destination:=Range("pasteRowRange") Next

0
Excel VBAマクロが消えました
開始方法:コードウィンドウとスプレッドシートを同時に表示したかった。XL VBEditorでは、これを実現するために、画面上でドラッグされたコードウィンドウ、プロジェクトウィンドウ、およびプロパティを使用します。[コードの表示]、[フォルダーの表示/非表示]などのトグルボタンをいくつか押して、それらの機能を確認しました。 何が発生したか:すべてのモジュールがプロジェクトウィンドウに表示されたままであることに注意してください。ただし、いずれかのモジュール名をクリックすると、モジュールにマクロルーチンがありませんでした。ほとんどの場合、いくつかのコメントとコード「Option Explicit」はまだ表示されていましたが、すべてのmacros = subroutinesはなくなりました。 さらにわかりにくい:コード行「Option Explicit」を削除すると、その特定のモジュールのマクロが再び表示される場合があります。 最も紛らわしい:1つのマクロ#1を示すモジュールを見つけた場合、そのモジュールに別のマクロ(#2)を書き込もうとすることができます。Sub NewMacroName()、...、およびEnd Subという形式のマクロ#2を完了すると、2番目のマクロ#2は存在しますが、最初のマクロ#1は消えます!Sub#2を削除し、Sub#1が再び表示されます 結論はとても遠い:マクロは明らかに隠されており、実際には消えていません。 オブジェクトブラウザを開くと、グローバルクラスのリストが表示されます(各クラスはコーディングモジュールです)。 1つのグローバルクラスをクリックすると、クラスメンバーのリストが表示されます(それぞれがサブルーチン/マクロです)。 この構成で作業することは不可能ではないと思っていましたが、非常に不便です。元の構成に戻ることは、幸いです。実際には、マクロルーチンは個人のブックを見ることができないか、特定の個人のマクロルーチンを見ることができません。 これについてマイクロソフトと話そうとしましたが、30分後にサービスマンが戻ってきて、今日誰も答えていないと言い、別の日にもう一度やり直してください。ある日、私はMSFTに戻りました。MSFTは、499ドルで問題を議論することさえ望んでいます。痛い! セットアップ:最新のWindows 10、6か月以内のHPラップトップ、Office 2019のExcel、ただしExcel 2010から作成された多くのマクロ/モジュール。ウィンドウペインの移動を開始するまではすべて順調でした。 有益な洞察を事前に感謝します。 補遺:2019年3月18日:私がプロジェクトに取り組んでいる間、上記の問題を修正することをあきらめました。家に帰ってからExcel 2019を再インストールすると問題が解決することを願っています。そのような運はありません。解決策を探すために、インターネットのステムを厳しく検索する必要があることを解決しました。 インターネット上の1つのアイデアに導かれた:Excel:開発者:VBEditor:[ツール]タブ:マクロ:リストされたすべてのマクロ 1つのマクロを任意に選択し、[編集]ボタンを押すことにしました。ビオラ!すべてのマクロは、すべてのワークブックのすべてのモジュールで表示されるようになりました。個人用コードにない非常に小さなコードを1時間もかからずに交換した後、私は正常にバックアップして実行していました。 Excelを明確にクリック:開発者:VBEditor:[ツール]タブ:マクロ:1つのマクロを編集何か修正しました! このWebサイトの少なくとも1人の専門家が問題が何であるかを認識し、私を手がかりにすると思う-だから私は二度とそれをしない! 繰り返しになりますが、建設的な返信を事前に感謝します!

1
列Bをコンマ区切りリスト、「ORDER BY」列Aに変換します
VBをExcelで開始しようとすると、それがどのように機能するかを理解する必要があります、このタスクはSQLで実行できますが、Excel A列でパー番号が含まれ、B列モデルが列Aで必要な一意の部品番号で簡単に実行できる方法を本当に知りたいですrecord、および列bには、この部分が適合するモデルのコマ区切りリスト。 Column A Column B B00002455 C50EKB B00002455 C50EKS B00002455 C50EKW B00002456 C50EKX B00002456 C50ELB 結果を探しています- ColumA ColumnB B00002455 C50EKB, C50EKS, C50EKW B00002456 C50EKX,C50ELB

1
VBA-行を非表示にするためのコード
セルの値がアクティブの場合、行が残るスプレッドシートを作成しようとしています。セルの値が非アクティブの場合、行は非表示になります。何かアドバイス? Excel 2016があります。

1
MSプロジェクトマクロVBA
Excelから値を読み取るMS Projectでマクロを作成します。マクロは、Excelワークシート列内の特定の文字列の出現をカウントする必要があります。私は次のコードを使用します: Set objXL = CreateObject("Excel.Application") Set objWB = objXL.Workbooks.Open("D:\VBA\Design\" + FileName + ".xls") Set ObjWS = objWB.Worksheets(1) ObjWS.Activate Dim lastRow As Integer lastRow = ObjWS.Range("A" & ObjWS.Rows.Count).End(xlUp).row Dim iVal As Double iVal = WorksheetFunction.CountIf(ObjWS.Range("A1:A" & lastRow), "Resource:" & "*") 問題:初めてコードを実行すると、 実行時エラー13型の不一致 どこiValで宣言されています。ただし、実行を停止して再度開始すると、このエラーは表示されません。 試した解決策:戻り値の型の値をInteger、Longなどに変更します。しかし、それでもエラーは続きます。 誰かが問題を追跡して解決策を見つけるのを手伝ってもらえますか?


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