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

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

4
Excelの列に0から1への遷移を記録するにはどうすればよいですか?
私はExcelの単一の列にダウン状態(0)からアップ状態(1)への遷移の数を記録する必要があり、Excelでこのようなロジックが利用できるのか、この種のプログラムができるのか疑問に思っていますVBAのロジックの。しかし、私はVBAにあまり精通していないので、リンクが利用可能であれば、それは素晴らしいことです。

1
エクセル:2段階カラースケール
同じセルで2段階のカラースケールに対して条件付き書式を設定することは可能ですか? たとえば、色が次のようにセルを条件付きで書式設定します。 0から10までの値の緑から青のグレースケール そして 10から20の値の場合は、赤から黄色のグレースケール色。 2つの別々の2色スケールルールを入力した場合、各ルールはすべての可能な値に適用されるので機能しません(グレーディングの開始点と終了点のみを指定できます。開始色と終了色はすべての値に適用されます)これらの範囲外) 開始色と終了色を希望 ではない グレーディング範囲外に適用して、後続のルールでグレーディングできるようにします。 これは可能ですか?

2
セルを手動で変更しない限り、Excelのワークシート変更イベントは発生しません
私は次のコードを使用しています。ただし、このイベントを発生させるセルへの変更は、セル内のエントリではなく数式を使用して行われます。エントリを入力すると、すべてが機能します。しかし、別のワークシートからデータを取得するために数式を使用する場合、そうではありません。たとえば、ADのセルにはなどの数式があり=HR!P27ます。 私は何が欠けていますか? コード: Private Sub Worksheet_Change(ByVal Target As Range) 'Update 20140722 Dim WorkRng As Range Dim Rng As Range Dim xOffsetColumn As Integer Set WorkRng = Intersect(Application.ActiveSheet.Range("AD:AD"), Target) xOffsetColumn = -1 If Not WorkRng Is Nothing Then Application.EnableEvents = False For Each Rng In WorkRng If Not VBA.IsEmpty(Rng.Value) Then Rng.Offset(0, …

