end-u の回答履歴

全1157件中181~200件表示
  • エクセルVBAのテキストボック、Exitイベント

    エクセルのVBAで簡単なデータ登録のマクロを作成しています。 フォームのテキストボックスに入力した値を、エクセルシートに展開する程度の機能です。 製品コードを必須にしており、製品コードが入っていない時はエラーメッセージを表示します。 製品コードが入力されていないときは、製品コードのテキストボックスにフォーカスがあたったままにしたく、ネットで調べてExitイベントに以下の処理を作成しました。 Private Sub mySeiCD_Exit(ByVal Cancel As MSForms.ReturnBoolean) Dim myMsgBoxValue As String If Len(mySeiCD.Value) = 0 Then myMsgBoxValue = MsgBox("製品コードは入力必須です。" ,vbOKOnly, "製品コード未入力") Cancel = True End If End Sub 製品コード未入力の際にフォーカスはそのままになりましたが、フォームを閉じることができなくなりました。 閉じるボタンを押しても、Exitイベントにひっかかてしまいます。 当然の動きと思いますが、回避する方法はありませんでしょうか? Exitイベントを使わずに、SetFocus を使った場合は、どうしても、次のテキストボックスにフォーカスが移動してしまいました。 以上、長くなりましたが、よろしくお願い致します。

  • VBAでグラフのindexを取得したい

    EXCEL VBA(Office2010)にて、選択中のグラフ(マウスでクリックの状態。Ctrl+クリックではない)のWidthとHeightを取得したいです。Ctrl+クリックならActivechart指定でグラフのindexが取得できるので問題ないのですが、ただの選択状態だとActivateされていないため、それができません。Selection.Application.Activechart.Nameなどでグラフの名前は取得できても、同一の名前のグラフが存在する可能性があるため一意に定められず、この方法もダメでした。要するに、Typename(Selection)が"Chartarea"の状態でそのグラフのindexを取得したい、ということになります。どうかよろしくお願いします。

  • VBAでグラフのindexを取得したい

    EXCEL VBA(Office2010)にて、選択中のグラフ(マウスでクリックの状態。Ctrl+クリックではない)のWidthとHeightを取得したいです。Ctrl+クリックならActivechart指定でグラフのindexが取得できるので問題ないのですが、ただの選択状態だとActivateされていないため、それができません。Selection.Application.Activechart.Nameなどでグラフの名前は取得できても、同一の名前のグラフが存在する可能性があるため一意に定められず、この方法もダメでした。要するに、Typename(Selection)が"Chartarea"の状態でそのグラフのindexを取得したい、ということになります。どうかよろしくお願いします。

  • エクセルからメールを送るマクロについて

    エクセルのシートを本文にしてメールを送るマクロを 考えているのですが、シートを本文にするところまでは いいのですがあて先のメールアドレスを指定するには どうしたらいいか教えて下さい。 以下の記述でシートを本文、件名をブック名にする事 までは出来ています。 Sub Macro1() With ThisWorkbook .EnvelopeVisible = IIf(.EnvelopeVisible, False, True) End With End Sub

  • Excel改行時のダブルクォーテーション

    現在いくつかの項目を入力して、 文字列を生成する自動生成ツールのような物を作っています。 具体的にはURL等を入れまして、できるのは.htaccessです。 実際に生成自体は出来るものの、これをメモ帳に張り付けると 改行関数を入れている為、例の憎きダブルクォーテーションが入ります。 改行は「&CHAR(13)&CHAR(10)&」を使っています。 普通ならCLEAN関数等で改行をなくせばそれで万事解決かと思いますが、 相手が.htaccessで融通が利かない為そうもいきません。改行が必要です…。 現在使用しているメモパッドはWin標準の物でして、 正直今後もそれ以外のソフト等を使う予定はないので、 ワードパットなら大丈夫と言うのは分かっていますが、今回は メモパッドに張り付けた場合の解決法があればご伝授頂きたく思います。 お忙しい所恐縮ですが、よろしくお願い致します。

  • Excelシートにjpg画像を素早く貼付けたい

    表題のことは、「挿入」-「図」-「ファイルから」で出来ることは百も承知なれど、もっと簡単に、シート上にドラッグするなどの方法はないものでしょうか。いちいちjpgの位置を参照指定するのがカッタルイんですゎ。D&Dしようとすると「+」マークが出て、いかにも出来そうな気配がするんですが、ダメなんですよねぇ。

  • Excelシートにjpg画像を素早く貼付けたい

    表題のことは、「挿入」-「図」-「ファイルから」で出来ることは百も承知なれど、もっと簡単に、シート上にドラッグするなどの方法はないものでしょうか。いちいちjpgの位置を参照指定するのがカッタルイんですゎ。D&Dしようとすると「+」マークが出て、いかにも出来そうな気配がするんですが、ダメなんですよねぇ。

  • AddPictureで複数の画像を挿入したい

    エクセル2010で下のようなコードでPictures.InsertとFor文を使用して複数の画像を読み込んでます。 ところが、Pictures.Insertを2010で使用すると画像がリンク貼付されてしまうため、エクセル2003で画像を見ることができません。そこで、AddPictureを使用しなければならないということは理解したのですが、ネット上のサンプルコードは1つのファイルを読み込む場合のものばかりで、今まで通りに複数の画像を読み込むためのコードがなかなかみつかりません。しかしながら、会社にはVBAを操作できる人がおらず、ネットと本で独学していますが、どうしても、どこにFor文を入れたらよいのかわかりません。厚かましいのは承知ですが、下に現在使用しているコードをコピペしましたので、どこを直せばよいのか教えていただけますでしょうか・・・。 自分でやりきれる力があればよいのですが、会社にマクロを使える人がおらず、ネットと本を見ながらやっているのですが、これ以上自分で悩んでいる時間の余裕がありません。 なんとかお助けいただけますでしょうか。よろしくお願いいたします。 -- Sub 画像挿入() Dim strFilter As String Dim Filenames As Variant Dim Pic As Picture ActiveSheet.Range("K8").Select strFilter = "画像ファイル(*.jpg;*.jpeg;*.gif;*.bmp;*.png),*.jpg;*.jpeg;*.gif;*.bmp;*.png" Filenames = Application.GetOpenFilename( _ FileFilter:=strFilter, _ Title:="図の挿入(複数選択可)", _ MultiSelect:=True) If Not IsArray(Filenames) Then Exit Sub Call BubbleSort_Str(Filenames, True, vbTextCompare) Application.ScreenUpdating = False For i = LBound(Filenames) To UBound(Filenames) Set Pic = ActiveSheet.Pictures.Insert(Filenames(i)) With Pic .Top = ActiveCell.Top .Left = ActiveCell.Left .Placement = xlMove .PrintObject = True End With With Pic.ShapeRange .LockAspectRatio = msoTrue .Height = ActiveCell.MergeArea.Height End With ActiveCell.Offset(0, 7).Select Set Pic = Nothing Next i Application.ScreenUpdating = True End Sub

  • Excel-VBA セルのデータ書出し(Q2)

    セル[A1:G5]に次の様なデータが適当に在るとします。 各セル内のデータ数は様々で空のセルも在ります。 セルの書式設定は「折り返して全体を表示する」です。 '---------- 中国 '---------- 鳥取県  ←各データは[Alt]+[Enter]で改行。 島根県 '---------- 岡山県 広島県 山口県 '---------- ▼やりたい事は、セル[A1:G5]のデータを、 セル[A11]直下へ次々と書き出したいのですが、 選択範囲が、 [A1:A5]とか[B1:B5]…は上手く張り付きますが、 [A1:G1]とか[A1:G5]…は上手く張り付きません!? ご教授宜しくお願い致します。 '--------------------------- Sub test22() '行列のデータ範囲を選択して実行 Dim s As String Selection.Copy With New DataObject .GetFromClipboard s = .GetText .Clear .SetText Replace$(s, """", "") .PutInClipboard End With ActiveSheet.Paste Range("A11") End Sub '--------------------------- 以上

  • Excel-VBA セルのデータ書出し(Q2)

    セル[A1:G5]に次の様なデータが適当に在るとします。 各セル内のデータ数は様々で空のセルも在ります。 セルの書式設定は「折り返して全体を表示する」です。 '---------- 中国 '---------- 鳥取県  ←各データは[Alt]+[Enter]で改行。 島根県 '---------- 岡山県 広島県 山口県 '---------- ▼やりたい事は、セル[A1:G5]のデータを、 セル[A11]直下へ次々と書き出したいのですが、 選択範囲が、 [A1:A5]とか[B1:B5]…は上手く張り付きますが、 [A1:G1]とか[A1:G5]…は上手く張り付きません!? ご教授宜しくお願い致します。 '--------------------------- Sub test22() '行列のデータ範囲を選択して実行 Dim s As String Selection.Copy With New DataObject .GetFromClipboard s = .GetText .Clear .SetText Replace$(s, """", "") .PutInClipboard End With ActiveSheet.Paste Range("A11") End Sub '--------------------------- 以上

  • Excel-VBA セルのデータ書出し(Q2)

    セル[A1:G5]に次の様なデータが適当に在るとします。 各セル内のデータ数は様々で空のセルも在ります。 セルの書式設定は「折り返して全体を表示する」です。 '---------- 中国 '---------- 鳥取県  ←各データは[Alt]+[Enter]で改行。 島根県 '---------- 岡山県 広島県 山口県 '---------- ▼やりたい事は、セル[A1:G5]のデータを、 セル[A11]直下へ次々と書き出したいのですが、 選択範囲が、 [A1:A5]とか[B1:B5]…は上手く張り付きますが、 [A1:G1]とか[A1:G5]…は上手く張り付きません!? ご教授宜しくお願い致します。 '--------------------------- Sub test22() '行列のデータ範囲を選択して実行 Dim s As String Selection.Copy With New DataObject .GetFromClipboard s = .GetText .Clear .SetText Replace$(s, """", "") .PutInClipboard End With ActiveSheet.Paste Range("A11") End Sub '--------------------------- 以上

  • Excel-VBA セルのデータ書出し(Q2)

    セル[A1:G5]に次の様なデータが適当に在るとします。 各セル内のデータ数は様々で空のセルも在ります。 セルの書式設定は「折り返して全体を表示する」です。 '---------- 中国 '---------- 鳥取県  ←各データは[Alt]+[Enter]で改行。 島根県 '---------- 岡山県 広島県 山口県 '---------- ▼やりたい事は、セル[A1:G5]のデータを、 セル[A11]直下へ次々と書き出したいのですが、 選択範囲が、 [A1:A5]とか[B1:B5]…は上手く張り付きますが、 [A1:G1]とか[A1:G5]…は上手く張り付きません!? ご教授宜しくお願い致します。 '--------------------------- Sub test22() '行列のデータ範囲を選択して実行 Dim s As String Selection.Copy With New DataObject .GetFromClipboard s = .GetText .Clear .SetText Replace$(s, """", "") .PutInClipboard End With ActiveSheet.Paste Range("A11") End Sub '--------------------------- 以上

  • Excel-VBA セルのデータ書出し

    セル「A1」に次のデータが在るとします。 セルの書式設定は「折り返して全体を表示する」です。 金田 曽我部 武田 安藤 森田 ▼やりたい事は、 セル[A1]のデータを、一名ずつに分解して⇒セル[B1・B2・B3・B4・B5・・・]へ VBAで書き出したいのですが初心者にてコードが分かりません。 サンプルコードを紹介していただきたいのですが、 よろしくお願い致します。

  • Excelの条件付き書式のコピー

    Excel2007で条件付き書式でセルの色と罫線を設定しているセルがあります。 このセルをコピーして別シートに貼りつける際に、条件付き書式に合致して設定されている書式を条件なしで、そのままコピー出来ないでしょうか。 拙い説明で分かりにくいですが、イメージとしては計算式で数値が表示されているセルがある時に、計算式がいらない場合は、セルをコピーして値の貼付を行って数値だけを持っていくのと同じような事が条件付き書式でも出来ないか、と言う事です。

  • Excelの条件付き書式のコピー

    Excel2007で条件付き書式でセルの色と罫線を設定しているセルがあります。 このセルをコピーして別シートに貼りつける際に、条件付き書式に合致して設定されている書式を条件なしで、そのままコピー出来ないでしょうか。 拙い説明で分かりにくいですが、イメージとしては計算式で数値が表示されているセルがある時に、計算式がいらない場合は、セルをコピーして値の貼付を行って数値だけを持っていくのと同じような事が条件付き書式でも出来ないか、と言う事です。

  • Excel-VBA セルのデータ書出し

    セル「A1」に次のデータが在るとします。 セルの書式設定は「折り返して全体を表示する」です。 金田 曽我部 武田 安藤 森田 ▼やりたい事は、 セル[A1]のデータを、一名ずつに分解して⇒セル[B1・B2・B3・B4・B5・・・]へ VBAで書き出したいのですが初心者にてコードが分かりません。 サンプルコードを紹介していただきたいのですが、 よろしくお願い致します。

  • Excel 画像置き換え?

    Excel2000でa.gifをはりつけたシートが10あるとします。 画像は同じa.gifですが、それぞれ別の文字がかかれています。 a.gifを頻繁に新しい物と更新したいため a.gifの新しい物を元あった古いa.gifの物と交換して同じ場所に保存します。 10シート一括で新しいa.gifと交換したいのですが シフトで10シート選んでも画像の処理はできませんでした 元のa.gifと同じ場所に起きたいため 貼り付け作業が10シートあるとかなり面倒です。 a.gifを新しく上書きしただけで Excelに自動的に画像が更新される方法か (WEB作成的な) Excelの動作で複数のシートの画像方法を教えてください

  • 【ExcelVBA】図の縮小貼付時のトラブル

    ExcelVBAで「ActiveSheet.PasteSpecial Format:="図 (jpeg)"」という記述を使った際、 ある一定の行までは正常に図が貼り付けられるのですが、ある一定の行以降は図が 正常に張り付かない(つぶれた図になってしまう)現象に悩まされています。 ※正確には行数ではなく、選択したセルのselection.topの値が28000を超えた  あたりからおかしくなります(1行の高さが高いほど、低い行数から現象が発生します) もし何かしらの解決策を頂ければと思い、質問させて頂きました。 宜しくお願い致します。 マクロ自体は「セルを選択して実行し、図を選択すると、縦横の比率を計算してセル内に 貼り付けてくれる」という機能に、「ファイルサイズを縮小する為、貼り付けた図を一度 切り取りして、ペーストする」という作業を行っております。 Sub Paste_Picture() Dim CELL_WIDTH As Long Dim CELL_HEIGHT As Long Dim CELL_TOP As Long Dim CELL_LEFT As Long Dim CELL_PERCENTAGE As Single Dim PHOTO_WIDTH As Long Dim PHOTO_HEIGHT As Long Dim PHOTO_TOP As Long Dim PHOTO_LEFT As Long Dim PHOTO_PERCENTAGE As Single Dim PHOTO_FILE_NAME As String Dim myPHOTO As Object Application.ScreenUpdating = False Application.Calculation = xlCalculationManual PHOTO_FILE_NAME = Application.GetOpenFilename _ (Filefilter:="画像 ファイル(*.BMP;*.JPG;*.TIF), *.BMP;*.JPG;*.TIF") If PHOTO_FILE_NAME = "False" Then Exit Sub End If ActiveSheet.Select CELL_WIDTH = Selection.Width CELL_HEIGHT = Selection.Height CELL_TOP = Selection.Top CELL_LEFT = Selection.Left CELL_PERCENTAGE = CELL_HEIGHT / CELL_WIDTH Set myPHOTO = ActiveSheet.Pictures.Insert(PHOTO_FILE_NAME) PHOTO_WIDTH = myPHOTO.Width PHOTO_HEIGHT = myPHOTO.Height PHOTO_TOP = myPHOTO.Top PHOTO_LEFT = myPHOTO.Left PHOTO_PERCENTAGE = PHOTO_HEIGHT / PHOTO_WIDTH If CELL_PERCENTAGE > PHOTO_PERCENTAGE Then myPHOTO.Width = CELL_WIDTH * 0.95 myPHOTO.Height = CELL_WIDTH * PHOTO_PERCENTAGE * 0.95 myPHOTO.Cut ActiveSheet.PasteSpecial Format:="図 (jpeg)"        ←ここで図がおかしくなります。 Selection.Top = CELL_TOP + _ (CELL_HEIGHT - (CELL_WIDTH * PHOTO_PERCENTAGE * 0.95)) / 2 Selection.Left = CELL_LEFT + (CELL_WIDTH * 0.025) Else (中略) End If Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic Set myPHOTO = Nothing End Sub

  • 【ExcelVBA】図の縮小貼付時のトラブル

    ExcelVBAで「ActiveSheet.PasteSpecial Format:="図 (jpeg)"」という記述を使った際、 ある一定の行までは正常に図が貼り付けられるのですが、ある一定の行以降は図が 正常に張り付かない(つぶれた図になってしまう)現象に悩まされています。 ※正確には行数ではなく、選択したセルのselection.topの値が28000を超えた  あたりからおかしくなります(1行の高さが高いほど、低い行数から現象が発生します) もし何かしらの解決策を頂ければと思い、質問させて頂きました。 宜しくお願い致します。 マクロ自体は「セルを選択して実行し、図を選択すると、縦横の比率を計算してセル内に 貼り付けてくれる」という機能に、「ファイルサイズを縮小する為、貼り付けた図を一度 切り取りして、ペーストする」という作業を行っております。 Sub Paste_Picture() Dim CELL_WIDTH As Long Dim CELL_HEIGHT As Long Dim CELL_TOP As Long Dim CELL_LEFT As Long Dim CELL_PERCENTAGE As Single Dim PHOTO_WIDTH As Long Dim PHOTO_HEIGHT As Long Dim PHOTO_TOP As Long Dim PHOTO_LEFT As Long Dim PHOTO_PERCENTAGE As Single Dim PHOTO_FILE_NAME As String Dim myPHOTO As Object Application.ScreenUpdating = False Application.Calculation = xlCalculationManual PHOTO_FILE_NAME = Application.GetOpenFilename _ (Filefilter:="画像 ファイル(*.BMP;*.JPG;*.TIF), *.BMP;*.JPG;*.TIF") If PHOTO_FILE_NAME = "False" Then Exit Sub End If ActiveSheet.Select CELL_WIDTH = Selection.Width CELL_HEIGHT = Selection.Height CELL_TOP = Selection.Top CELL_LEFT = Selection.Left CELL_PERCENTAGE = CELL_HEIGHT / CELL_WIDTH Set myPHOTO = ActiveSheet.Pictures.Insert(PHOTO_FILE_NAME) PHOTO_WIDTH = myPHOTO.Width PHOTO_HEIGHT = myPHOTO.Height PHOTO_TOP = myPHOTO.Top PHOTO_LEFT = myPHOTO.Left PHOTO_PERCENTAGE = PHOTO_HEIGHT / PHOTO_WIDTH If CELL_PERCENTAGE > PHOTO_PERCENTAGE Then myPHOTO.Width = CELL_WIDTH * 0.95 myPHOTO.Height = CELL_WIDTH * PHOTO_PERCENTAGE * 0.95 myPHOTO.Cut ActiveSheet.PasteSpecial Format:="図 (jpeg)"        ←ここで図がおかしくなります。 Selection.Top = CELL_TOP + _ (CELL_HEIGHT - (CELL_WIDTH * PHOTO_PERCENTAGE * 0.95)) / 2 Selection.Left = CELL_LEFT + (CELL_WIDTH * 0.025) Else (中略) End If Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic Set myPHOTO = Nothing End Sub

  • Excel電子印鑑をユーザーフォームのみで扱いたい

    EXCELのアドイン“Excel電子印鑑ver2.0”をユーザーフォームからのみで扱いたいのですが、 うまくいきません。 ユーザーフォーム1のコマンドボタンを押す          ↓      電子印鑑を押印          ↓ ユーザーフォーム1にもどる(再表示) という流れにしたいのですが、sendkeys部分をカットしたような処理となります。 Sendkeyはアクティブウインドウでないといけないということで 押印する前にユーザーフォームを閉じております。 そして押印した後、またユーザーフォームに戻りたいのですが、うまくいきません。 下記のコードでuserform1.showを消すとうまく押印まで処理はできています。 よろしくお願いします。 Private Sub CommandButton1_Click() Unload Me SendKeys "{F10}ED"  UserForm1.Show End Sub