ka_na_deのプロフィール
- ベストアンサー数
- 162
- ベストアンサー率
- 56%
- お礼率
- 100%
教えてGooのマイページが醜くなったため、 回答をやめました。 質問を確認する気がおきません。 もっと回答者にも配慮して欲しいものです。
- 登録日2007/05/12
- Excel VBA データの入っているセルの取り出し
Excel VBA データの入っているセルの取り出し Excel2007使用です。 大きなセル範囲の中にデータが点在している場合に、そのデータを一か所にまとめるマクロを作りたいです。セル範囲は決まっています(A1:Q100)。最終的には隣のセルの1列にまとめたいです。 以下のようなマクロを作ってみましたが、いずれも作動しませんでした(エラーメッセージも出ず) NullをEmptyに変えてみても同じでした。 (ややこしいですが、アクティブセルはSheet2、Sheet1へ貼り付けたい) (とりあえずシート内で列上部にまとめようとした) Dim myRange As Range For Each myRange In Range("A1:Q100") If myRange.Value = Null Then myRange.Delete xlShiftUp End If Next myRange End Sub (1行1列ずつの参照をループさせて「空白でない」セルを切り取り-貼り付けさせようとした) Worksheets("sheet2").Activate Dim Gyou As Integer Dim Retsu As Integer For Gyou = 1 To 100 For Retsu = 1 To 17 If Cells(Gyou, Retsu).Value = Not Null Then Cells(Gyou, Retsu).Cut Destination:=Worksheets("sheet1").Cells(5, 2) End If Next Retsu Next Gyou End Sub また、以下のマクロは、実行すると現状のままSheet1のE列以降に移るだけで、データのあるセルだけがまとまるという状態にはなりません。 Range("A1:Q100").SpecialCells(xlCellTypeVisible).Cut Destination:=Worksheets("Sheet3").Range("E1") End Sub 以下は某サイトで、まさに「空白セルを削除しデータの入ってるセルを上詰めにする」というマクロが紹介されていたので、加工してやってみましたが、「RangeクラスのDeleteメソッドが失敗しました」という実行時エラーが出てできませんでした。 Dim WS As Worksheet Dim myRng As Range Dim Lrow As Long Set WS = Worksheets("Sheet1") Lrow = WS.Range("A" & CStr(Rows.Count)).End(xlUp).Row Set myRng = WS.Range("A1:A" & CStr(Lrow)) myRng.SpecialCells(xlCellTypeBlanks).Delete xlShiftUp End Sub データの入っているセルだけを取り出して一つの列にまとめたいのですが、どうしたらいいのでしょうか。
- ベストアンサー
- オフィス系ソフト
- noname#174048
- 回答数6
- Excel VBA データの入っているセルの取り出し
Excel VBA データの入っているセルの取り出し Excel2007使用です。 大きなセル範囲の中にデータが点在している場合に、そのデータを一か所にまとめるマクロを作りたいです。セル範囲は決まっています(A1:Q100)。最終的には隣のセルの1列にまとめたいです。 以下のようなマクロを作ってみましたが、いずれも作動しませんでした(エラーメッセージも出ず) NullをEmptyに変えてみても同じでした。 (ややこしいですが、アクティブセルはSheet2、Sheet1へ貼り付けたい) (とりあえずシート内で列上部にまとめようとした) Dim myRange As Range For Each myRange In Range("A1:Q100") If myRange.Value = Null Then myRange.Delete xlShiftUp End If Next myRange End Sub (1行1列ずつの参照をループさせて「空白でない」セルを切り取り-貼り付けさせようとした) Worksheets("sheet2").Activate Dim Gyou As Integer Dim Retsu As Integer For Gyou = 1 To 100 For Retsu = 1 To 17 If Cells(Gyou, Retsu).Value = Not Null Then Cells(Gyou, Retsu).Cut Destination:=Worksheets("sheet1").Cells(5, 2) End If Next Retsu Next Gyou End Sub また、以下のマクロは、実行すると現状のままSheet1のE列以降に移るだけで、データのあるセルだけがまとまるという状態にはなりません。 Range("A1:Q100").SpecialCells(xlCellTypeVisible).Cut Destination:=Worksheets("Sheet3").Range("E1") End Sub 以下は某サイトで、まさに「空白セルを削除しデータの入ってるセルを上詰めにする」というマクロが紹介されていたので、加工してやってみましたが、「RangeクラスのDeleteメソッドが失敗しました」という実行時エラーが出てできませんでした。 Dim WS As Worksheet Dim myRng As Range Dim Lrow As Long Set WS = Worksheets("Sheet1") Lrow = WS.Range("A" & CStr(Rows.Count)).End(xlUp).Row Set myRng = WS.Range("A1:A" & CStr(Lrow)) myRng.SpecialCells(xlCellTypeBlanks).Delete xlShiftUp End Sub データの入っているセルだけを取り出して一つの列にまとめたいのですが、どうしたらいいのでしょうか。
- ベストアンサー
- オフィス系ソフト
- noname#174048
- 回答数6
- Excel 2007 マクロ セルの色のカウント
Excel 2007 マクロ セルの色のカウント 表に複数の色がセルについています。 色がついているセルの隣の列に「1」を返したいです。 どのようなマクロになりますでしょうか。 色がついている列は1行でC列になります。 ご回答よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- hyogara777
- 回答数2
- バッテリーの逆接続後エンジンがかかりません。どなたかご回答お願いします
バッテリーの逆接続後エンジンがかかりません。どなたかご回答お願いします。 トヨタのスターレット(EP82)で、整備目的でバッテリーを外し、いざ戻す時あやまってプラスとマイナスを逆に接続してしまいました。すぐに気づき元に戻したのですが、キーをひねると、おそらくスターターからガガガガ(何かががぶつかる音?)と音がし、エンジンがかかりません。エンジンルームの平型ヒューズは切れていないことを確認し、箱形ヒューズは念のためすべて取り換えました。運転席のヒューズも切れていないことを確認したのですが、エンジンはかかりません。キーをアクセサリーの位置まで回すとエンジンチェックランプ等は点灯します。ワイパー。ウィンカー類も動作します。ただ、キーONにすると勝手にラジエーターのファンが回るようになりました。整備工場に持っていくのが早いことは承知していますが、修理に出す前に自分で何とかすることは可能でしょうか?当方よく車はいじるので工具などもそろっています。どなたか解決策をご存知の方、ご回答よろしくお願いします。
- エクセルのvbaでの検索について
エクセルのvbaでの検索について TextBox1 へ検索値を入れ、CommandButton1clickで結果を ListBox1 へ表示するようにします 表示された結果をクリックすると、TextBox1~4へ各当行1,2,4,5を 表示させるにはどうしたら良いでしょうか? A B C D E 1 番号 名前 出身 趣味 年齢 2 0155 相談 大阪 バイク 25 3 0158 ホーム 東京 バイク 28 4 0233 質問 名古屋 車 24 検索場所はAで行い、「15」で検索した場合ListBox1の表示は 0155 0158 となるようにし、それぞれをクリックするとTextBox1~4へ 0155 相談 バイク 25 0158 ホーム バイク 28 と表示されるようにしたいです