Excel2010 VBAについて、ご教授をお願い致します。 1つのセルに入力されている文字列の変更について以下の様に変更したいのですが、簡単にできる方法はございますか? (色々と試しましたが、うまくいきません。) 既内容 → 変更後内容 ・「、」(読点)+改行(読点は半角を含む) → 読点だけにする(改行を削除) ・「。」(句点)+改行(句点は半角を含む) → 句点だけにする(改行を削除) ・「,」 (半角のカンマ)+改行 → 半角のカンマだけにする(改行を削除) ・「.」 (半角のピリオド)+改行 → 半角のピリオドだけにする(改行を削除) ・改行(のみ) → 読点(、)にする。 以下にサンプルを記述します。 ☆元データ あああ、(改行) おおお(改行) いいい。(改行) ううう,(改行) えええ.(改行) ☆求める結果の内容(「おおお」の次の文字「、」は改行を置換え) あああ、おおお、いいい。ううう,えええ. よろしくお願いいたします。
↧
excelvba 文字列の変更
↧
エクセルVBA ユーザー定義の値を変数に格納したい
Excel2003を使っています。 ユーザ定義を使ってセルへの入力をします。 例えば、 セルB1に AB1111 セルC1に AB2222 セルD1に AB3333 セルE1に AB4444 セルF1に AB5555 と入力します。 4桁の数字の前に"AB"が決まって付くので、ユーザー定義 "AB"##0000 を使って数字4桁だけ入力するようにしました。 そしてさらに、 エクセルVBAを使って、変数iに AB1111 を格納したいのですが、iには 1111 しか取得できません。 iに AB1111 を取得したいのですが、どなたか方法を教えてください。 よろしくお願いします。
↧
↧
Excelvba 図形のコピー
Excelvba 2010のVBAについてご教授願います。 Sheet1にある楕円の図形をSheet2の結合セルの個所にコピーしたいのですが、 コピーできません(貼付できていないといった方が良いのかも)。 但し、コピー先の結合セルには文字が入っており(「有」という文字)、 この文字はそのまま残した方法で楕円の図のみ文字の上に上書きというか 文字にかぶせたいのです。 コードは以下の様に記述しました。 WorkSheets("Sheet2").Activate Worksheets("Sheet1").Shapes("楕円").Select Selection.Copy ActiveSheets.Range("EE120").MergeArea.Select ActiveSheet.Paste
↧
エクセルVBA 別シートの名称を置換に利用したい
皆さんこんにちは。VBA素人のモノです。 ※エクセル2013使用しております。 表題の通り、別シートの名称を置換に利用したいのですが うまく組めないのでご教授ください。 シートには「4月」というシートと 「関数」というシートがあり、「関数」シートには「4月」を参照する関数が 山盛りに入っています。 月が替わった時にボタンを押すと 「4月」シートをコピーし、「5月」シートを作成→ 「4月」シート内に入っている関数を全て値にする・・ という所までマクロを組みました。 次に行いたいのが「関数」シート内にある関数の参照先を '4月'!から'5月'!にしたいのです。 単に4月から5月に置換するだけなら簡単だったのですが これが毎月行われるとなると難しくて挫折してしまいました。 自分の頭の中では、参照先のシートを 「関数」シートの 「2つ左のシート」→「1つ左のシート」にして 関数シート内を文字を置換をすれば良いのかなぁ?という ぼんやりとしたイメージがあるのですが こんなマクロをどうやって組めば良いのか さっぱり見当がつきません。 こんな拙い説明で申し訳ないのですが 上記のイメージをマクロに出来るのであれば 教えていただけると幸いです。
↧
OpenCVのトラブルについて
OpenCVをVB2013で使用したく、 勉強中です。 OpenCvSharpをプロジェクトにインストールし 下記のサンプルプログラムを実行しましたが 次の様なトラブルが発生しました。 対策方法がわかりません。 よろしくお願いします。 操作方法 ボタン1を押す。 ウインドウが表示。 ウインドウを閉じる。 フォームを閉じる。 トラブル内容 型 'OpenCvSharp.OpenCVException' のハンドルされていない例外が OpenCvSharp.dll で発生しました 追加情報:unrecognized or unsupported array type サンプルプログラム Imports OpenCvSharp Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim img As IplImage = Cv.CreateImage(New CvSize(128, 128), BitDepth.U8, 1) For y As Integer = 0 To img.Height - 1 For x As Integer = 0 To img.Width - 1 Cv.Set2D(img, y, x, x + y) Next x Next y Cv.NamedWindow("window") Cv.ShowImage("window", img) Cv.WaitKey() Cv.DestroyWindow("window") Cv.Release(img) End Sub End Class
↧
↧
ACCESS VBAで画面からの更新
ACCESS VBAの画面からの更新をしようとしています。 レコードソースで直接クエリを参照させている項目は表示された値を修正すれば そのままテーブルの値も修正できます。 しかし、コントロールソースにDLookUpを使って表示した項目を修正しても テーブルの内容が更新されません。 即時更新されるようにするにはどうのようにすればよいのでしょうか?
↧
VBSでChromeを起動し、サイズを変更したい
VBScript初心者です。 VBSでChromeを起動し、さらにウィンドウの大きさや表示位置を変更したいです。 Set GC = CreateObject("WScript.Shell") GC.Run ("chrome.exe -url http://www.yahoo.co.jp/") にてChromeを開くところまではできたのですが、 その後、 GC.Left = 100 の部分で 「オブジェクトでサポートされていないプロパティまたはメソッドです。:'Left'」 とエラーが表示されてしまいます。 Left他のプロパティを使用するにはどのように記述したらよいのでしょうか。 Chromeではウィンドウの大きさや表示位置を変更することはできないのでしょうか。 ご教授ください。 よろしくお願いいたします。
↧
ComboBoxの値の取得
ComboBoxのユーザーに表示される項目が A,B,C,D であるとし、プログラム内では A=100000 B=90000 C=80000 D=70000 と認識させ、計算に使用するにはどのような記述をすればいいですか?
↧
エクセルVBA 自動設定のグラフ系列色のRGB
VBA初級者です。 エクセルで自動設定されたグラフ系列色(点のみ、線なし)の RGBを取得するにはどうしたらいいのでしょうか? 系列色を設定する方法は以下のようにすればいいようですが。。。 ActiveSheet.ChartObjects("グラフ 1").Activate ActiveChart.SeriesCollection(1).Select With Selection .MarkerBackgroundColorIndex = 色番号 / xlAutomatic .MarkerForegroundColorIndex = 色番号 / xlAutomatic または、 .MarkerBackgroundColor = RGB(?,?,?) .MarkerForegroundColor = RGB(?,?,?) End With 私がやりたいことは、上のような記述でxlAutomaticで自動的に設定された ある系列の色を他の系列にも適用したいのです。もう少し具体的に言うと、 系列1,2、系列3,4、のように隣り合う系列を同色にしたいのです。 系列数が少なければ各組合せに対してRGBを設定すればいいのですが、 系列が大量になってきますと、自分でRGBを設定するのも大変で、 系列1,3,5・・・に関しては、xlAutomaticで自動設定して、その色を 系列2,4,6・・・に適用しようと思ったのですが、よくわかりませんでした。 ActiveChart.SeriesCollection(1).Select With Selection .MarkerBackgroundColorIndex = xlAutomatic Color = MarkerBackgroundColorIndex End With ActiveChart.SeriesCollection(2).Select With Selection .MarkerBackgroundColorIndex = Color End With などとしてみましたがダメでした。恥ずかしながら基礎を 理解できていないので詳しく説明していただけると幸いです。 よろしくお願いいたします。
↧
↧
objIE.readyState LOADING
win8 ie11です。 エクセルvbaのie操作で、 見た目はページがちゃんと表示されているのに、 Do Until objIE.readyState = READYSTATE_COMPLETE Loop の部分で、無限ループに陥るページがあります。 objIE.readyStateの値は、ずっとREADYSTATE_LOADINGのままです。 まだページが表示されてないのであれば ブラウザのタブはグルグル更新マークが表示されると思うのですが ブラウザのページのアイコンはそのページのアイコンが表示されているし 目で見る限りではすべて表示は終わっています。 それなのになぜずっとREADYSTATE_LOADINGになるのはなぜでしょう?
↧
この名前は既にあるモジュール、プロジェクト、オブジ
Sub test() Dim db As Database と宣言しているコードがあるのですが、 いきなり使えなくなりました。 コンパイルエラー プロジェクトではなく、ユーザ定義関数を指定してください。 というエラーになります。 http://oshiete.goo.ne.jp/qa/465366.html を参考に 「Microsoft DAO X.X Object Library」(X.Xはバージョン) にチェックを入れようとすると 「この名前は既にあるモジュール、プロジェクト、オブジェクトライブラリで使われています」 になります。 オブジェクトブラウザーで「db」を検索すると Excel.WorksheetFunction のメンバー にdbというメソッドがありました。 Dim db As Database のdbという名前が原因かなと思い、dbを違う名前に変えてみても同じです。 win8、アクセス2010です。 原因わかる方ご回答よろしくお願いします。
↧
Visual BasicからのDBアクセス
2005から2010への移植で下記SQLが正しく動作しなくなりました。 select count(*) from [テーブル名] where [条件] レコードが5件あるはずなのに0が返ります。 サーバエクスプローラからクエリを発行すると正しい値が返ります。 プログラム自体は2005で正しく動作しているので、 ロジック的には間違っていないと思います。 バージョンが変わる事でコードの修正が必要になるのでしょうか。
↧
Excel2013 1日1回だけリセットする方法は
1日1回だけ特定セルをリセットしているのですが、データファイルを複数で共有しているので、2回以上押してしまうことがあります。 現在は、特定のセルをリセットするためのリセットボタンを押すとボタンの色が変わるようにマクロを組んでいるのですが、それでも、2回押す場合があります。 問: リセットスイッチを1日1回だけアクティブになるようにするにはどうしたらよいのでしょうか。(リセットスイッチを1回押すと、日付が変わらないと再度アクティブ状態にならないようにする。) よろしく、ご指導お願いいたします。
↧
↧
Excelマクロ・行の高さを自動調整したい
データベースから抽出したExcelの人材情報リストから、VLOOKUP関数で情報を射影して、指定した人材を数人分連続で印刷するマクロを設定して、定型のプロフィールシートを作成しました。 改良したい点として、人によって情報量が異なる項目があるので、特定の行(例えば5行目)の高さのみを自動調整するようにしたいのですが、どのようにすればよいでしょうか。 VLOOKUP関数を使用しているからか、書式から行の自動調整を設定してみても1行の高さになってしまいます。 マクロで一度に印刷できるようにしたので、一枚一枚レイアウトを修正しなくてもいいようにしたいです。 VBA初心者ですので、宜しくお願いします。
↧
vb6.0でユーザーコントロールのキャスト
ユーザーコントロールに共通のインターフェースを提供するためにimplementsしたのですが、 キャストできなくて困っています。 dim ifc as IMyInterface set ifc = MyUserControl1 *MyUserControl1はIMyInterfaceをimplementsしています。 いまさらvb6ですが、宜しくお願いします。
↧
VBAマクロ、画像の自動読込
マクロ(excel2013)の方で、指定フォルダに指定ファイルを配置しておけば、 自動でワークシートに読み込んで表示する、という設定にしたいです。 宜しくお願いします。
↧
パワーポイントのページ番号設定について
いつもお世話になります。 パワーポイント2007を使用しております。 それぞれのページ番号の表記を、 ページ番号/総ページ数 にしたいのですが、方法はありますでしょうか。
↧
↧
VBA関数
PC ほぼ素人です。ネットで調べて、下記のコードを作成できました。 バージョンは2007 Sub 抽出() Worksheets("Sheet5").Activate Worksheets("Sheet5").Range(Cells(1, 1), Cells(328, 18)).Clear With Worksheets("Sheet3").Range("A8") .AutoFilter Field:=1, Criteria1:=Worksheets("Sheet3").Range("a2") ''(1) .AutoFilter Field:=2, Criteria1:=Worksheets("Sheet3").Range("b2") ''(1) .CurrentRegion.SpecialCells(xlVisible).Copy Worksheets("Sheet5").Range("A1") ''(2) .AutoFilter ''(3) End With Worksheets("Sheet5").Activate End Sub Sheet5に抽出後、そのデータを書き換え Sheet3へ戻したいのですが可能なのでしょうか? A B C D E F G 1 月 日 得意先 前回 数量 今回 数量 2 3 5 A商事 1月15日 2 2月5日 3 抽出後、Sheet3には、ABDEFGを戻したいのです。 説明不足かもしれませんが、どうか宜しくお願い致します。
↧
vba ie操作 テキストボックスをアクティブに
VBAで三井住友銀行にログインしたいのですが、 どうやらマウスで一度、画面をクリックして、色を反転させないとログインボタンを押下しても文字が入力されたと認識されないようです。 「契約者番号」の部分のテキストボックスが灰色になっていますが、 これは点店番号を入れると灰色になります。 VBAで店番号のテキストボックスに値を入れても、「契約者番号」のテキストは灰色になりません。 こういう場合、vbaでテキストボックスをアクティブにする方法はありますか?
↧
【VBA】 ファイル名の取得
23歳OLです。 会社でマクロを組んでいるのですが、 できないところがあったのでご相談させてください。 ▼やりたいこと ================================================ ・フォルダを自分で指定して、選択したファイルの名前をシートに書き込む 1.txt 2.log 3.xls とフォルダに入っていたら 1.txt 2.log 3.xls とシートに名前を書き込んでほしいです。 ・ファイルの種類はいろいろある。(txt.logなど) ================================================ ▼現在書いてみたコード ======================== Sub Sample1() Dim buf As String, cnt As Long Const Path As String = "" buf = Dir(Path & "*.*") Do While buf <> "" cnt = cnt + 1 Cells(cnt, 1) = buf buf = Dir() Loop End Sub ======================== これだと、初めから指定したフォルダしか取得することができないらしいです。 そもそもConst Path As String = "このぶぶん" このぶぶんにフォルダを指定しても動きませんでした。? どこが原因なのでしょうか? ご教示お願いします。
↧