Excel VBA質問箱 IV

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

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


9904 / 13644 ツリー ←次へ | 前へ→

【24772】同じ文字列があるセルを選択する方法 hirop 05/5/9(月) 19:04 質問[未読]
【24773】Re:同じ文字列があるセルを選択する方法 ichinose 05/5/9(月) 19:12 発言[未読]
【24777】Re:同じ文字列があるセルを選択する方法 hirop 05/5/10(火) 10:14 質問[未読]
【24778】Re:同じ文字列があるセルを選択する方法 Kein 05/5/10(火) 10:46 発言[未読]
【24779】Re:同じ文字列があるセルを選択する方法 hirop 05/5/10(火) 11:17 回答[未読]
【24783】Re:同じ文字列があるセルを選択する方法 hirop 05/5/10(火) 13:45 質問[未読]
【24792】Re:同じ文字列があるセルを選択する方法 hirop 05/5/10(火) 20:08 発言[未読]
【24793】Re:同じ文字列があるセルを選択する方法 Kein 05/5/10(火) 20:36 回答[未読]
【24803】Re:同じ文字列があるセルを選択する方法 hirop 05/5/11(水) 9:29 お礼[未読]
【24822】Re:同じ文字列があるセルを選択する方法 hirop 05/5/11(水) 11:50 質問[未読]
【24831】Re:同じ文字列があるセルを選択する方法 hirop 05/5/11(水) 14:42 質問[未読]
【24858】Re:同じ文字列があるセルを選択する方法 ponpon 05/5/11(水) 19:04 回答[未読]

【24772】同じ文字列があるセルを選択する方法
質問  hirop  - 05/5/9(月) 19:04 -

引用なし
パスワード
   同一シートで同一の文字列があるセルを選択するマクロを教えてください。

最終的に私が実行したいマクロは
1..あるセルに入力されている文字と同じ文字が入力されているセルを選択します。
2..選択されたセルから4行、-1列移動したセルを基準に、そこから10行、3列の範囲の数値をグラフ化する。

アルゴリズム的にBetterな方法があれば、それも教えてください。

【24773】Re:同じ文字列があるセルを選択する方法
発言  ichinose  - 05/5/9(月) 19:12 -

引用なし
パスワード
   ▼hirop さん:
こんばんは。

>同一シートで同一の文字列があるセルを選択するマクロを教えてください。
>
>最終的に私が実行したいマクロは
>1..あるセルに入力されている文字と同じ文字が入力されているセルを選択します。
>2..選択されたセルから4行、-1列移動したセルを基準に、そこから10行、3列の範囲の数値をグラフ化する。
>
>アルゴリズム的にBetterな方法があれば、それも教えてください。

HelpでRangeオブジェクトのFindメソッドを調べてみて下さい。
使用例に参考になりそうなコードが出ていますよ!!

【24777】Re:同じ文字列があるセルを選択する方法
質問  hirop  - 05/5/10(火) 10:14 -

引用なし
パスワード
   ▼ichinose さん:
回答ありがとうございます。
しかし、私のPCにはVBAのHELP機能が無いため、調査することができません。
申し訳ありませんが、詳しく教えてください。
以上
>▼hirop さん:
>こんばんは。
>
>>同一シートで同一の文字列があるセルを選択するマクロを教えてください。
>>
>>最終的に私が実行したいマクロは
>>1..あるセルに入力されている文字と同じ文字が入力されているセルを選択します。
>>2..選択されたセルから4行、-1列移動したセルを基準に、そこから10行、3列の範囲の数値をグラフ化する。
>>
>>アルゴリズム的にBetterな方法があれば、それも教えてください。
>
>HelpでRangeオブジェクトのFindメソッドを調べてみて下さい。
>使用例に参考になりそうなコードが出ていますよ!!

【24778】Re:同じ文字列があるセルを選択する方法
発言  Kein  - 05/5/10(火) 10:46 -

引用なし
パスワード
   >VBAのHELP機能が無い
VBAを扱う以上、ヘルプファイルのインストールは必須条件です。ベテラン・上級者でも
ヘルプを使うときがあります。
ExcelのCDを入れて、カスタムセットアップすればインストールできますから、
必ず入れておいて下さい。

【24779】Re:同じ文字列があるセルを選択する方法
回答  hirop  - 05/5/10(火) 11:17 -

引用なし
パスワード
   ▼Kein さん:
回答ありがとうございました。
対応いたします。

>>VBAのHELP機能が無い
>VBAを扱う以上、ヘルプファイルのインストールは必須条件です。ベテラン・上級者でも
>ヘルプを使うときがあります。
>ExcelのCDを入れて、カスタムセットアップすればインストールできますから、
>必ず入れておいて下さい。

【24783】Re:同じ文字列があるセルを選択する方法
質問  hirop  - 05/5/10(火) 13:45 -

引用なし
パスワード
   ▼ichinose さん:
回答ありがとうございました。
おかげで、同一の文字列があるセルを選択するマクロは完成しました。
しかし、選択されたセルから4行、-1列移動したセルを基準に、そこから10行、3列の範囲の数値をグラフ化するマクロがわかりません。
下記マクロをどのように変更したら、目的が達成できるのか教えてください。

Range("B10").Activate
  Range("B10:B21,I10:K21").Select
  Range("I10").Activate
  Charts.Add
  ActiveChart.ChartType = xlXYScatterLinesNoMarkers
  ActiveChart.SetSourceData Source:=Sheets("sheet1").Range("B10:B21,I10:K21"), _
    PlotBy:=xlColumns
  ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="sheet2"

