Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


330 / 3841 ページ ←次へ | 前へ→

【75824】Re:ブックの共有時のハイパーリンク使用2
発言  ゆーあ  - 14/7/11(金) 9:44 -

引用なし
パスワード
   ▼γ さん

コメントありがとうございます。

>うまくいかない、だけだと説明不足です。
>エラーがでるなら何というメッセージなのか、想定と違うならその説明を。
すみません。
状況としは、メッセージ等の表示は無く、フリーズします。
多分、バックグラウンドで何らかの処理は動いており、
その処理間フリーズし、処理後何も起きないまま操作可能になります。

>(1)WK_Link の内容を確認する。
>(2)Workbooks.Open WK_Link は動作するか確認する。
>(3)共有でない普通のブックで、
>  WSH.Run """" & WK_Link & """", 3
>  が動作するか確認する。
>といったことを実行してみては?
ありがとうございます!
今から試してみます!!
・ツリー全体表示

【75823】Re:ブックの共有時のハイパーリンク使用2
発言  ゆーあ  - 14/7/11(金) 9:38 -

引用なし
パスワード
   ▼独覚 さん

コメントありがとうございます。
並びに、またまた申し訳御座いません。

又、状況も説明不足ですみません。
状況としは、メッセージ等の表示は無く、フリーズします。
多分、バックグラウンドで何らかの処理は動いており、
その処理間フリーズし、処理後何も起きないまま操作可能になります。

尚、開くファイルは、
エクセルとPDFになります。
PDFですと、お教え頂いたコードで問題なく開きますので、無視してました。


あとご指摘頂いた、
>  Cells(ACR, 3).ClearContents
>を
>  Cells(ACR, 6).ClearContents
>じゃないかな?
は、仰る通り間違いでした。。。
ありがとうございます。
・ツリー全体表示

【75822】Re:ブックの共有時のハイパーリンク使用2
発言  γ  - 14/7/11(金) 9:27 -

引用なし
パスワード
   うまくいかない、だけだと説明不足です。
エラーがでるなら何というメッセージなのか、想定と違うならその説明を。

(1)WK_Link の内容を確認する。
(2)Workbooks.Open WK_Link は動作するか確認する。
(3)共有でない普通のブックで、
  WSH.Run """" & WK_Link & """", 3
  が動作するか確認する。
といったことを実行してみては?
・ツリー全体表示

【75821】Re:ブックの共有時のハイパーリンク使用2
発言  独覚  - 14/7/11(金) 9:22 -

引用なし
パスワード
   ▼ゆーあ さん:
>WinXP Excel2000
>
>先日お教え頂き、ブックの共有を行った状態で、
>HYPERLINK関数を使用し、JPGファイルを開くことが出来たのですが、
>今回、同様のコードでxlsファイルを開こうと思ったのですが、上手くいきません。

こういう場合にはどのような状況になるのかを書いてね。

私のところではゆーあさんのマクロで共有状態でEXCELが開かれてます。

なので開かれない時に何かメッセージがないのか、等が問題の解決につながる可能性があります。

で、開くファイルがEXCELのブック限定だったら
Set WSH = CreateObject("Wscript.Shell")
WSH.Run """" & WK_Link & """", 3
Set WSH = Nothing
の代わりに
Workbooks.Open WK_Link
でもいいのでは?

あと、

>  If Cells(ACR, 3) = "" Then
>  Cells(ACR, 3).ClearContents
>  Exit Sub
は式をクリアするところなんで
>  Cells(ACR, 3).ClearContents

>  Cells(ACR, 6).ClearContents
じゃないかな?
・ツリー全体表示

【75820】Re:図ツール→シャープネスの値の指定
お礼  Guppy  - 14/7/10(木) 23:56 -

引用なし
パスワード
   kanabun さん

ありがとうございました。
ご享受いただいた内容で、思ったように動作いたしました。
非常に助かりました。
・ツリー全体表示

【75819】ブックの共有時のハイパーリンク使用2
質問  ゆーあ  - 14/7/10(木) 16:58 -

引用なし
パスワード
   WinXP Excel2000

先日お教え頂き、ブックの共有を行った状態で、
HYPERLINK関数を使用し、JPGファイルを開くことが出来たのですが、
今回、同様のコードでxlsファイルを開こうと思ったのですが、上手くいきません。
下記に、コードを記載致しますので、
ご教授の程、宜しくお願い致します。


