papayuka の回答履歴
- ソフトバンク紹介キャンペーン商品券引換
http://oshiete1.goo.ne.jp/qa3771785.htmlで質問した者です。 たくさんの方にアドバイスを頂いた結果、 2台目はソフトバンクが良いのではということになりました。 そこでまた疑問が出てしまいましたので 皆様に力を貸して頂きたいんです。 今回新規で購入するにあたって家族割りを使用したいため 同一名義で2台、ともくろんでます。。 そこで更に購入する際、 「紹介キャンペーン商品券引換」で5000円ももらっちゃおうと思ってるのですが、 同一名義で2台買う時はこの「紹介キャンペーン商品券引換」は使えるのでしょうか? 1枚につき1台、家族間の紹介は無効と記載してあったのですが 知人からもらった「紹介キャンペーン商品券引換」なら5000円もらえると言うことでしょうか? また、複数の知人からそれぞれもらえば「紹介キャンペーン商品券引換」で家族割りを使用する同一名義の場合、2台とも(=10.000円)もらえたりするんでしょうか? 文章力に欠け読みづらい、分かりづらい点もあるかと思いますが ご回答頂けたらと思います。 宜しくお願い致します。
- ソフトバンクだけメールサイズが大きいのですが…
ソフトバンクの携帯でメールを送信した場合、わずか数文字でも容量が500B以上になってしまいます。 友人のドコモの携帯から同様のメールを受信した場合は100B程度なのですが、どういうことなんでしょう? ソフトバンクのメールは特別にヘッダー等が多いのでしょうか? パケット量を増やそうという陰謀なのか…。 気になって仕方ありません からくりをご存知の方、教えてください
- ソフトバンク紹介キャンペーン商品券引換
http://oshiete1.goo.ne.jp/qa3771785.htmlで質問した者です。 たくさんの方にアドバイスを頂いた結果、 2台目はソフトバンクが良いのではということになりました。 そこでまた疑問が出てしまいましたので 皆様に力を貸して頂きたいんです。 今回新規で購入するにあたって家族割りを使用したいため 同一名義で2台、ともくろんでます。。 そこで更に購入する際、 「紹介キャンペーン商品券引換」で5000円ももらっちゃおうと思ってるのですが、 同一名義で2台買う時はこの「紹介キャンペーン商品券引換」は使えるのでしょうか? 1枚につき1台、家族間の紹介は無効と記載してあったのですが 知人からもらった「紹介キャンペーン商品券引換」なら5000円もらえると言うことでしょうか? また、複数の知人からそれぞれもらえば「紹介キャンペーン商品券引換」で家族割りを使用する同一名義の場合、2台とも(=10.000円)もらえたりするんでしょうか? 文章力に欠け読みづらい、分かりづらい点もあるかと思いますが ご回答頂けたらと思います。 宜しくお願い致します。
- ソフトバンク紹介キャンペーン商品券引換
http://oshiete1.goo.ne.jp/qa3771785.htmlで質問した者です。 たくさんの方にアドバイスを頂いた結果、 2台目はソフトバンクが良いのではということになりました。 そこでまた疑問が出てしまいましたので 皆様に力を貸して頂きたいんです。 今回新規で購入するにあたって家族割りを使用したいため 同一名義で2台、ともくろんでます。。 そこで更に購入する際、 「紹介キャンペーン商品券引換」で5000円ももらっちゃおうと思ってるのですが、 同一名義で2台買う時はこの「紹介キャンペーン商品券引換」は使えるのでしょうか? 1枚につき1台、家族間の紹介は無効と記載してあったのですが 知人からもらった「紹介キャンペーン商品券引換」なら5000円もらえると言うことでしょうか? また、複数の知人からそれぞれもらえば「紹介キャンペーン商品券引換」で家族割りを使用する同一名義の場合、2台とも(=10.000円)もらえたりするんでしょうか? 文章力に欠け読みづらい、分かりづらい点もあるかと思いますが ご回答頂けたらと思います。 宜しくお願い致します。
- 2台目は?■ウィルコムorソフトバンク
彼氏との電話が多く月々の携帯代が高いので 2台目としてウィルコムかソフトバンクを持とうという話になりました。 そこで問題なのはやっぱり毎月の携帯代の総額。 私はauで月15,000円位 彼氏はdocomoで25,000円。(仕事で使用する為 お互い月々の支払いのほとんどを通話料が占めています。 今端末自体が高額になって ウィルコムも2月から有料になったと聞きました。 もともと、ソフトバンクにしてラブ定額にしよーとかほざいてて。 あれとっくに新規契約終わってたんですね… 万年auなので知りませんでした。。 ラブ定額がない今、昼間働いている私たちにとってホワイトプランはいかがなものか。。 同じ職場なので電話はもっぱら夜です。 となると月980円の魅力はさておき、ソフトバンクは2台目として機能しないような… 彼氏とウィルコムもしくはソフトバンクを2台目として持っている方、 月々の携帯代(2台合計、内訳)など教えて頂けないでしょうか? 無知で申し訳ないですが宜しくお願い致します。 (両者の意見が欲しいため、 ウィルコムのカテゴリでも質問させて頂いてます。 ご了承お願い致します。m(_ _)m
- 問題でわからないところがあり・・・
当方VBAを始めたばかりで、VBAについての基礎問題をやっている最中以下の問題がまったく解けません。 どなた様か詳しい解説or解答をお願いしたいと思い、書き込みをしました。 1、インプットボックスに姓を入力する。再度インプットボックスに表示させるとともにdata3の番地E10に書き込む。 2、インプットボックスに小数点以下2ケタの実数を入力させる。前者を後者で割ったものをメッセージボックスに表示させるとともに、data3の番地G10に書き込む。 よろしくお願い致します。
- エクセルVBAで
1週間分のスケジュールをシートにセットするための入力フォームを作りました。 大まかには、◎年◎月◎週目と選択すると該当日(月~日)が表示され、各日に対するスケジュールを入力します。 『Cmdデータセット』と言うコマンドボタンをクリックすると該当シートにそのデータが反映されます。 シートは月間スケジュールと週間スケジュールに分かれていて、 コマンドボタンをクリックすると月間・週間のそれぞれ該当シートにデータを反映させます。・・・と言うものです。 週間スケジュールについては問題ないのですが、月間スケジュールで行き詰まってしまっています。 助けていただきたいのは・・・ 現在は”19年10月5週目”を選択していたら10月のシートを見るように設定してあります。 基本的にはこれで問題ないのですが、 例えば実際に”19年10月5週目”を選択したとします。 すると、10月29日~11月4日の日付が表示されます。 そのため、この状態だと10月1日~4日と10月29日~31日にデータが反映されてしまいます。 10月29日~31日分は10月のシートを見る(selectする)ように、11月1日~4日分は11月のシートを見る(selectする)ようにしたいのです。 月をまたがない場合は日付は必ず昇順となります。 日付が昇順の場合は現状通り選択した月のシートをselectし、 そうでない場合は1桁の数字(あるいは1~6)の分のみ 次(右隣)の月のシートをselect(ActiveSheet.Next.Select?)させたいのですが可能でしょうか? イメージとしてはselect文を条件式、「どのセルにどのスケジュールをセットするか」を実行する処理としてloopを使えたら。という感じなのですが。 VBAを独学で進めている上にまだまだ未熟のため、 馬鹿げていたりありえない話をしてしまっているかもしれませんが、何卒よろしくお願いします。
- 4.0マクロを Excel2003で実行?
以下のマクロはExcel2000までは動きますが、Excel2002、Excel2003では動きません。どのように修正すればよいのでしょう? マクロのことは全くわかりません。10年以上前に友人からもらったExcelファイルです。 プログラムを修正してくれる業者をご存知の方は教えてください。 ' ' Sub Record1() For I = 1 To 15 Cells(50, 1).Value = Cells(51, 4) - Cells(52, 4) * (I - 1) Application.ExecuteExcel4Macro String:="SOLVER.XLA!SOLVER.OK(!R49C2,2,0,(最適化!R49C3:R49C13))" Application.ExecuteExcel4Macro String:="SOLVER.XLA!SOLVER.SOLVE()" SendKeys ("{ENTER}") Range("C49:M49").Copy Cells(31 + I, 3).Select Selection.PasteSpecial Paste:=xlValues Next I End Sub
- ベストアンサー
- Visual Basic
- kent-goo
- 回答数6
- 4.0マクロを Excel2003で実行?
以下のマクロはExcel2000までは動きますが、Excel2002、Excel2003では動きません。どのように修正すればよいのでしょう? マクロのことは全くわかりません。10年以上前に友人からもらったExcelファイルです。 プログラムを修正してくれる業者をご存知の方は教えてください。 ' ' Sub Record1() For I = 1 To 15 Cells(50, 1).Value = Cells(51, 4) - Cells(52, 4) * (I - 1) Application.ExecuteExcel4Macro String:="SOLVER.XLA!SOLVER.OK(!R49C2,2,0,(最適化!R49C3:R49C13))" Application.ExecuteExcel4Macro String:="SOLVER.XLA!SOLVER.SOLVE()" SendKeys ("{ENTER}") Range("C49:M49").Copy Cells(31 + I, 3).Select Selection.PasteSpecial Paste:=xlValues Next I End Sub
- ベストアンサー
- Visual Basic
- kent-goo
- 回答数6
- 4.0マクロを Excel2003で実行?
以下のマクロはExcel2000までは動きますが、Excel2002、Excel2003では動きません。どのように修正すればよいのでしょう? マクロのことは全くわかりません。10年以上前に友人からもらったExcelファイルです。 プログラムを修正してくれる業者をご存知の方は教えてください。 ' ' Sub Record1() For I = 1 To 15 Cells(50, 1).Value = Cells(51, 4) - Cells(52, 4) * (I - 1) Application.ExecuteExcel4Macro String:="SOLVER.XLA!SOLVER.OK(!R49C2,2,0,(最適化!R49C3:R49C13))" Application.ExecuteExcel4Macro String:="SOLVER.XLA!SOLVER.SOLVE()" SendKeys ("{ENTER}") Range("C49:M49").Copy Cells(31 + I, 3).Select Selection.PasteSpecial Paste:=xlValues Next I End Sub
- ベストアンサー
- Visual Basic
- kent-goo
- 回答数6
- データの集計をして、Excelのブックに保存する処理
1500人分のデータ(有給残日数・振休未消化日数・時間外)を所属別に集計して、 内訳と所属の合計値を所属別にブックを作成して保存し、それに全体の平均値を出したシートを追加して、 グラフを作成し、該当所属長にメールで送信するという作業が毎月あり、 かなりの時間をかけてコピー・ペーストしながら手作業でやっております (なんせ50箇所もあるため、50個のブックに分けるのが大変です。) この一連の作業を、なんとか自動化できないものでしょうか? Excelのマクロを今勉強中で、操作しながら記録するのと、少し改変することができる程度で、詳しい知識はもちあわせておりません。 Accessも、クエリはあつかえますが、SQLとかはわかりませんし、こちらも詳しい知識はもちあわせておりません。 データとしては、 本部コード・所属コード・所属名 ・社員番号・氏 名・時間外対象フラグ・有給残・振休日数・時間外 999900 ・ 999999 ・××支店・777777 ・磯野並平・ Y ・ 10 ・ 3 ・ 5.5 ・ ・ ・ ××支店のブック シート1・・・データシート:××支店 所属者のデータ・最終行に合計表示 シート2・・・全体の平均値:××支店の平均値(時間外の合計÷時間外対象者の数)(有給残の合計÷人数の合計)(未消化日数の数÷人数の合計) ○○支店の平均値 同上 【全支店共通】 シート3・・・グラフ【全支店共通】 といったかんじにしたいのです。 シート2は、グラフを作成するためのものなので、グラフさえできれば、なくてもかまわないです。 Accessを使って、本部コードごとに集計して、Excelにエクスポートをして、その後はマクロでグラフを作成するのがいいのかなと思いますが、本部ごとのデータをそれぞれ分けてエクスポートすることが可能かどうか、マクロでグラフを作成するほうほうがわかりません。 Excelですべてできるものでしょうか? Access大辞典やExcelのマクロの本を買い、インターネットで調べたりいろいろしておりますが、結局どのようにしたらいいのかという根本的なところがわかりませんので、困っております。 どうかお知恵をお貸しください。 よろしくお願いいたします。
- VBAのファインドメソッドで検索すると対象外のデータが選択されることがある
CDのリスト表(12列で、現在2269行 範囲名"収録表")Sheets("データ")から,キーワードで該当ディスクを検索し、 結果をSheets("検索")に転記する、プログラムを作りましたが、 仮に、該当データが10件、転記されたとして そのデータを見ると、中に1件、対象外のデータがはいっている事が たまにあります、いろんな原因を考えてみましたがわかりません。 もともと、VBAのファインドメソッドが、こんなエラーを起こしやすいのか、、、(そんな事、ないよね) どなたか、教えてください。 下が、プログラムです Sub 新規検索() Application.ScreenUpdating = False Dim myData, myRng As Range Dim myWord As String myWord = InputBox("キーワードを入力してください") データ処理中F.Show vbModeless データ処理中F.Repaint Set myData = Range("収録表") Set myRng = myData.Find(What:=myWord, LookIn:=xlValues, _ Lookat:=xlPart, MatchCase:=False, MatchByte:=False) If myWord = "" Then MsgBox ("キーワードを入力してください") Exit Sub End If If Not myRng Is Nothing Then Application.Goto Cells(myRng.Row, 1), True Else: Unload データ処理中F MsgBox ("該当データはありません") Exit Sub End If Sheets("検索").Range("K1") = myRng.Row '一番最初の検索値のRow Call コピー1 Do Until Range("K1") = Range("L1") Call 次を検索 Loop Call 検索終了 Unload データ処理中F Application.ScreenUpdating = True End Sub Sub 次を検索() Dim myData, myRng As Range Sheets("データ").Select Set myData = Range("収録表") Set myRng = Cells.FindNext(after:=ActiveCell.Offset(1)) If myRng <> "" Then Application.Goto Cells(myRng.Row, 1), True End If Sheets("検索").Range("L1") = myRng.Row '2番目以降の検索値のRow Call コピー2 End Sub Sub コピー1() Sheets("検索").Range("A3:L5000,L1").ClearContents Dim myData As Range Set myData = Range("収録表") Set motorng = Application.Intersect(myData, ActiveCell.EntireRow) Set sakiRng = Sheets("検索").Range("A65535").End(xlUp).Offset(1) motorng.Copy sakiRng Sheets("検索").Visible = True Sheets("検索").Activate End Sub Sub コピー2() Dim myData As Range Set myData = Range("収録表") Set motorng = Application.Intersect(myData, ActiveCell.EntireRow) Set sakiRng = Sheets("検索").Range("A65535").End(xlUp).Offset(1) motorng.Copy sakiRng Sheets("検索").Visible = True Sheets("検索").Activate End Sub Sub 検索終了() Dim r As Long r = Range("A65536").End(xlUp).Row Range("A" & r).Select ActiveCell.FormulaR1C1 = "=COUNTA(R3C:R[-1]C)" MsgBox "全部で" & Range("A" & r).Value & "件ありました" Range("A65535").End(xlUp).EntireRow.ClearContents Call 行頭表示 End Sub
- 【Excel-VBA】アクティブセルが参照しているブックを開くには?
いろいろ検索したのですが、見つからないので質問させていただきます。 対象のセルが他ブックのセルを参照しているとき、そのブックが開かれていない場合、正しい値にはなりません。 (例:A1に =[Book2.xls]Sheet1!$A$3 が入力されている) そこで、そのセルが参照しているブックをVBAで自動的に開く方法を考えています。 つまり、例で言えば、Book2.xlsを開きたいのです。 文字列関数を使ってひとつひとつの文字を取得し、ファイル名を得て開く方法しかないのでしょうか? 何かいい方法があれば教えてください。 よろしくお願いします。
- 【Excel-VBA】アクティブセルが参照しているブックを開くには?
いろいろ検索したのですが、見つからないので質問させていただきます。 対象のセルが他ブックのセルを参照しているとき、そのブックが開かれていない場合、正しい値にはなりません。 (例:A1に =[Book2.xls]Sheet1!$A$3 が入力されている) そこで、そのセルが参照しているブックをVBAで自動的に開く方法を考えています。 つまり、例で言えば、Book2.xlsを開きたいのです。 文字列関数を使ってひとつひとつの文字を取得し、ファイル名を得て開く方法しかないのでしょうか? 何かいい方法があれば教えてください。 よろしくお願いします。
- VBAのファインドメソッドで検索すると対象外のデータが選択されることがある
CDのリスト表(12列で、現在2269行 範囲名"収録表")Sheets("データ")から,キーワードで該当ディスクを検索し、 結果をSheets("検索")に転記する、プログラムを作りましたが、 仮に、該当データが10件、転記されたとして そのデータを見ると、中に1件、対象外のデータがはいっている事が たまにあります、いろんな原因を考えてみましたがわかりません。 もともと、VBAのファインドメソッドが、こんなエラーを起こしやすいのか、、、(そんな事、ないよね) どなたか、教えてください。 下が、プログラムです Sub 新規検索() Application.ScreenUpdating = False Dim myData, myRng As Range Dim myWord As String myWord = InputBox("キーワードを入力してください") データ処理中F.Show vbModeless データ処理中F.Repaint Set myData = Range("収録表") Set myRng = myData.Find(What:=myWord, LookIn:=xlValues, _ Lookat:=xlPart, MatchCase:=False, MatchByte:=False) If myWord = "" Then MsgBox ("キーワードを入力してください") Exit Sub End If If Not myRng Is Nothing Then Application.Goto Cells(myRng.Row, 1), True Else: Unload データ処理中F MsgBox ("該当データはありません") Exit Sub End If Sheets("検索").Range("K1") = myRng.Row '一番最初の検索値のRow Call コピー1 Do Until Range("K1") = Range("L1") Call 次を検索 Loop Call 検索終了 Unload データ処理中F Application.ScreenUpdating = True End Sub Sub 次を検索() Dim myData, myRng As Range Sheets("データ").Select Set myData = Range("収録表") Set myRng = Cells.FindNext(after:=ActiveCell.Offset(1)) If myRng <> "" Then Application.Goto Cells(myRng.Row, 1), True End If Sheets("検索").Range("L1") = myRng.Row '2番目以降の検索値のRow Call コピー2 End Sub Sub コピー1() Sheets("検索").Range("A3:L5000,L1").ClearContents Dim myData As Range Set myData = Range("収録表") Set motorng = Application.Intersect(myData, ActiveCell.EntireRow) Set sakiRng = Sheets("検索").Range("A65535").End(xlUp).Offset(1) motorng.Copy sakiRng Sheets("検索").Visible = True Sheets("検索").Activate End Sub Sub コピー2() Dim myData As Range Set myData = Range("収録表") Set motorng = Application.Intersect(myData, ActiveCell.EntireRow) Set sakiRng = Sheets("検索").Range("A65535").End(xlUp).Offset(1) motorng.Copy sakiRng Sheets("検索").Visible = True Sheets("検索").Activate End Sub Sub 検索終了() Dim r As Long r = Range("A65536").End(xlUp).Row Range("A" & r).Select ActiveCell.FormulaR1C1 = "=COUNTA(R3C:R[-1]C)" MsgBox "全部で" & Range("A" & r).Value & "件ありました" Range("A65535").End(xlUp).EntireRow.ClearContents Call 行頭表示 End Sub
- Excel VBA 範囲の条件付け
現在下記のコードを組んでいます。 やりたい事は、sheet1~3で背景色の赤いセルと、 そのセルの上方の最初の空白セルの下3行をsheet4にコピペする。 【下記コードで実現出来ていないこと】 1.背景色が赤いセルとそのスグ上の3行をコピペしてしまう。 2.同じシートに背景色が赤いセルが複数あっても、1つしかコピペしない。 3.sheet4のコピペ先をA3、A13、A23と仮に指定しているが、 sheet1のコピペ内容に1行空けて、sheet2のコピペ内容、 また1行空けて、sheet3のコピペ内容というセル指定にしたい。 以上、よろしくお願い致します。 Sub Test() Dim i As Long, r As Range With Worksheets("sheet1") For i = 1 To .Range("A65536").End(xlUp).Row If .Range("A" & i).Interior.ColorIndex = 3 Then Set r = .Range("A" & i).EntireRow Set r = Union(r, r.End(xlUp).Resize(3).EntireRow) End If Next i End With If Not r Is Nothing Then r.Copy Sheets("Sheet4").Select Range("A3").Select ActiveSheet.Paste With Worksheets("sheet2") For i = 1 To .Range("A65536").End(xlUp).Row If .Range("A" & i).Interior.ColorIndex = 3 Then Set r = .Range("A" & i).EntireRow Set r = Union(r, r.End(xlUp).Resize(3).EntireRow) End If Next i End With If Not r Is Nothing Then r.Copy Sheets("Sheet4").Select Range("A13").Select ActiveSheet.Paste With Worksheets("Sheet3") For i = 1 To .Range("A65536").End(xlUp).Row If .Range("A" & i).Interior.ColorIndex = 3 Then Set r = .Range("A" & i).EntireRow Set r = Union(r, r.End(xlUp).Resize(3).EntireRow) End If Next i End With If Not r Is Nothing Then r.Copy Sheets("sheet4").Select Range("A23").Select ActiveSheet.Paste End Sub
- ベストアンサー
- Visual Basic
- a_student
- 回答数4
- Excel VBA 範囲の条件付け
現在下記のコードを組んでいます。 やりたい事は、sheet1~3で背景色の赤いセルと、 そのセルの上方の最初の空白セルの下3行をsheet4にコピペする。 【下記コードで実現出来ていないこと】 1.背景色が赤いセルとそのスグ上の3行をコピペしてしまう。 2.同じシートに背景色が赤いセルが複数あっても、1つしかコピペしない。 3.sheet4のコピペ先をA3、A13、A23と仮に指定しているが、 sheet1のコピペ内容に1行空けて、sheet2のコピペ内容、 また1行空けて、sheet3のコピペ内容というセル指定にしたい。 以上、よろしくお願い致します。 Sub Test() Dim i As Long, r As Range With Worksheets("sheet1") For i = 1 To .Range("A65536").End(xlUp).Row If .Range("A" & i).Interior.ColorIndex = 3 Then Set r = .Range("A" & i).EntireRow Set r = Union(r, r.End(xlUp).Resize(3).EntireRow) End If Next i End With If Not r Is Nothing Then r.Copy Sheets("Sheet4").Select Range("A3").Select ActiveSheet.Paste With Worksheets("sheet2") For i = 1 To .Range("A65536").End(xlUp).Row If .Range("A" & i).Interior.ColorIndex = 3 Then Set r = .Range("A" & i).EntireRow Set r = Union(r, r.End(xlUp).Resize(3).EntireRow) End If Next i End With If Not r Is Nothing Then r.Copy Sheets("Sheet4").Select Range("A13").Select ActiveSheet.Paste With Worksheets("Sheet3") For i = 1 To .Range("A65536").End(xlUp).Row If .Range("A" & i).Interior.ColorIndex = 3 Then Set r = .Range("A" & i).EntireRow Set r = Union(r, r.End(xlUp).Resize(3).EntireRow) End If Next i End With If Not r Is Nothing Then r.Copy Sheets("sheet4").Select Range("A23").Select ActiveSheet.Paste End Sub
- ベストアンサー
- Visual Basic
- a_student
- 回答数4
- 作業したいセルにすぐカーソルをもっていく方法
こんばんは。 セルの移動について教えてください。 1.Excelで自分が作業しているセルから、指定したセルに すぐカーソルがいくような何かよい方法はありませんか? たとえば、C3のセルからA1にもどりたければCtrl+Homeで 戻ることはわかったのですが。。。 C3からすぐにP9のセルにダイレクトでカーソルをうごかしたい、 といったときです。 2.VBA初心者のため自動マクロでプログラムを作成し、 それをいじって作業しています。 文字列がはいってる対象のセルの範囲をすべて削除したく 対象の最初のセルを選択し、Ctrl+Shift+↓+→ でやってみたところ、実は途中に空白セルがあり、 すべての文字列がはいっている範囲が選択できませんでした。 今は手でセルの範囲を指定していますが、セルの範囲が広がる 可能性もあり、できればCtrl+Shift+↓+→のような 方法でセル範囲を指定したいのです。 たとえば、A3からD20までの範囲を選択したいとします。 A行には空白行があります。そのためA3を選択後 上記Ctrl+Shift+↓+→をおこなうと、Dの途中の列で 選択が終わってしまいます。 ですが、B列はすべて空白ではない列となっています。 その空白ではないこのB列のまず行を数えて、 それからA列からD列までの上記で数えた行分選択 するといった方法でプログラムすれば、セルの範囲 が広がったあとでも対応するのでしょうか? わかりづらくて申し訳ありません。 VBAは本当に自動マクロをいじるくらいしかできないので、 超初心者にわかりやすく教えていただけたら幸いです。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- noname#53775
- 回答数3
- Excel VBA 範囲の条件付け
現在下記のコードを組んでいます。 やりたい事は、sheet1~3で背景色の赤いセルと、 そのセルの上方の最初の空白セルの下3行をsheet4にコピペする。 【下記コードで実現出来ていないこと】 1.背景色が赤いセルとそのスグ上の3行をコピペしてしまう。 2.同じシートに背景色が赤いセルが複数あっても、1つしかコピペしない。 3.sheet4のコピペ先をA3、A13、A23と仮に指定しているが、 sheet1のコピペ内容に1行空けて、sheet2のコピペ内容、 また1行空けて、sheet3のコピペ内容というセル指定にしたい。 以上、よろしくお願い致します。 Sub Test() Dim i As Long, r As Range With Worksheets("sheet1") For i = 1 To .Range("A65536").End(xlUp).Row If .Range("A" & i).Interior.ColorIndex = 3 Then Set r = .Range("A" & i).EntireRow Set r = Union(r, r.End(xlUp).Resize(3).EntireRow) End If Next i End With If Not r Is Nothing Then r.Copy Sheets("Sheet4").Select Range("A3").Select ActiveSheet.Paste With Worksheets("sheet2") For i = 1 To .Range("A65536").End(xlUp).Row If .Range("A" & i).Interior.ColorIndex = 3 Then Set r = .Range("A" & i).EntireRow Set r = Union(r, r.End(xlUp).Resize(3).EntireRow) End If Next i End With If Not r Is Nothing Then r.Copy Sheets("Sheet4").Select Range("A13").Select ActiveSheet.Paste With Worksheets("Sheet3") For i = 1 To .Range("A65536").End(xlUp).Row If .Range("A" & i).Interior.ColorIndex = 3 Then Set r = .Range("A" & i).EntireRow Set r = Union(r, r.End(xlUp).Resize(3).EntireRow) End If Next i End With If Not r Is Nothing Then r.Copy Sheets("sheet4").Select Range("A23").Select ActiveSheet.Paste End Sub
- ベストアンサー
- Visual Basic
- a_student
- 回答数4
- Excel VBA 範囲の条件付け
現在下記のコードを組んでいます。 やりたい事は、sheet1~3で背景色の赤いセルと、 そのセルの上方の最初の空白セルの下3行をsheet4にコピペする。 【下記コードで実現出来ていないこと】 1.背景色が赤いセルとそのスグ上の3行をコピペしてしまう。 2.同じシートに背景色が赤いセルが複数あっても、1つしかコピペしない。 3.sheet4のコピペ先をA3、A13、A23と仮に指定しているが、 sheet1のコピペ内容に1行空けて、sheet2のコピペ内容、 また1行空けて、sheet3のコピペ内容というセル指定にしたい。 以上、よろしくお願い致します。 Sub Test() Dim i As Long, r As Range With Worksheets("sheet1") For i = 1 To .Range("A65536").End(xlUp).Row If .Range("A" & i).Interior.ColorIndex = 3 Then Set r = .Range("A" & i).EntireRow Set r = Union(r, r.End(xlUp).Resize(3).EntireRow) End If Next i End With If Not r Is Nothing Then r.Copy Sheets("Sheet4").Select Range("A3").Select ActiveSheet.Paste With Worksheets("sheet2") For i = 1 To .Range("A65536").End(xlUp).Row If .Range("A" & i).Interior.ColorIndex = 3 Then Set r = .Range("A" & i).EntireRow Set r = Union(r, r.End(xlUp).Resize(3).EntireRow) End If Next i End With If Not r Is Nothing Then r.Copy Sheets("Sheet4").Select Range("A13").Select ActiveSheet.Paste With Worksheets("Sheet3") For i = 1 To .Range("A65536").End(xlUp).Row If .Range("A" & i).Interior.ColorIndex = 3 Then Set r = .Range("A" & i).EntireRow Set r = Union(r, r.End(xlUp).Resize(3).EntireRow) End If Next i End With If Not r Is Nothing Then r.Copy Sheets("sheet4").Select Range("A23").Select ActiveSheet.Paste End Sub
- ベストアンサー
- Visual Basic
- a_student
- 回答数4