heno-_- の回答履歴

全12件中1~12件表示
  • VBAでcallで呼び出したsubを終了させる

    VBAです。 ユーザーフォーム上で、call xxxxxを使って呼び出したsubプログラムでの計算を 途中で終了させるために コマンドボタンにendを割り当てて使用しています。 ただ、この方法だとユーザーフォームも一緒に終了してしまうため、 また再度ユーザーフォームを呼び出す必要があります。 callで呼び出したsubプログラムだけを途中で終了させる方法を教えてください。

  • エクセル 置き換えをするとセル内のフォントサイズが

    先ほど間違えてベストアンサーを出してしまったので連投失礼します。 エクセルでフォントサイズがバラバラな文字列が入ってるセルで置き換えをすると セル内のフォントサイズが統一されてしまいました フォントサイズを統一させずに置き換えする事は可能でしょうか? VBAとかマクロをつかわなければならない時はできれば使い方を詳しくおしえて頂きたいです。

  • Excel VBA 起点からの複数行一括削除

    Excel VBAで末端までだと4万行くらいのデータを整理するものを組んで います。初心者ゆえどなたかお詳しい方の知恵を拝借いたしたく。 元となるデータは15行が一塊であるデータブロックで構成されており、 14行目には"END"の文字があり、15行目には必ず空白行があります。 この15行のデータブロックが延々4万行繰り返しの形で存在しています。 どのデータブロックか判別できる数字が入っているのは1行目のE列 です。 データブロック一行目E列に含まれる特定の語句(IDNo.)を検索し、これを 起点として空白行までの15行一塊のデータブロックをまとめて削除でき るものを作成しようと思ったのですが、一行ずつ削除するところまでしか 自力では分からず、これ以降どのように追記すれば良いか見当がつか ない状態です。よろしくお願いします。 元データ     A    B   C    D    E     F   G 1   aaa   bbb  ccc  ddd   (IDNo.)  fff  ggg 2   111  222  333  444   555   666  777 (略) 14 END 15 (空白行) 16  AAA  BBB  CCC DDD  (IDNo.) FFF GGG (略) 29 END 30 (空白行) 以下 検索したもの+自分で追記してみた部分です。 Sub 特定ID削除() With ActiveWorkbook.ActiveSheet Const startrow As String = "1" '開始行を指定 Const col As String = "E" '識別文字が入力されている列 Dim Idx As Long Dim keyWord keyWord = Application.InputBox("削除対象の文字列を指定", Type:=2) If TypeName(keyWord) <> "Boolean" And Len(keyWord) > 0 Then For Idx = .Cells(65536, col).End(xlUp).Row To startrow Step -1 If InStr(.Cells(Idx, col).Value, keyWord) > 0 Then ' If Application.CountIf(Rows(Idx), "*" & keyWord & "*") > 0 Then .Rows(Idx).Delete End If Next Idx End If End With End Sub

  • VBAで作成したいのですがご伝授お願いします

    困っております何卒宜しくお願いします。 シフト表をEXCELで作成しています。列に担当者と日付、行は二段で上段は午前、下段には午後で役割別に記号が入ります、この表から日毎の実績表を作成しています、行は二段なのでセルを結合し、解除して上段にまとめ他のシートにコピーしてあります。 そこで、お願いです、今はマクロ(たぶん)で展開していますがセルに構文が入っているため他の人が消してしうことがしばしばなのでVBA構文に直したいのです。 =IF(OR($A3="",B$1=2),"",IF(Sheet2!B3="","",Sheet2!B3&"/"&COUNTIF(Sheet2!B$3:B3,Sheet2!B3)))これは上段にまとめたシートから置き換える構文です。 この構文で出来たシートから日毎のシートを作成するのに =IF(ISERROR(INDEX(Sheet3!$A:$A,MATCH($B6&"/"&COUNTIF($B$6:$B6,$B6),Sheet3!B:B,0))),"",INDEX(Sheet3!$A:$A,MATCH($B6&"/"&COUNTIF($B$6:$B6,$B6),Sheet3!B:B,0)))を使っています。 この構文もお願いして使っているものであります。ワークシート関数でチャレンジしていますがうまくできません宜しくお願いいたします。

  • プロパティが見つかりません。OLEObjects

    Sub test() Dim OLEList As Object Set OLEList = ActiveSheet.OLEObjects.Add( _ ClassType:="Forms.ListBox.1", _ Left:=1, _ Top:=1, _ Width:=80, _ Height:=80) End Sub このコードで作るリストボックスってOLEオブジェクトのリストボックスですよね? リストボックスを作って、デザインビューにして右クリックをしてもプロパティが見つかりません。 手作業でコントロールツールボックスからリストボックスを挿入すると、 右クリックした時にプロパティがあります。 このVBAコードで挿入するリストボックスは コントロールツールボックスから挿入するものとは別物ですか? 画像は右側は、「手作業でコントロールツールボックスからリストボックスを挿入」で、 左側は上記のコードで挿入しました。

  • VBA SORT Applyでエラー

    今日パソコンが新しくなり、office2003から2010になりました。 2003で作成したマクロで、SORTメソッドを書き換え実行したところ、『実行時エラー1004 アプリケーション定義またはオブジェクト定義のエラーです』とメッセージが… デバッグでみると、Applyのところが黄色になっていました。 何が悪いのか教えてもらえますか? Worksheets("営業所順位表").Activate Application.Calculation = xlCalculationAutomatic '再計算自動 With ActiveSheet.Sort.SortFields .Clear .Add Key:=Range("E3"), Order:=xlDescending End With With ActiveSheet.Sort .SetRange Range("A3:S68") .Header = xlYes .Apply ←ここが黄色に End With

  • Excel 2010 VBA の変な異常終了

    Excel VBA で 今まで いろんなマクロを作ってきましたが、今回 新しく購入したパソコン(Windows 7  Excel2010  本体メモリー8GB) で繰り返しのあるマクロを作成しましたが、3回目でピーと音がして エラーメッセージを出さずに異常終了する変なエラーが発生しました。 そこで Msgbox で 2回ごとに 確認メッセージで中断するようにすると、 正常に動作します。 また このマクロを 別のパソコン(Windows XP Excel 2003)用に 拡張子 XLS に 変換して実行すると、Msgbox で 中断しなくても、正常に動きます。 Windows7 Excel2010 のパソコンでは これとは別のマクロでも、同じような 変に異常終了するエラーを数回経験しています。 どうも少し長いマクロや、繰り返しの数回目で発生したりするようです。 教えてGoo の質問には Excel 2003で作成したマクロがExcel 2010で エラーになる質問が多くありますが、今回のエラーは、Excel2010 で作成した マクロであり、Msgbox で 2回ごとに 中断すれば、Excel2010 でも正常に 動く事からも Excel 2003 との関係ではないようです。 2010になってパソコンの処理速度にVBA処理が間に合っていないでは? と思われるので、 Wait命令を入れて5秒ほど待つようにしてもダメです。 また Windows7 になって 標準本体メモリー4GBでは Excel2010 の マクロには不足かと思い8GB に追加しましたがこれもダメでした。 最新のパソコンのスピードにExcelマクロが追い付いていないのか? マクロ処理用の 計算領域が不足(本体メモリーとは関係なく)? のような気がします。 現在は Msgbox で中断することで対応していますが、実際の繰返回数 は非常に多く何回も OKボタン を押す必要があり。困っています。 Excel 2010 になって同じようなエラー事例があるのではないでしょうか? 対応法があれば是非教えてください。 (エラー確認用に、マクロ、関係サンプルデータが必要であれば添付します)

  • VBAについて

    VBAについて質問です。 データをコピーして新規ブックとして名前(年、月、日)をつけて別のフォルダ(デスクトップ上のフォルダ)に毎朝8時に保存したいのですが、Cディスク内に直接保存されてしまいます。 コードは以下の通りです。 Sub 自動保存() With workbooks("サンプル.xism") Worksheets("Sheet3").Range("B6:B205").Value = .Worksheets("メインモニタ").Range("F13:F212").Value Worksheets("Sheet3").Range("D6:D205").Value = .Worksheets("メインモニタ").Range("K13:K212").Value Worksheets("Sheet3").Range("F6:F205").Value = .Worksheets("メインモニタ").Range("P13:P212").Value Worksheets("Sheet3").Range("H6:H205").Value = .Worksheets("メインモニタ").Range("U13:U212").Value End With Worksheets("Sheet3").Select Worksheets("Sheet3").Copy Application.DisplayAlerts = False With ActiveWorkbook.SaveAs "C:\サンプル2_" & Format(Date , "yyyymmdd") . Close End With Application.DisplayAlerts = True Application.OnTime DateValue(Date + 1) + TimeValue("8:00:00") , "自動保存" Worksheets("メインモニタ") . Activate End Sub ご教授宜しくお願いします。

  • Excel VBA 起点からの複数行一括削除

    Excel VBAで末端までだと4万行くらいのデータを整理するものを組んで います。初心者ゆえどなたかお詳しい方の知恵を拝借いたしたく。 元となるデータは15行が一塊であるデータブロックで構成されており、 14行目には"END"の文字があり、15行目には必ず空白行があります。 この15行のデータブロックが延々4万行繰り返しの形で存在しています。 どのデータブロックか判別できる数字が入っているのは1行目のE列 です。 データブロック一行目E列に含まれる特定の語句(IDNo.)を検索し、これを 起点として空白行までの15行一塊のデータブロックをまとめて削除でき るものを作成しようと思ったのですが、一行ずつ削除するところまでしか 自力では分からず、これ以降どのように追記すれば良いか見当がつか ない状態です。よろしくお願いします。 元データ     A    B   C    D    E     F   G 1   aaa   bbb  ccc  ddd   (IDNo.)  fff  ggg 2   111  222  333  444   555   666  777 (略) 14 END 15 (空白行) 16  AAA  BBB  CCC DDD  (IDNo.) FFF GGG (略) 29 END 30 (空白行) 以下 検索したもの+自分で追記してみた部分です。 Sub 特定ID削除() With ActiveWorkbook.ActiveSheet Const startrow As String = "1" '開始行を指定 Const col As String = "E" '識別文字が入力されている列 Dim Idx As Long Dim keyWord keyWord = Application.InputBox("削除対象の文字列を指定", Type:=2) If TypeName(keyWord) <> "Boolean" And Len(keyWord) > 0 Then For Idx = .Cells(65536, col).End(xlUp).Row To startrow Step -1 If InStr(.Cells(Idx, col).Value, keyWord) > 0 Then ' If Application.CountIf(Rows(Idx), "*" & keyWord & "*") > 0 Then .Rows(Idx).Delete End If Next Idx End If End With End Sub

  • Excel VBA 起点からの複数行一括削除

    Excel VBAで末端までだと4万行くらいのデータを整理するものを組んで います。初心者ゆえどなたかお詳しい方の知恵を拝借いたしたく。 元となるデータは15行が一塊であるデータブロックで構成されており、 14行目には"END"の文字があり、15行目には必ず空白行があります。 この15行のデータブロックが延々4万行繰り返しの形で存在しています。 どのデータブロックか判別できる数字が入っているのは1行目のE列 です。 データブロック一行目E列に含まれる特定の語句(IDNo.)を検索し、これを 起点として空白行までの15行一塊のデータブロックをまとめて削除でき るものを作成しようと思ったのですが、一行ずつ削除するところまでしか 自力では分からず、これ以降どのように追記すれば良いか見当がつか ない状態です。よろしくお願いします。 元データ     A    B   C    D    E     F   G 1   aaa   bbb  ccc  ddd   (IDNo.)  fff  ggg 2   111  222  333  444   555   666  777 (略) 14 END 15 (空白行) 16  AAA  BBB  CCC DDD  (IDNo.) FFF GGG (略) 29 END 30 (空白行) 以下 検索したもの+自分で追記してみた部分です。 Sub 特定ID削除() With ActiveWorkbook.ActiveSheet Const startrow As String = "1" '開始行を指定 Const col As String = "E" '識別文字が入力されている列 Dim Idx As Long Dim keyWord keyWord = Application.InputBox("削除対象の文字列を指定", Type:=2) If TypeName(keyWord) <> "Boolean" And Len(keyWord) > 0 Then For Idx = .Cells(65536, col).End(xlUp).Row To startrow Step -1 If InStr(.Cells(Idx, col).Value, keyWord) > 0 Then ' If Application.CountIf(Rows(Idx), "*" & keyWord & "*") > 0 Then .Rows(Idx).Delete End If Next Idx End If End With End Sub

  • キャノン複合機 MP830 スキャンできません

    白黒文書A4サイズをいつも通りスキャンしてたら、4枚目以降何をやっても「全面グレー」でスキャンされてしまいます。 一旦クリアにしてやし直したら、1枚目から「全面グレー」でスキャンされ、非常に困っています。 いつもは、1「写真や文書の読み込み」→2「モノクロ文書」→3「実行」で正常に動作します。 今、 「エラー表示」なし。 1を「文書の一括読み込み」にしてもダメ。 2を「カラー文書」や「写真」や「テキスト」にしてもダメ。 電源の入れ直しも効果なし。 「古いから寿命だよ」と言われるのは承知ですが、今すぐの買換えは金銭的に無理なんです…。 でも書類作成はしちゃくちゃなんです(泣) どうか解決へお力貸して下さい! お願いします。

  • itunesでアーティスト名の変更が出来ません

    件名どおりなのですが、 itunesのアーティスト名の変更が出来ない曲があります。 基本的にはライブラリのリストからアーティスト名をクリックすると入力できる状態になるので変更できるのですが、文字の入力状態にならない曲がいくつかあります。 プロパティから変更もできませんでした。。。 アーティスト名で聞くリストを分けたいので困っています。 ちなみにitunesのヴァージョンは「11.0.1.12」です。 知っている方お願いします。