セルC1に、xlsファイルのパス名があり、
セルF1のHYPERLINK関数を使用して、C1を参照しファイルを開いてます。
Private Sub CommandButton6_Click()
Dim ACR As Long
Dim WK_Link As String
Dim WSH
  Worksheets("Sheet5").Activate
  ACR = ActiveCell.Row
  Cells(ACR, 6).Select
  ActiveCell.FormulaR1C1 = "=HYPERLINK(RC[-3],RC[-3])"
  
  WK_Link = Cells(ACR, 6).Value
  If Cells(ACR, 3) = "" Then
  Cells(ACR, 3).ClearContents
  Exit Sub
  End If
  Set WSH = CreateObject("Wscript.Shell")
  WSH.Run """" & WK_Link & """", 3
  Set WSH = Nothing
  
  Worksheets("Sheet1").Select
End Sub
・ツリー全体表示

【75818】Re:図ツール→シャープネスの値の指定
発言  kanabun  - 14/7/10(木) 15:56 -

引用なし
パスワード
   画像を挿入してそれを選択して実際に実験してみました。

Sub test1()
  Dim pic As ShapeRange
  Set pic = Selection.ShapeRange '選択画像
  With pic.Fill.PictureEffects
    With .Insert(msoEffectSharpenSoften)
      .EffectParameters(1).Value = 0.3
    End With
  End With
End Sub

.EffectParameters(1).Value = 0.3 とすると 30% Sharpen,
.EffectParameters(1).Value = -0.3 とすると 30% Soften されるようです。
・ツリー全体表示

【75817】Re:図ツール→シャープネスの値の指定
発言  kanabun  - 14/7/10(木) 15:42 -

引用なし
パスワード
   ▼Guppy さん:

>開発環境:Excel2010+Win7Pro
>ピクチャを貼り付けた後、図ツール→図の修整→シャープネスという項目が
>あると思いますがこの値をVBAにて編集するときはどのようにすればよいでしょうか?

Selection.ShapeRange.Fill.PictureEffects オブジェクト

のInsertメソッドで 対象とする EffectType を挿入するようなことが
Help の
PictureEffects.Insert メソッド
に書いてあります。

> ' Insert Brightness/Contrast effect and set values to -50% Brightness and +25% Contrast.
>  Dim brightnessContrast As PictureEffect
>  Set brightnessContrast = .Insert(msoEffectBrightnessContrast)
>  brightnessContrast.EffectParameters(1).Value = -0.5
>  brightnessContrast.EffectParameters(2).Value = 0.25

上の例は
.Insert(msoEffectBrightnessContrast)
でしたが、
MsoPictureEffectType 列挙
をみると、
msoEffectSharpenSoften
というのがあるので、シャープネスなら これを使うのかな?

自分は使ったことないので 正解は分りません。
・ツリー全体表示

【75816】Re:今日日付のセルを取得したいです
回答  γ  - 14/7/9(水) 22:00 -

引用なし
パスワード
   なにか、「Selectしないと作業できない」と決めつけている雰囲気で、
そこが気になったのですが、通じないようなのでスキップします。

Select動作をするものをとりあえず提示しておきます。

Sub test()
  Dim r As Range
  Dim myRange As Range

  For Each r In Range("D4:AH4")
    If r.Value = Date Then
      If myRange Is Nothing Then
        Set myRange = r
      Else
        Set myRange = Union(myRange, r)
      End If
    End If
  Next
  myRange.Select
End Sub
・ツリー全体表示

【75815】Re:今日日付のセルを取得したいです
発言  γ  - 14/7/9(水) 21:25 -

引用なし
パスワード
   ピックアップすることは理解しています。
それらのセルを同時に選択状態にする理由を尋ねています。

条件で取り出して、条件にかなったものを
ひとつずつ処理していくことはできないのですか?
という意味です。
・ツリー全体表示

【75814】Re:今日日付のセルを取得したいです
発言  困っています。 E-MAIL  - 14/7/9(水) 20:58 -

引用なし
パスワード
   ▼γ さん:
>それらのセルを同時に選択する理由は何でしょうか。
>つまり、そのあとどんなことをしようとしていますか?
>(場合によっては、必ずしも選択する必要がないかもしれません。)


早速のお返事ありがとうございます。
今、全員のスケジュールを把握するために全体スケジュールから必要な情報だけをひとつひとつピックアップしている現状です。その作業の簡素化が目的です。

ボタン一つでその日の必要なスケジュールのピックアップをすることが目的です。
必要なスケジュールは特定のセルのため、その日のこのセルとこのセルとこのセルと・・・と指定すれば
時間短縮につながると考えているためです。
・ツリー全体表示

