• ベストアンサー

Excel2007で行番号を指定してセル範囲を

Excel2007で行番号を指定してセル範囲を抜き出したいです。 sheet2のF8に行番号を入れてsheet3のセル範囲(C:T)の値とセル範囲(AB:AS)の値を取り出して sheet2の(A2:AQ2)に入れます。目で分かりやすい様に背景色か色線で4等分したいです。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.3

参考に Sub Test()   Dim myNum As Variant   Dim ws2 As Worksheet, ws3 As Worksheet   myNum = Application.InputBox(prompt:="目的の行番号を入力して下さい。", Type:=1)   'キャンセルならExit   If VarType(myNum) = vbBoolean Then Exit Sub   Set ws2 = Worksheets("Sheet2")   Set ws3 = Worksheets("Sheet3")   ws2.Range("F8").Value = myNum   ws2.Range("A2:R2").Value = ws3.Cells(myNum, "C").Resize(, 18).Value   ws2.Range("S2:AJ2").Value = ws3.Cells(myNum, "AB").Resize(, 18).Value   ws2.Range("J2:R2").Interior.Color = vbYellow   ws2.Range("S2:AA2").Interior.Color = vbMagenta   ws2.Range("AB2:AJ2").Interior.Color = vbCyan End Sub

961awaawa
質問者

お礼

こんばんは、watabe007さん 。完璧にできました。言葉を理解されてるって素晴らしく素敵に思えました。ありがとうございました。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

こんな、質問者だけの、ある時の個別のスモールな課題をこんな公のところへ、丸投げ質問するのはどうかな。 ある一例(操作では、行などは特定せざるを得ないが)で、質問の操作をして、その際、マクロの記録をとって、出てきたコードを修正する(一般化する)箇所をつかみ、どのようにコードを変えるべきか、方法を考え、壁にぶつかったら、その点を質問すべきだろう。 マクロの記録で出てくる、「行」を変数化・相対化すると、どうなるか?。 マクロの記録で出てきたコードの掲載は略。 修正の一案。 Sub Macro1() x = 1 '色々場合で変わる Worksheets("Sheet1").Select Range("C" & x & ":T" & x).Select Selection.Copy Worksheets("Sheet2").Select Range("A2").Select ActiveSheet.Paste '--- Worksheets("Sheet1").Select Range("AB" & x & ":AS" & x).Select Application.CutCopyMode = False Selection.Copy Sheets("Sheet2").Select Range("S2").Select ActiveSheet.Paste End Sub 列数について、質問と違うかもしれないが質問者が考えて。

961awaawa
質問者

お礼

やはり皆さん色々な方法があるんですね。十人十色ですね。どういったやり方やクセを身に付ければ良い方向に行くのかって大事に思えてきました。皆さんのお陰様で少しずつ理解出来てる気がします。ありがとうございました。

  • SI299792
  • ベストアンサー率48% (713/1472)
回答No.2

謎です。 >sheet2のF8に行番号を入れて F8だと1か所です、1しか入りません。多分F8から下へだと思うのですが、どこまでですか。G列の最下データでしょうか。それとも全シートの最下でしょうか、まさかG1048576まで? C:T   18列 AB:AS  18列 A2:AQ2 43列、7列余るのですが? また、コピー元は行指定がないのに、コピー先は2行目だけです。どうするのですか? >背景色か色線で どっちですが >4等分 43列をどうやって4等分しますか? 色はこっちで決めていいのですか?

961awaawa
質問者

お礼

すみません。沢山お気遣いありがとうございました。

  • msMike
  • ベストアンサー率20% (363/1775)
回答No.1

言葉に依る説明はそのくらいにして、サンプルデータを埋め込んだ表(行列番号を付して)形式で Sheet2、Sheet3 を示してください。 その方が回答者が「目で分かりやすい」し、貴方にとってもそうなるでしょ?

961awaawa
質問者

お礼

ありがとうございました。

