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

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

1
PowerPoint VBA-編集モードでスライドが変更されたときにマクロを実行する
スライドがプレゼンテーションモードで変更されたときにコードを実行するために次のことができることを知っています- Sub OnSlideShowPageChange() Dim i As Integer i = ActivePresentation.SlideShowWindow.View.CurrentShowPosition If i <> 1 Then Exit Sub 'Code that should happen when slide changes goes here End Sub スライドショーの外でスライドが変更されたときにこれを行うことができるかどうか、つまりプレゼンテーションが編集モードになっているので、別のスライドをクリックするとコードが実行されるかどうかを知りたいです。これは可能ですか? 前もって感謝します!

1
Mac Excel VBAのワークブックへのコピー/貼り付けワークブック
構文エラーまたは行方不明 ')'エラーが発生し続ける。あるブックから別のブックにコピーしたいだけです。この式( "A27:DE10000")で範囲を指定できますか?または、式などのタイプを暗くする必要がありますか? Sub CopyData() Workbooks(“COPYFROM.xlsx”).Worksheets(“ANALYSIS”).Range(“A27:DE10000”).Copy Workbooks(“COPYTO.xlsx”).Worksheets(“ANALYSIS”).Range(“A27:DE10000”) End Sub

1
Excel vbaを使用してトレンドラインの増加を表示
c5:c12(sales1)にデータがあり、このデータのグラフとトレンドラインをプロットしました。d5:d12(sales2)にもデータがあります。2番目のデータ範囲を使用して(コマンドボタンを押すことにより)、既存のトレンドラインにグラフィカルに増加を表示したいと思います。 Excelで(VBAを使用して)これを実現するにはどうすればよいですか?

1
PowerPoint 2010でアニメーションを動的に制御するにはどうすればよいですか?
PowerPointで遊んで、雑学ゲームを作成しています。ユーザーがメインスライドのタイルをクリックすると、質問のある別のスライドに進みます。ユーザーが[戻る]ボタンをクリックすると、メインスライドに戻る必要があります(十分にシンプル)が、以前クリックしたタイルは消えて、再びクリックできなくなります。タイルを非表示にすることは簡単ですが、タイトルスライドに戻ると、すべてのタイルが再表示されます。アニメーションの状態を保存して、画面に表示されないようにする方法がわかりません。これはVBAで行う必要があると思いますが、私のVBAの知識は少し限られています。どんなアドバイスも大歓迎です。

1
名前付き範囲を別のワークブックにコピーする
私は自分の名前付きセルをあるワークブックから別のワークブックにコピーするためのこのVBAコードを持っていますが、それは私にくれます Error 9: Subscript out of range。何かアイデアがありますか? Sub namexfr() wbs = "C:\Users\MousaviM\Desktop\Book1.xlsm" wbd = "C:\Users\MousaviM\Desktop\Book2.xlsm" For Each nam In Workbooks(wbs).Names Workbooks(wbd).Names.Add Name:=nam.Name, RefersToR1C1:=nam.RefersToR1C1 Next End Sub

1
Excel VBA:SpecialCellsのコレクションへのインデックス付け
SpecialCellsメソッドを範囲に適用してから、結果のコレクションの要素にインデックスを付けると、返されるのは元の範囲のすべての要素で、SpecialCells基準に基づく新しい範囲の要素ではないことに気付きました。 Sub test() Dim i As Range Selection.SpecialCells(xlCellTypeConstants).Select For Each i In Selection Debug.Print i Next End Sub たとえば、定数とそれに続く式、定数の順で上記のコードを実行し、イミディエイトウィンドウでSelectionの要素を確認すると、1、2、3(下の画像を参照してください。 ただし、Selectionを反復処理すると、期待どおりに値1と3が返されます(ここでも、下の画像を参照)。それぞれのケースで戻り値が異なる理由を誰かが知っていますか?

1
Excelのセル値が変わるたびにCSVファイルを更新する方法
1分に数回ファイルを更新するアプリケーションにリンクされているExcelファイルがあります。特定のセル(B22)の内容が変わるたびに、Excelの内容(5行×22行)をCSVファイルに保存します。更新するたびに既存のCSVファイルが上書きされるため、CSVは常にExcelファイルの最新の内容を表します。 私はVBAの初心者なので、これを行うためのマクロの書き方に関するガイダンスは大歓迎です。 ありがとう

1
私は、セル内の配列を複数の行に分割することで、vbaでコードを書きたいのです。
以下に示すように、単一のセルから複数の行にデータを分割しようとしています。 下記のコードを使用しています。 Sub TransposeRange() Dim rng As Range Dim InputRng As Range, OutRng As Range xTitleId = "Splitcell" Set InputRng = Application.Selection.Range("A1") Set InputRng = Application.InputBox("Range(single cell) :", xTitleId, InputRng.Address, Type:=8) Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8) Arr = VBA.Split(InputRng.Range("A1").Value, Chr(9)) OutRng.Resize(UBound(Arr) - LBound(Arr) + 1).Value …