【75813】Re:今日日付のセルを取得したいです
発言  γ  - 14/7/9(水) 20:44 -

引用なし
パスワード
   それらのセルを同時に選択する理由は何でしょうか。
つまり、そのあとどんなことをしようとしていますか?
(場合によっては、必ずしも選択する必要がないかもしれません。)
・ツリー全体表示

【75812】今日日付のセルを取得したいです
質問  困ってます  - 14/7/9(水) 20:26 -

引用なし
パスワード
   従業員全員の行動予定を把握するためのブックが有ります。

一か月の全部の予定がカレンダーの様になっていて
今日の予定だけをピックアップできるVBAがあると助かります。

D4からAH4までに今月の日付が入っています。(表示形式はユーザー設定で「d」になっている為、日付のみが表示されています。)

今日のセルがアクティブになれば、その先のピックアップはできるのですが、「今日」のセルをアクティブにする事が出来ません。

簡単なことかもしれませんが、既に丸一日検索などしたのですが、分かりませんでした。教えて頂けますでしょうか。
・ツリー全体表示

【75811】Re:ブックの共有時のハイパーリンク使用
お礼  ゆーあ  - 14/7/9(水) 15:35 -

引用なし
パスワード
   ▼独覚 さん:

コメントありがとうございます。
まさに、こっちの

>Private Sub CommandButton6_Click()
>  Dim ACR    As Long
>  Dim WK_Link  As String
>  Dim WSH
>
>  ACR = ActiveCell.Row
>  
>  Cells(ACR, 6).Select
>  
>  ActiveCell.FormulaR1C1 = "=HYPERLINK(RC[-5],RC[-5])"
>  WK_Link = Cells(ACR,6).Value
>  If Cells(ACR,1) = "" then
>    Cells(ACR, 6).ClearContents
>    Exit Sub
>  End If
>  Set WSH = CreateObject("Wscript.Shell")
>  WSH.Run WK_Link, 3
>  Set WSH = Nothing
>
>  Worksheets("Sheet1").Select
> End Sub

のようになってますよ。
私がコードをのせれば良かったんですね。。。
配慮が足らず申し訳御座いません。

でも、これでやっぱりまっるとOKってことですよね。
良かったです!ありがとうございます!
・ツリー全体表示

【75810】Re:ブックの共有時のハイパーリンク使用
発言  独覚  - 14/7/9(水) 15:17 -

引用なし
パスワード
   ▼ゆーあ さん:

もしかして、私のほうではプログラムが
Private Sub CommandButton6_Click()
  Dim ACR    As Long
  Dim WK_Link  As String
  Dim WSH

  ACR = ActiveCell.Row
  
  WK_Link = Cells(ACR, 1).Value
  If WK_Link = "" Then
    Cells(ACR, 6).ClearContents
    Exit Sub
  End If
  
  Cells(ACR, 6).Select
  
  ActiveCell.FormulaR1C1 = "=HYPERLINK(RC[-5],RC[-5])"
  Set WSH = CreateObject("Wscript.Shell")
  WSH.Run WK_Link, 3
  Set WSH = Nothing

  Cells(ACR, 2).Select
  Worksheets("Sheet1").Select
End Sub
だと考えての発言だったんだけれども

Private Sub CommandButton6_Click()
  Dim ACR    As Long
  Dim WK_Link  As String
  Dim WSH

  ACR = ActiveCell.Row
  
  Cells(ACR, 6).Select
  
  ActiveCell.FormulaR1C1 = "=HYPERLINK(RC[-5],RC[-5])"
  WK_Link = Cells(ACR,6).Value
  If Cells(ACR,1) = "" then
    Cells(ACR, 6).ClearContents
    Exit Sub
  End If
  Set WSH = CreateObject("Wscript.Shell")
  WSH.Run WK_Link, 3
  Set WSH = Nothing

  Cells(ACR, 2).Select
  Worksheets("Sheet1").Select
End Sub
のようになってるのかな?
これだったら設定後のA6セルの値を見るんで大丈夫だと思うけども。
・ツリー全体表示

【75809】Re:ブックの共有時のハイパーリンク使用
発言  ゆーあ  - 14/7/9(水) 14:35 -

引用なし
パスワード
   ▼独覚 さん

コメントありがとうございます。

>これは一度、実行してA6セルにHYPERLINK関数が入っている場合ではないですか?
>A1セルのパスを変更して実行すると変更前のファイルが開かれ、一度A1セルを空白にして
>実行後、A1セルにパスを入力して実行した場合はエラーになりませんか?