関連するQ&A

  • VLOOKUPのセル範囲指定

    VLOOKUP(検索値,セル範囲,列番号,検索型) のうち、セル範囲を別の色々なワークシート上のセル範囲として指定したい と思っています。 ワークシート名を書いたセルをT()で参照すればできるかと思ったのですが、 エラーになってしまいました。ワークシートが少数であればIFをつかって 場合わけをしても良いのですが、そこそこ数がある上にこれから増えるかも しれないので、どうにかワークシート名を簡単に変更・指定できる方法が ないか悩んでいます。 なにか知恵があれば教えてください。 よろしくお願いします。

  • (Excel)範囲中のデータのうち条件に該当するデータのセルの行番号・列番号を取得したいのですが

    例えば、B2からF5の範囲にデータが入力されていて、このうち条件に該当するデータ(最大値)のセルの行番号・列番号を取得したいのですが何か良い方法はありますでしょうか。 最大値のセルをアクティブにする方法が分かれば問題は解決するのですが、調べてみても答えが見つかりませんでした。 また、他に良い方法があればぜひともよろしくお願いします。 回答はVBAでもワークシート関数でも、どちらでも結構です。 ExcelはExcel2000、OSはWindows2000を使用しています。

  • エクセルの「数式が入った結合セル」を範囲指定して、値だけ貼り付ける方法。

    よろしくお願いします。 F列とG列のセルを結合させたセルが立てに10個あります。 10個のセルには、同じ行の「C列のセル/D列のセル」の数式が入っています。 収入割合が%表示で判るようになっています。 別のブックシートにこの10個のセルの値を転記したいと思い、範囲指定して「貼付」または「形式を選択して貼付(値)」しても、「この操作には同じサイズの結合セルが必要です。」となってしまいます。 貼付先は、別のシートのN列とO列を結合させて、貼付元と同じ幅のにした範囲指定した 10個のセルです。 なぜ、値の貼付が出来ないのでしょうか? (win2000 Excel2000)

  • VBAでのセル範囲指定について

    お世話になります。 私が分からないのは、VBAでのセル範囲指定なのですが、 例えば、シートにデータが有、そのデータの1行目は見出しなので 2行目からデータが入っているセルまでの範囲を指定、コピーして 隣のシートに貼付したいのですが、そのデータの入力される範囲が 毎回違います。「CurrentRegion.Select」としてしまうと、1行目 の見出しまでも範囲指定されてしますので、どうやったら良いのか どなたかお教え頂きたく宜しくお願い申し上げます。

  • VBA 指定値に最も近い値のセルの行番号は?

    A列に数値が昇順で並んでます。指定の値に最も近い値が並んでるセルの行番号を知りたいのです。 WorksheetFunction.vlookupを使うと、値は分っても行番号はわからない筈です。 Cells.Find().Row を使うと、行番号はわかりますが「最も近い」値はわからない筈です。 マクロを組め!との御指摘があるかも知れませんが、便利な関数があるのならそれで済ませたいです。何かありませんか?無ければ諦めます。

  • Excel2007の一括セル結合で、

    Excel2007の一括セル結合で、指定した範囲内の行を 一括でそれぞれの行だけをセル結合する方法を教えてください。 添付図の例では、A1~F3を範囲指定して 一括でセル結合して、18セルを3セルにする方法です。

  • Excel2003 エクセル ある行の範囲内で最小値のみのセルに色をつ

    Excel2003 エクセル ある行の範囲内で最小値のみのセルに色をつけ 条件付き書式の設定で セルの値が 次の値に等しい =MIN(A1:D1)より 書式からパターンを選択して色付けはできています。 しかし、範囲内のセルに全て未入力の場合、全てのセルにパターンが入ってしまいます。 何か良い方法を教えて頂けませんでしょうか?

  • Excel2007のVBAで、セル範囲を指定し

    Excel2007のVBAで、セル範囲を指定して画像として保存したいです。 たとえば、 Worksheets("Sheet1").Range("A1:B10").CopyPicture xlScreen, xlBitmap Worksheets("Sheet2").Paste とすれば、別のシートに指定した範囲を画像にすることはでき、 さらにこれを、 With ActiveWorkbook.PublishObjects.Add(xlSourceSheet, "C:\test.html", _ "Sheet2", "", xlHtmlStatic, "image", "") .Publish (True) .AutoRepublish = False End With とすれば、画像を指定した場所に保存することはできると思います。 ただ、これだと無駄な処理をしているような気がしますし、実際時間も数秒必要です。 これが、グラフだと Worksheets("Sheet1").ChartObjects("グラフ1").Chart.Export Filename:="C:\graph.gif", FilterName:="gif" のように簡単に、しかも短時間で出来ます。 できれば、上記グラフのように、指定したSheetの指定したセル範囲を画像として指定した場所にPNGにて保存したいです。 どなたかご教授いただければ幸いです。

  • 数式を使ったセルの範囲指定について(excel 2003)

    数式を使ったセルの範囲指定について(excel 2003)  こんにちは     タイトルの意味が解りづらく申し訳ありません。 excelで数式の結果を用いてセルの範囲指定を行いたいのですが、 範囲指定方法についてご存知の方いらっしゃれば、ご教授頂ければ と思います。  例) =C(E14+15)   (←実際にはうまくいきませんでした。) のようにセルの指定をする際、数式の結果を反映させたいと 考えています。  よろしくお願い致します。

  • [excel]違うシートの行番号を取得したい

    こんにちは。 質問させて頂きます。 使用ソフトはexcel2010です。 やりたいことは、 ・違うシートの行番号を、違うシートに挿入した関数の中に挿入したい です。 現在、「データ」「入力」という2つのシートがあります。 「入力」というシートのP127のセル中に、 「=IF(F127="","",VLOOKUP(F127,リスト,2,FALSE))」という関数が入っています。  ※「データ」シート内に、{リスト}と名前を定義づけた所を参照しています。 「データ」というシートの{リスト}と名前を定義したところに、 「=ROUNDDOWN(((入力!D127+入力!I127+入力!K127入力!K127)*10)*0.9,0)」という関数が入っています。 このままだと、正常に計算してくれるのですが、「入力」のP128のセルに移ったとき、 「データ」の関数を 「=ROUNDDOWN(((入力!D128+入力!I128+入力!K128入力!K128)*10)*0.9,0)」 と言う具合に、「入力」の足し算するセルを移動させたいのですが、自動的にセルの番地を変えることが出来るのでしょうか? 「入力」の関数を入れる行数と同じ行番号で「データ」の足し算するセルの行番号を振り当てたいです。 分かりにくい説明ですが、お答えお待ちしております。 どうぞよろしくお願い致します。

専門家に質問してみよう