ちなみにI10:K20の範囲を変数化したのですが・・・。

>▼hirop さん:
>こんばんは。
>
>>同一シートで同一の文字列があるセルを選択するマクロを教えてください。
>>
>>最終的に私が実行したいマクロは
>>1..あるセルに入力されている文字と同じ文字が入力されているセルを選択します。
>>2..選択されたセルから4行、-1列移動したセルを基準に、そこから10行、3列の範囲の数値をグラフ化する。
>>
>>アルゴリズム的にBetterな方法があれば、それも教えてください。
>
>HelpでRangeオブジェクトのFindメソッドを調べてみて下さい。
>使用例に参考になりそうなコードが出ていますよ!!

【24792】Re:同じ文字列があるセルを選択する方法
発言  hirop  - 05/5/10(火) 20:08 -

引用なし
パスワード
   どなたか教えてください。

>同一シートで同一の文字列があるセルを選択するマクロを教えてください。
>
>最終的に私が実行したいマクロは
>1..あるセルに入力されている文字と同じ文字が入力されているセルを選択します。
>2..選択されたセルから4行、-1列移動したセルを基準に、そこから10行、3列の範囲の数値をグラフ化する。
>
>アルゴリズム的にBetterな方法があれば、それも教えてください。

【24793】Re:同じ文字列があるセルを選択する方法
回答  Kein  - 05/5/10(火) 20:36 -

引用なし
パスワード
   セル範囲を検索するのだから、検索値をセルに入力するのは好ましくありません。
InputBox等を使って、検索値を取得するような形の方がベターです。
例えば

Dim FSt As String
Dim FR As Range, PltR As Range

Do
  FSt = InputBox("検索する文字列を入力して下さい")
  If FSt = "" Or IsNumeric(FSt) Then Exit Sub
  Set FR = Sheets("Sheet1").Cells.Find(FSt, , xlValues, xlWhole)
  If FR Is Nothing Then
   MsgBox "その検索値は見つかりません" & vbLf & _
   "他の文字列を入力して下さい", 48
  End If
Loop While FR Is Nothing
Set PltR = FR.Offset(4, -1).Resize(10, 3)
With Charts.Add
  .ChartType = xlXYScatterLinesNoMarkers
  .SetSourceData PltR, xlColumns
  .Location xlLocationAsNewSheet, "Sheet2"
End With
Set FR = Nothing: Set PltR = Nothing

などのコードが考えられます。なお、あくまで
>選択されたセルから4行、-1列移動したセルを基準に、
>そこから10行、3列の範囲の数値をグラフ化
という前提です。実態と違っていたとしても、説明不足の責任はそちらにあるのだから
上のコードを参考にして自分で改造して下さい。

【24803】Re:同じ文字列があるセルを選択する方法
お礼  hirop  - 05/5/11(水) 9:29 -

引用なし
パスワード
   回答ありがとうございました。
なにぶんVBAに関してど素人であるため、回答していただくための質問がわかりづらくなってしまい申し訳ありませんでした。

後は自分で教えていただいた構文を参考に改造してみます。

【24822】Re:同じ文字列があるセルを選択する方法
質問  hirop  - 05/5/11(水) 11:50 -

引用なし
パスワード
   回答いただいた後に自分で改造してみましたが、うまくいきません。

下記コード内のB10:B400はX軸の値になります。また、L10:N400はY軸の値の範囲となり、各列の値に対して3種類の曲線を書くグラフです。

Range("B10").Activate
Range("B10:B400,L10:N400").Select
Range("I10").Activate
Charts.Add
ActiveChart.ChartType = xlXYScatterLinesNoMarkers
ActiveChart.SetSourceData Source:=Sheets("データ").Range "B10:B400,L10:N400"), _
PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="電流波形"

そこで、X軸の値(B10:B400)は変更しないまま、Y軸の値となる範囲ををA10:C400などのように変更します。
A10:C400などの範囲を決めるにあたり、以前ご質問させていただいたようにシート内にある文字を検索し、一致する文字のあるセルを基準として3行下、1列左の位置がA10になるようにしたいのです。

つまり、ユーザーフォーム内のテキストボックスに入力した文字と一致した文字をシート内から検索し、一致した文字があるセルから3行下、1列左の位置からグラフを書く際にY軸の値となるA10:C400の範囲を選択します。

この場合どのようにすればよいのでしょうか?
教えてください。
 

【24831】Re:同じ文字列があるセルを選択する方法
質問  hirop  - 05/5/11(水) 14:42 -

引用なし
パスワード
   keinさんが書いたコード内で下記コードがありますが、このコードは何をしているのでしょうか?

.SetSourceData PltR, xlColumns

【24858】Re:同じ文字列があるセルを選択する方法
回答  ponpon  - 05/5/11(水) 19:04 -

引用なし
パスワード
   こんばんは。
横から失礼します。
何でも質問をする前にヘルプで調べるようにしましょう。
以下のような意味かな?

 '見つかったセル(FR)から(4, -1)オフセットしたところの範囲を(10, 3)に
 広げたものを変数 PltRにセットします。 
>Set PltR = FR.Offset(4, -1).Resize

 '追加したグラフの 
>With Charts.Add

  'グラフのタイプは、折れ線付き散布図(データマーカーなし)にして 
>  .ChartType = xlXYScatterLinesNoMarkers

  'グラフの元データのセル範囲は、変数PltRに格納した範囲にして、列方向を
  'データ系列にします。
>  .SetSourceData PltR, xlColumns

  ’できたグラフをsheet2に描画しなさい。 
>  .Location xlLocationAsNewSheet, "Sheet2"
>End With

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