実行せずA6セルにHYPERLINK関数が入ってなく、コンボボタンを押す(実行)と、
何も実行しない(問題無い)ですよ。
又、A1セルのパスを変更して実行すると、
問題無く変更後のファイルが開かれます。
更に、一度A1セルを空白にして実行後、A1セルにパスを入力して
実行した場合も、問題無く画像ファイルが開きますよ。

奇跡的に正常な動作をしてるのでしょうか・・・・?
・ツリー全体表示

【75808】Re:ブックの共有時のハイパーリンク使用
発言  独覚  - 14/7/9(水) 13:54 -

引用なし
パスワード
   ▼ゆーあ さん:
>リンクのアドレス(リンク先)は、A1にありまして、
>A1のアドレスを、HYPERLINK関数でA6に、=HYPERLINK(A1,A1)
>となっております。
>っで、A1が空欄の場合、Runエラーになりますので、
>WL Link = Cells(ACR,A6).Value
> If Cells(ACR,1) = ""then
>で、OKになるわけです。ですよね?
まず、WK_Linkには「WSH.Run」で実行させるパスが入ります。
で、「Cells」でのセル指定は
Cells(行番号,列番号)
なので「Cells(ACR,6).Value」だとアクティブセルと同じ行の6列目(F列)つまりHYPERLINK関数を
入力するセルの値(変更前)になります。
本来「WK_Link」に入れるのはA1セル(アクティブセルと同じ行の1列目)の値なので
「Cells(ACR,1).Value」になり、この「WK_Link」が空白かどうかで処理を変えることになります。


>ブックの共有時での動作も問題無く確認出来てますので、
>まるっとOKだと思います。

これは一度、実行してA6セルにHYPERLINK関数が入っている場合ではないですか?
A1セルのパスを変更して実行すると変更前のファイルが開かれ、一度A1セルを空白にして
実行後、A1セルにパスを入力して実行した場合はエラーになりませんか?
・ツリー全体表示

【75807】Re:ブックの共有時のハイパーリンク使用
発言  ゆーあ  - 14/7/9(水) 13:12 -

引用なし
パスワード
   ▼独覚 さん:

コメントありがとうございます。
多分、また私の説明不足(下手&誤記)による、
独覚さんの認識違いです。。。すみません。。。

リンクのアドレス(リンク先)は、A1にありまして、
A1のアドレスを、HYPERLINK関数でA6に、=HYPERLINK(A1,A1)
となっております。
っで、A1が空欄の場合、Runエラーになりますので、
WL Link = Cells(ACR,A6).Value
 If Cells(ACR,1) = ""then
で、OKになるわけです。ですよね?

ブックの共有時での動作も問題無く確認出来てますので、
まるっとOKだと思います。

最後の最後まで、混乱させて申し訳御座いません。
・ツリー全体表示

【75806】Re:ブックの共有時のハイパーリンク使用
発言  独覚  - 14/7/9(水) 10:58 -

引用なし
パスワード
   ▼ゆーあ さん:
>WK_Link = Cells(ACR,6).Value
>  If Cells(ACR,1) = "" then
>  Cells(ACR, 6).ClearContents
> Exit Sub
> End If

あれ?、
>WK_Link = Cells(ACR,6).Value

>WK_Link = Cells(ACR,1).Value
じゃないのかな?

>WK_Link = Cells(ACR,6).Value
で、うまく動きますか?

>WK_Link = Cells(ACR,1).Value
にすれば
>  If Cells(ACR,1) = "" then

>  If WK_Link = "" then
でいいはずだけど。
・ツリー全体表示

【75805】Re:ブックの共有時のハイパーリンク使用
お礼  ゆーあ  - 14/7/9(水) 10:45 -

引用なし
パスワード
   ▼独覚 さん

ありがとうございます!
見事に完成しました!!感無量です!!

最初また同じRunエラーがでたんですけど、
下記コードに変更したら回避できたました!!

お忙しい中、本当に長々お付き合い頂き誠にありがとうございました。
ご迷惑ばかりお掛けしましたが、
私自身も成長させて頂き、感謝しか御座いません。
心より御礼申し上げます。本当にありがとうございました。

WK_Link = Cells(ACR,6).Value
  If Cells(ACR,1) = "" then
  Cells(ACR, 6).ClearContents
 Exit Sub
End If
・ツリー全体表示

330 / 3841 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free