0
同じWord文書の異なるセクションに異なるスタイルを設定する
レポート用の文書「テンプレート」(まだテンプレートファイルタイプではありません。以下に説明するように作成したいと思います)。レポートはさまざまなセクションに分かれています。 Letter to the Client Table of Contents Section I Title Page Body 1.0 2.0 Section II Title Page Body 1.0 2.0 Appendix A Title Page Body Appendix B Title Page Body それぞれの主要な「メタセクション」(レター、セクションIおよびII、付録)には、異なるフォーマット要件があります。膨大な数のスタイルを使用しないようにする(例: Normal - Letter、 Normal - Sections、 Normal - Appendices または、同じスタイル名をその文書のどのセクションにあるかによって異なるようにすることができればいいでしょう。または別の言い方をすれば、文書にはそのセクションに応じて複数のスタイルセットが必要です。 私が何をしているかの例: Letter 私が欲しいセクション Normal 10 pt Times …

1
Excel VBAが必要だったので、答えを見つけるためにGoogleは何をしますか?
私は、Excelで自分の問題を解決することのほとんどのマスターです。主に皆さんのような人々に感謝しています。私たちの会社は新しいバケーションレンタルソフトウェアに移行しており、今まで経験したことのない何かに出くわしました。この問題をグーグルで検索して自分の答えを見つける方法がわかりません。私が使用した検索のほとんどは、newbタイプの問題に関するMicrosoft Excel情報につながります。そのため、ソフトウェアの移行中にレートを同期するたびに、これを手動で行うことにこだわっています。 ~~~~~~~~~~~~~ Fun Side Note:AutoHotkeyを使用して新しいソフトウェアを編集し、1秒あたり4回の速度で18,000件の編集を行い、心を吹き飛ばしました... ~~~~~~~~~~~ 基本的に、グーグルが私にヒントを与えるのに十分なほど効率的に質問をする方法を知りません。写真なしでそれを人間に説明することさえできません。 「転置」は、人々がデータを転置する方法についてブログを書くのに十分な「高校」であるため、使用できません。私は転置する方法を知っています。さらに、このデータをこの形式に変換するために、すでにデータを転置しています。 ヘッダーテキストではなくデータを含むエクスポートの一番上の行をループ/しばらくしてから、その下のレンタルレートを取得して1つの巨大なリストに移動する必要があります。 これをグーグルで検索するにはどうすればよいですか? 元データ: 望ましい結果:

2
Wordマクロ:2列テーブルに基づいて、テキスト内の文字列を置換する方法
したがって、Word文書で検索および置換したい一連の文字列があります。 私の文字列は2列のテーブルとして表示されます。たぶん、Wordでテーブルを作成し、それを手動でTXT、CSV、または何でも動作するように変換します...その部分を自動化する必要はありません。テーブルは大体次のようになります。 English word French word dog chien cat chat London Londres あなたはアイデアを得る... 最初の列に含まれる用語を検索し、それらを2番目の列の内容に置き換えるマクロが必要です。 手伝ってくれますか?ありがとうございました!

2
シートを特定の順序で並べ替えてからアルファベット順に並べ替えるにはどうすればよいですか?
特定の順序でシートを並べ替える必要があります。残っている場合は、アルファベット順に並べます。それらをアルファベット順に並べ替えるマクロを以下に示します。 「METALS」、「SVOC」、「GENCHEM」などのシートがある場合は、それらを常にアルファベット順にする必要があります。アルファベット順。 このコードを試しましたが、うまくいきませんでした Sheets("GENCHEM").Move Before:=Sheets(1) Sheets("METALS").Move Before:=Sheets(2) Sheets("PCBS").Move Before:=Sheets(3) Sheets("OC_PEST").Move Before:=Sheets(4) Sheets("SVOC").Move Before:=Sheets(5) Sheets("VOC").Move Before:=Sheets(6) '-------以下の作業マクロ---- Option Explicit Sub reordersheets() '---Reorders the Sheets--- Dim N As Integer Dim M As Integer Dim FirstWSToSort As Integer Dim LastWSToSort As Integer Dim SortDescending As Boolean SortDescending = False If ActiveWindow.SelectedSheets.Count = 1 …

1
加重平均で使用するための部分値の計算
次の情報が記載されたスプレッドシートがあります。 列Aにはコースのリストが含まれています(コース1、コース2など)。 列Bには、各コースで利用可能なクレジット数が含まれています 列Cには、整数(72、63など)で表されるグレードが含まれます この情報は、最高から最低まで、グレード別にソートされます。 この情報を使用して、利用可能な合計クレジット数に基づいてコースを4つの等しいグループにグループ化し、各グループの加重平均を決定する必要があります。ただし、クレジットは常に均等に分割されるわけではなく、コースの一部が最初の加重平均にカウントされ、残りのコースが2番目の加重平均にカウントされる場合があります。たとえば、私は持っているかもしれません: Credits Grade Course 1 3 75 Course 2 2 75 Course 3 3 72 Course 4 3 72 Course 5 3 72 Course 6 4 70 Course 7 4 67 Course 8 3 67 Course 9 4 63 Total credits: 29 1/4 of total …

1
パスワードを忘れた場合、マクロ有効ブックのVBAマクロの保護を解除するにはどうすればよいですか。
VBAマクロパスワードをクラックするのがどれほど簡単かについての神話は聞いたことがありますが、自分でそれを行う方法を見つけることはできませんでした。 VBAがパスワードで保護されていて、開発者がパスワードを忘れてしまったという、Excelファイルがあります。どうやって入るの?

1
Excelでグラフを編集できないようにする
ExcelでVBAで書かれたツールがありますが、グラフデータ系列を変更するユーザーに問題があります。 彼らがファイルのコピーを開いたときに、グラフコントロールへのアクセスを拒否するということはありますか。たとえば、データ系列、グラフタイプなどを編集できないようにします。 ありがとう

2
二次軸の原点を一次軸に合わせる
主軸と正確に一致するように副軸を調整することに興味があります。 より明確にするために、両方の原点が同じ場所の0に並んでいて、それぞれの相対的な縮尺が保たれている必要があります。 これをVBAソリューションにするか、手作業を最小限に抑えることをお勧めします。

1
Outlookでプレーンテキストをハイパーリンクに変換する[複製]
この質問にはすでに答えがあります: Outlook 2010で受信メッセージの本文のテキストをハイパーリンクに置き換える方法 1つの答え 私たちが使用するいくつかの監視ツールに関して、会社のPOCをまとめています。私のプロジェクトの一環として、私に送信されたプレーンテキストの電子メールの一部をハイパーリンクに変換する必要があります(ツール自体からHTML形式の電子メールを送信することはできません)。 私はほとんどVBの経験がありませんが、これは私が他のさまざまな投稿を読んでつなぎ合わせたものです。私はそれがまったく機能していないことを理解していますが、私が達成しようとしていることをよりよく理解し、フィードバックを与える他の人にとってはベースラインのようなものだと思いました。基本的には、メールで文字列を検索し、URLと同じ文字列を指すより簡潔なハイパーリンクに変換しようとしています。 ポインタがあれば、私が持っているものをきれいにするのに助けが必要です。 Option Explicit Sub InsertHyperLink(MyMail As MailItem) Dim body As String, re As Object, match As Variant body = MyMail.body Set re = CreateObject("vbscript.regexp") re.Pattern = "^https\..*Operation>$" For Each match In re.Execute(body) body = Replace(body, match.Value, "<a href=""" & Right(match.Value) & """>Open Link</a>", 1, …

2
Excelの座標を使用して四角形をプロットする
Excelチャートを使用して、左下と右上の2つの座標のみを使用して四角形をプロットしたい。Microsoft Office 365 ProプラスExcelバージョンの使用を定義する方法はありますか。 例えば: Element_name X_low Y_low X_high Y_high CM124_BK124 4 4 16 64 CM124_BK8 4 4 16 64 これは、treemapExcel Chartオプションから使用した私の試みです。あまり助けにはなりません。

4
Excel(2003)マクロでセルに連続番号を入力する
Excelの列を連続するシリーズ(この場合は-500から1000)で埋める必要があります。それを行うためのマクロがありますが、単一の関数であるように思われるものには多くの行が必要です[ FillRange(A2:A1502、-500、1000、1)]のようなもの。しかし、その機能が存在する場合、私はそれを見つけることができません。以下は、シンプルでエレガントなものですか? 'Draw X axis scale Cells(1, 1).Value = "mV" Cells(2, 1).Value = -500 Cells(3, 1).Value = -499 Cells(4, 1).Value = -498 Dim selection1 As Range, selection2 As Range Set selection1 = Sheet1.Range("A2:A4") Set selection2 = Sheet1.Range("A2:A1502") selection1.AutoFill Destination:=selection2

3
Excelフィルターの自動更新
Excel 2010を使用しています。 私は他の「自動更新」を見ましたが、私が見たものから、自動更新を「更新」するためにいくつかの情報を入力してほしいと思っていました。 私は2つの別々のスプレッドシートであり、フィルタリングされた見出しを持つテーブルがあり、生データを持つシートがあります。テーブルには3つの列がありますが、物理的にデータを入れません。他のスプレッドシートが更新されると、参照によって値が自動的にテーブルに配置されます。 たとえば、フィルターは「UK」に設定されていますが、このスプレッドシートを使用している人は機密保持の理由で作業スプレッドシートを見ることができないため、参照が必要な場合はすべての値が必要です。 フィルタリングを解除して再フィルタリングするよりも、私の人生を少し楽にしてくれるでしょう。

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