- ベストアンサー
UsedRange A1があれば、msgbox
http://www.moug.net/tech/exvba/0050092.html をみて、 Sub UsedRangeSamp1() ActiveSheet.UsedRange.Select End Sub と言うコードを使ってるのですが、 この中に、A1があれば、msgboxでOKを表示させるにはどうすればいいですか? ifステートメントを使うんだと思いますが、それ以上がわかりません。 ご回答よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- VBA UsedRangeで選択範囲を取得したい
セルに aaa bbb ccc と入力し、vbaで Sub Macro() MsgBox ActiveSheet.UsedRange End Sub を実行すると、 型が一致しません。(Error 13) と言うエラーになります。 "$A$1:$D$3"と言うような値を取得したいのですが、どのようなVBAにすればいいのでしょうか? ご回答よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- アクセス InputBox キャンセルした場合を取
InputBoxでキャンセルしたら、キャンセルされましたと表示させたいのですが どうも私のやってるサンプルはエクセル専用のようです。 http://www.moug.net/tech/exvba/0100036.html 自分なりに書き換えてみたのですが キャンセルボタンを押しても無視されます。 Sub Sample() Dim returnData As Variant returnData = InputBox("データを入力してください") If VarType(returnData) = vbBoolean Then MsgBox "キャンセルされました" Exit Sub End If MsgBox "処理を続行します" End Sub アクセスではできないのでしょうか?ご教授よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- MsgBoxの表示について
ユーザーフォームのチェックボックスの選択後(複数選択可)コマンドボタンのクリックで各チェックボックスのマクロを実行するようにしていますが、下記コードだとマクロの実行後もMsgBoxが表示されてしまいますが(当たり前ですが)、これをコマンドボタンのみをクリックした場合のみMsgBoxを表示させることは可能でしょうか?お教え下さい。 Windows7・SP1 Office2010・SP2 Private Sub CommandButton1_Click() Sheets("編集").Select If CheckBox9 Then Unload UserForm6 変更後編集データの保存 End If If CheckBox10 Then Unload UserForm6 変更前編集データの保存 End If If CheckBox11 Then Unload UserForm6 指定勤務有あり編集データの保存 End If If CheckBox12 Then Unload UserForm6 指定勤務有なし編集データの保存 End If If CheckBox2 Then Unload UserForm6 日付データの保存 End If If CheckBox3 Then Unload UserForm6 個人情報の保存 End If MsgBox ("保存する編集データを選択してください。"), vbExclamation End Sub
- ベストアンサー
- Visual Basic
- 「 このコード 」 のチェック を お願い致します。
下記コードは何とか動作しますが、チェックお願い致します。 1、 MsgBox "「 空白シート 」 は ありません。" の 追加編集が、よくわかりません。 2、 1以外に、おかしな箇所をご教示お願い致します。 --------------------------- '「 ブック1 」 に空白シートがあったら、そこへ貼り付ける Sub 空白シートへコピー() Dim ws As Worksheet For Each ws In Workbooks("ブック1.xls").Sheets If IsEmpty(ws.UsedRange) = True Then Workbooks("ブック2.xls").Activate Cells.Select Selection.Copy Workbooks("ブック1.xls").Activate ws.Select Range("A1").Select ActiveSheet.Paste Else MsgBox "「 空白シート 」 は ありません。" End If Next End Sub
- ベストアンサー
- オフィス系ソフト
- エクセルVBAでUsedRange内の可視セルを指定する方法
UsedRange内の可視セル限定で、ロックされていない場合、データをクリアしたいのです。 以下のようなコードを書いてみましたがSpecialCellsのところでコンパイルエラーになってしまいます。 どのように直せばよいのでしょうか? Sub シートクリア() Application.Calculation = xlCalculationManual Application.EnableEvents = False For Each c In Intersect(SpecialCells(xlCellTypeVisible), ActiveSheet.UsedRange) If c.Locked = False Then c.MergeArea.ClearContents End If Next Application.Calculation = xlCalculationAutomatic Application.EnableEvents = True End Sub
- ベストアンサー
- オフィス系ソフト
- msgboxの表示
A列の値とC列の値をMsgboxに表示するにはどうしたらいいのでしょうか?C列で一番高い商品とその品名A列を表示させたいのですが・・ Sub hinmei() Dim i As Long For i = 2 To Range("C65535").End(xlUp).Row Dim x As Long Dim a As Long x = Cells(i + 1, 5) If Cells(i, 5).Value < x Then a = x End If Next MsgBox a End Sub
- 締切済み
- Visual Basic
- 印刷後のVBAの実行 (2)
Private Sub Workbook_BeforePrint(Cancel As Boolean) If ActiveSheet.Name = "Sheet1" Then If Range("D6").Value = "" Then Cancel = True MsgBox ("名前を入力してください") Range("D6").Select Exit Sub End If Else If ActiveSheet.Name = "Sheet2" Then If Range("C11").Value = "" Then Cancel = True MsgBox ("受付時間を入力してください") Range("C11").Select Exit Sub End If Else Exit Sub End If End If ActiveSheet.Range("A70:Y70").Copy If Worksheets("Sheet3").Range("A1").Value = "" Then Worksheets("Sheet3").Range("A1").PasteSpecial Paste:=xlPasteValues Else Worksheets("Sheet3").Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial _ Paste:=xlPasteValues End If Application.CutCopyMode = False ActiveSheet.Range("A1").Select End Sub 先日、上記のコードを回答者の方から教えてもらい、とても助かっていますが sheet1のD5に「不要」という文字が入っていた場合、 sheet3への貼り付け(23~30行目の作業)をキャンセルして、最後にsheet1のA1を選択するようにはどの様にしたらいいでしょうか?
- 締切済み
- オフィス系ソフト
- EXCEL VBA これであっていますか?
エクセルに地図を貼り付け、その中のある地点Aから半径1キロ、2キロ、3キロといった具合に円を描いています。ある地点B、Cも同様に円があります。セルに“A” と入力した際に該当する地点の円(1キロ、2キロ、3キロの3種類)を赤く表示し、終了すると円が消える(線なしに変わる)ようにするために以下のようなVBAを組みました。が、円が2つしか赤くならなかったり、 ばあいによっては「インデックスが境界を超えています」とエラーが出たりします。 どうしたら良いか教えてください。 Sub iro() Dim i As Variant i = InputBox("表示する地点を指定してください", "地点指定") If i = "A" Then ActiveSheet.Shapes(1).Select ActiveSheet.Shapes(2).Select ActiveSheet.Shapes(3).Select Replace:=False hyoji MsgBox "表示を終了してよろしいですか", vbOKOnly ActiveSheet.Shapes(1).Select ActiveSheet.Shapes(2).Select ActiveSheet.Shapes(3).Select Replace:=False modosu ElseIf i = "B" Then ActiveSheet.Shapes(4).Select ActiveSheet.Shapes(5).Select ActiveSheet.Shapes(6).Select Replace:=False hyoji MsgBox "表示を終了してよろしいですか", vbOKOnly ActiveSheet.Shapes(4).Select ActiveSheet.Shapes(5).Select ActiveSheet.Shapes(6).Select Replace:=False Else MsgBox "指定した地点がありません", vbOKOnly End If End Sub Sub hyoji() Selection.ShapeRange.Line.Visible = msoTrue '「線なし」に設定されている場合、線を表示 Selection.ShapeRange.Line.ForeColor.SchemeColor = 10 Range("A1").Select End Sub Sub modosu() Selection.ShapeRange.Line.Visible = msoFalse '「線なし」に設定 Range("A1").Select End Sub
- ベストアンサー
- オフィス系ソフト
- MsgBoxへの和暦表示について
G2に=DATE(C1,G1,1)で日付を取得し和暦表示で「H25年03月」とセルの書式設定で しているのですが、これをMsgBoxに同じように表示させたいのですが、お教え願えま せんでしょうか。 Windows7 Office2010 Dim ret As Integer ret = MsgBox(ActiveSheet.Range("G2").Value & "の勤務割表を編集データを元に作成します。よろしいですか?", _ vbOKCancel + vbQuestion, "作成") Select Case ret Case vbOK 処理のコード文 Case vbOKCancel Exit Sub End Select
- ベストアンサー
- Visual Basic
- MsgBoxで処理したい
セル"A1"に入力した値が正しければ、セル"B5"に"○"が表示され、 正しくなければ、"×"が表示されるようにしてあります。 そこで、正しくない値が入力された場合のみ MsgBox が表示されて "はい"を選択したらそのまま"A2"に移動し、 "いいえ"を選択したら"A1"をクリアして"A1"に戻るように考えましたがうまくいきません。 下記の記述では全てクリアーされてしまいます。 どの様に記述したらよいでしょうかご教授ねがいます。 If Range("B5").Value = "×" Then MsgBox "処理を継続しますか?", vbYesNo Range("A2").Select Else Range("A1").ClearContents Range("A1").Select End If
- ベストアンサー
- オフィス系ソフト
お礼
ご回答ありがとうございます。