1
VBA - 日付に従ってフォルダを作成して保存する
簡単なように思われることをいくつか実行する必要がありますが、実装方法を理解するのに苦労しています。 今日の日付を使用してフォルダを作成する必要があります。その部分は大丈夫です。それから私はテキストと今日の日付を使ってファイルを保存する必要があります(これもまた罰金です)。 私が得たのは、新しいファイルを新しいフォルダーに保存する必要があるということです。今日の日付でファイルを保存し、今日の日付でファイルを新しいフォルダに保存する方法を教えてください。 (ファイルパスが一定の場合は、これを実行しても構いませんが、パスの一部が日付によって変わる場合は、その方法がわかりません) これは私が試したものですが、うまくいきません。次のようなエラーが表示されます。1004:アプリケーション定義またはオブジェクト定義のエラーです。 Sub filesave() ActiveWorkbook.SaveAs ("S:\HR\TM\" & Format(Now(),"dd.mm.yyyy") & "\SOX recon " & Format(Now(), "dd.mm.yyyy") & ".xlsx") End Sub これはフォルダを作成するためのコードです(これは完璧に動作します): Sub FolderCreate() MkDir "S:\HR\TM\" & Format(Now(), "dd.mm.yyyy") End Sub セキュリティのためにファイルパス/ディレクトリは若干変更/簡略化されています。

2
重複セル値のマージ/削除
同じ値のセルを結合すると問題が発生します。 私は、列と行の量が異なるExcelファイルを受け取っているので、大量の行または列にマクロを設定することはできません。 私が持っているのはこのようなものです 最初の行はもちろんそれらの中にフィルタがあるヘッダ行です。 私が欲しいのはこのようなものであるべきです だから私はまだすべての列で物事を並べ替えることができます(だからクールなバイクはまだ私に4行を表示します) それを行うことができて、シートのサイズ(時々数千行)から応答しないで、そしてすべてのシートのために手動で変更してセットアップする必要がないでしょうマクロまたはスクリプトがありますか? ご協力ありがとうございます。

0
2つの異なるワークブックからの値を使用して経過時間を計算する
これが私がやろうとしていることです: 4つの異なるタブと異なるマッドラインデータを含むワークシートがあります(列(日付、時刻、マッドライン、流体レベル)を含む) 現在のワークブックに、 "Time"、 "Elapsed Days"、 "Mudline Height"、および "Fluid Level"の4つの列を持つ新しいワークシートを作成します。 "経過日数"列を除くすべての列に簡単に入力できます。基本的に私はそれになりたい 経過日数=(セルの左側の列で計算された日付と時刻) - 「ガイド」シートのセルB5に入力された日付と時刻。 これが私のコードです。 Sub MudlineData() sNamer = "Mudline" Dim dateArr(8) As Double CreateSheetIf (sNamer) Sheets(sNamer).Cells.ClearContents Dim currentSheet As Range Set currentSheet = Sheets(sNamer).Cells(1, 1) 'Where the current data is going to be pasted currentSheet.Offset(0, 0) = "Time" currentSheet.Offset(0, …

1
ワンクリックで、ブックの多数のExcelシートに割り当てられたマクロを実行する
私は8つのワークシートを含む1つのワークブックを持っています。 各ワークシートに割り当てられたマクロがあります。 1回のクリックで1つのワークシートから8つすべてのマクロを実行したい(1つのボタンをクリックして8つすべてのマクロを実行する)。 どうすればこれを実行できますか?

2
Excelでコントロールボックスを隠す
Excel(2011 Mac)にはラジオボタンがいくつかあり、それらはグループボックスによってグループ化されています。 グループボックスを見えなくしたい。インターネットで検索したところ、次のように入力してVBAでそれが可能であることがわかりました。 ActiveSheet.GroupBoxes.Visible = False 該当するワークシートに対応するVBAウィンドウで。私はそうしましたが、違いはないようです。変更を有効にするために他に何かする必要がありますか?


1
類似した内容に基づいて複数のExcel行を結合してからVBAの列を増やす
ワークシートのすべての行をチェックして、次に同じ2つの行を結合し、それが完了したら "QTY"列を増やすVBAルーチンを設定しようとしています。 以下は私が達成しようとしていることの前後の例です。 前: 後: スーパーユーザーやインターネット上のさまざまな場所で見いだしたいくつかの解決策を適用しようとしましたが、残念ながらこれに直接当てはまるものはなく、ExcelのVBAに関する理解が限られているため、この問題を回避できません。

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