ja7awu の回答履歴

全721件中61~80件表示
  • エクセルのマクロ

    Sub test() x = Range("b1") z = Len(x)  For i = 1 To z   Range("a1").Offset(i - 1, 0).Value = Mid(x, i, 1)  Next i End Sub 上記は、"B1"に入力されているデータを、"A1"から下方向に一文字ずつ入力していくマクロです。 これに条件を付け加えたいのですが。 "今日(きょうは)雨[あめ]でした"のように、"( )"や"[ ]"内の文字はカッコも含めてフォントが赤(ColorIndex = 3)になるようにしたいのですが。 上の例だと、"(きょうは)"と"[あめ]"のフォントが赤になります。 おわかりの方がいましたら、お願いいたします。

    • naruue
    • 回答数4
  • [Excel2000]セルの入力規則→リストのセルから出るドロップダウンリストが小さ過ぎなのは?

    エクセル2000での質問です。 [ツールバー]→[データ]→[入力規則]→[リスト]のセルから出るドロップダウンリストが 小さ過ぎるのはなぜでしょう? 入力規則を設定したセルも、設定時の元の値のセルでも書式を変更してみたのですが、 ドロップダウンリストは大変小さく変更されません。 ドロップダウンリストの書式(フォントサイズ)を変更する方法をご存知の方が おられましたらどうぞご教授ください。 お願いいたします。

    • noname#22533
    • 回答数2
  • excelで漢字変換がおかしい

    VBAで作成した入力シートを使ってデータを入力しています。 そこで、何度も同じ日本語を変換しているのに、最初に出てきません。 ひどい時には誤変換や、誤った区切りで変換されてしまい、入力に時間がかかるので困っています。 変換した漢字がすぐに出てくる設定方法などがありましたら、ご教授下さい。

    • macky_d
    • 回答数4
  • エクセルVBAでシート名検索

    エクセル2000です。 あるブックにAAAという名前のワークシートが存在するかどうかの判定方法の質問です。 現在はそのブックを開き、 Sub test() For Each sh In ActiveWorkbook.Worksheets If sh.Name = "AAA" Then flag = "ありまする。" Else flag = "ないでござる。" End If Next MsgBox flag End Sub のように判定しています。 質問は、 1.開かずに判定することは可能かどうか?可能ならその方法 2.上記コードのように各シート総当り以外にシート名を検索する方法があるか?あるならその方法 です。よろしくお願いします。

  • ExcelVBAで文字の比較

    いつもお世話になっています。 ExcelVBAでソフトを作っているのですが、 ユーザフォーム上のコンボボックスとセルの文字比較がうまくいきません。 コードは、 For i = 1 To 100 If Controls("ComboBox" & h).Value = Sheets("Sheet1").Cells(i, 8) Then  ~ 処理 ~ Exit Sub End If Next i としているのですが、文字と半角数字の組み合わせ「北1」等だとうまく処理に行くのですが、 半角数字のみ「1」だけだとコンボボックスとセルの値が同じでも 処理に行かず終了してしまいます。 セルの書式設定で文字列に指定しても変わりませんでした。 解決法がわからずに困っています。 お分かりの方いましたらご回答よろしくお願いします。

    • noname#30686
    • 回答数4
  • エクセルVBAなぜ実行時エラーが?

    エクセル2000です。 DATAと名づけた表の値を変換し、最大値から端数をプラマイするマクロなのですが、途中で「実行時エラー91 オブジェクト変数またはWithブロック変数が設定されていません。」となってしまいます。 なぜ出るかわからないので別なBookに同じ名前のRange をつくり同様の表でためしたらエラーにならずちゃんと作動します。 本番用のBookでのみエラーがでます。なぜなのでしょうか? 実行時エラーのでる With Range("DATA").Find(mx, LookIn:=xlValues) .Value = .Value + dff ' End With を、Withブロックをつかわず Range("DATA").Find(mx, LookIn:=xlValues).Select で試しても本番のBookではエラーになります。ほんとに困っています。 Sub 調整() Dim r As Double Dim c As Range Dim dff As Integer, mx As Long r = 25000 / Range("初期").Value With Sheets("内訳") Range("DATA").Value = .Range("F57:L73").Value '初期値複写 'MsgBox "初期値転写完了" For Each c In Range("DATA") If c.Value <> "" Then c.Value = Application.WorksheetFunction.Round(c.Value * r, -1) End If Next 'MsgBox "初期変換完了" dff = 25000 - Range("変換後") If dff <> 0 Then 'MsgBox dff mx = Application.WorksheetFunction.Max(Range("DATA")) 'MsgBox mx With Range("DATA").Find(mx, LookIn:=xlValues) .Value = .Value + dff 'ここで実行時エラー! End With End If End With End Sub

  • エクセルVBAでオートシェイプのType取得でエラー

    シート上に複数のグループ化したオートシェイプがあり、 それを一括して消すマクロを組みました。 その時、シート上のボタンまで消してしまわないようTypeで判断しています。 Dim Sp As Shape For Each Sp In Shapes If Not Sp.Type = 12 Then Sp.Delete End If Next 簡単な図形であれば、数百個でも問題ありません。 また、複雑な図形でも数個であれば正常に動作します。 これが、複雑な図形が数十個になると、 "Tyepメソッドは失敗しました。"とエラーが表示されExcel自体が強制終了します。 1、2回で出ないこともたまにありますが、何度か繰り返しますと確実に出ます。 原因が特定できず困っています。 推測や可能性でもかまいません、どうぞよろしくお願いいたします。 ※複雑な図形とはフリーハンドを組み合わせたような絵です。(人物の顔など) 動作はWindows2000のEXCEL2000で2台 WindowsXPのEXCEL2003で1台でテストしました。

    • ebis
    • 回答数2
  • エクセル(excel2003)で入力された式を取得する関数

    お世話になっております。マニアックな質問ばかりしてしまい、「この質問は役に立った」に縁がない者です。 Excel2003でユーザーが入力した式を取得する関数はありますでしょうか? 例えば関数(A1)と指定するとA1に入力された式(式に限らずユーザーが入力した直接の値)が参照できたらそれで満足です。 ネット上やこちらで検索してみたのですがどうしても見つかりません。 わかる方、リンクだけでも構いませんので、お知恵をお貸しください。

  • エクセルVBAでオートシェイプのType取得でエラー

    シート上に複数のグループ化したオートシェイプがあり、 それを一括して消すマクロを組みました。 その時、シート上のボタンまで消してしまわないようTypeで判断しています。 Dim Sp As Shape For Each Sp In Shapes If Not Sp.Type = 12 Then Sp.Delete End If Next 簡単な図形であれば、数百個でも問題ありません。 また、複雑な図形でも数個であれば正常に動作します。 これが、複雑な図形が数十個になると、 "Tyepメソッドは失敗しました。"とエラーが表示されExcel自体が強制終了します。 1、2回で出ないこともたまにありますが、何度か繰り返しますと確実に出ます。 原因が特定できず困っています。 推測や可能性でもかまいません、どうぞよろしくお願いいたします。 ※複雑な図形とはフリーハンドを組み合わせたような絵です。(人物の顔など) 動作はWindows2000のEXCEL2000で2台 WindowsXPのEXCEL2003で1台でテストしました。

    • ebis
    • 回答数2
  • 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

  • マクロを使用するのですか?

    エクセルなんですが、「A1+A2」を結合させ、そこにOKウェブと記入し、 このセル自体をボタンにし、そのセルをクリックすると指定した(シート2に飛ぶ、若しくはシート2の指定した行に飛ぶ)ページに飛ぶにはどのようにしたら良いのでしょう?目的は、シート1には、たくさんの項目だけを記入しておいて、そのセルをクリックすることによって、違うシートにとび、その項目の説明文が書いてある。という風にしたいのです。 説明不足ですみません。分かるかたいらしたら教えてください。

    • screams
    • 回答数4
  • ShapeのVBAの中での取り扱い

    ShapeのVBAの中での取り扱いに関して、サジェスチョン願います。 Shapeに文字が書き込まれていない段階で、選択して文字を読み込み判定しようとするとエラーとなります。 下記のVBAでは、5番目のShapeが該当します。 このエラーを防ぐためには、On Error Resume Nextが有効ですが、他の方法を探しています。例えば、charactor=trueみたいなもの。 ----- Sub Shapeの調査() Dim nametemp(10) As String Dim temp As Integer Dim i As Integer Dim aaa As Variant 'On Error Resume Next ActiveSheet.Shapes.AddShape(msoShapeRectangle, 50, 50, 50, 50).Select ActiveSheet.Shapes.AddShape(msoShapeOval, 100, 100, 50, 50).Select ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 150, 150, 50, 50).Select ActiveSheet.Shapes.AddShape(msoShapeRectangle, 200, 200, 50, 50).Select ActiveSheet.Shapes.AddShape(msoShapeOval, 250, 250, 50, 50).Select temp = ActiveSheet.Shapes.Count For i = 1 To temp ActiveSheet.Shapes(i).Select nametemp(i) = ActiveSheet.Shapes(i).Name Next For i = 1 To temp / 2 + 1 '4つのshapeに対し、文字を書き込もうとする ActiveSheet.Shapes(nametemp(i)).Select Selection.Characters.Text = "" Next For i = 1 To temp / 2 '3つに対して、文字を書き込む ActiveSheet.Shapes(nametemp(i)).Select Selection.Characters.Text = "zzzzz" Next For i = 1 To temp ActiveSheet.Shapes(nametemp(i)).Select aaa = Selection.Characters.Text '<--5番目のShapeに対し If aaa = "zzzzz" Then MsgBox (aaa)'<--errorとなる。 Next End Sub

    • noname#95859
    • 回答数3
  • ACCESSのコンボボックスで入力した値がTABLEに反映されずに数字がでます

    TABLE 県名、お客さまの2つを作成 お客さまのフォームの入力の県名のところを コンボボックスにして県名テーブルを参照し 選択したものをお客さまのレコードのところの 県名にはいるようにしたいのですが、 選択したID?数字がはいってしまいます。 (選択はできているようです) なにか設定が足りないのでしょうか? お分かりになる方、お知恵をお貸しください。 よろしくお願いします。

  • ACCESSのコンボボックスで入力した値がTABLEに反映されずに数字がでます

    TABLE 県名、お客さまの2つを作成 お客さまのフォームの入力の県名のところを コンボボックスにして県名テーブルを参照し 選択したものをお客さまのレコードのところの 県名にはいるようにしたいのですが、 選択したID?数字がはいってしまいます。 (選択はできているようです) なにか設定が足りないのでしょうか? お分かりになる方、お知恵をお貸しください。 よろしくお願いします。

  • PowerPoint2003でノートを一括削除するVBA

    調べたところ Sub test() Dim i As Integer i = ActivePresentation.Slides.Count For i = 1 To i With ActivePresentation.Slides(i).NotesPage .Shapes.Placeholders(2).TextFrame.TextRange = "" End With Next i End Sub   というマクロでいけるそうなのですが、幾つか試すと 「実行時エラー '2147188160(80048240)」': Placeholders(不明なメンバー):範囲外の整数2は次の有効な範囲にありません:1から1へ」 というエラーで停まるものがあります。   これの回避方法をご存知の方がいたら教えてください。

  • [EXCEL]列の項目を何種類かカウントする方法

    いつもお世話になっています。Excelで3000件ぐらいのデータを整理したいのですが、普通に合計などはできますが、1列に何種類かのデータが色々な順で混在している場合、それが全部で何個かではなく、何種類かをすぐに計算する方法はありますか? たとえば、"りんご"・"みかん"・"いちご"・"りんご"・"ばなな" とそれぞれ入力しているとして、個数は5個だけれども種類は4種類ですよね。この種類の数を出せるとうれしいのですが。どなたか教えてください。 今、使っているのはOffice2003ですが、方法が違うようならOffice2000での方法もわかる方いらっしゃれば教えてください、お願いします。

  • エクセルの計算について

    すみません。 初歩的なことですが教えて下さい。 エクセルで、例えばB1のセル中に 「=A1+A2+A3」という計算を作ったとします。 すると、B1にカーソルを合わせた時に A1 A2 A3の回りが色違いで囲まれますよね。 (このセルが計算に入っていますといった感じで)。 なのに、それが出なくなりました。 どうしでしょうか。

  • Worksheet_SelectionChangeについて

    Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim GYO As Long ' 8列目のみを対象とする If Target.Column <> 8 Then Exit Sub Else GYO = Target.Row End If ' 8列目が空欄でなければ計算処理を呼び出す(引数は選択行) If Cells(GYO, 8).Value = "" Then Exit Sub Else: Call KEISAN(GYO) End If End Sub という方法で8列目のセルをクリックするとフォームが立ち上がるようにしているのですが、ドラッグによる範囲選択でも8列目が含まれているとフォームが立ち上がってしまいます。 単一セルの選択時のみにするにはどうしたらいいでしょうか。 それとすべてのシートにこのマクロを書いているのですがworkbook全体でやることはできないのでしょうか? Workbookのところにこのコードを入れてもうまくいきませんでした。

  • エクセルのハイパーリンクの修正ができません。

    こんにちは。ちょっとわからないので、教えてください。 エクセルのあるセルにメールアドレスを入力すると、勝手にハイパーリンクが貼られて、青くなりますよね。 で、これを修正して、「enter」を押さずに↓矢印を押して、カーソルをセルの最後まで持っていってから、マウスで他のセルに移動すると、画面表示は修正後の内容になっているのですが、ハイパーリンク自体は前のままなのです。 具体的には、aaa@*xx.ne.jpというセルを修正しようとして、bbb@*vv.ne.jpと変更して、「enter」を押さずに↓を押して、カーソルをjpの後ろに持っていってから、他のセルをクリックしたらこうなりました。 「enter」を押した場合には、ハイパーリンクもきちんと修正されていたし、隣の人のエクセルでは、「enter」を押さなくても修正されていました。 ちなみにエクセルのバージョンは2000です。 ハイパーリンクが修正されないのはなぜなのでしょうか?

    • ditty
    • 回答数1
  • Outolook Expressで

    自分に送ると、削除済みアイテムに入ってしまうんです。 無意識に変な操作をしてしまったのでしょうか? 以前は普通に受信に入っていたと思います。