15/08/31 22:03:08.65 .net
ハイパーリンクの複数削除方法
→適当なセルをコピー
→ハイパーリンクを解除したいセルをまとめて選択する。
→右クリ[形式を選択して貼り付け]
→演算しない以外を選択 おk
268:名無しさん@そうだ選挙にいこう
15/08/31 22:11:43.63 .net
>>267
できました。ありがとうございました。
269:名無しさん@そうだ選挙にいこう
15/08/31 22:13:34.81 .net
2007はハイパーリンクまとめて解除できないのか
いつから変わったんだろ
270:名無しさん@そうだ選挙にいこう
15/08/31 22:31:37.56 .net
2007から2010の時に大幅に機能改善あったからね
文字列数字のピポットテーブル対応や
条件付き書式の別シート対応などかなり便利になった
271:名無しさん@そうだ選挙にいこう
15/08/31 22:52:34.18 .net
>>264だけどすまんかった。まさか2010でできて2007でできないとはなー
272:名無しさん@そうだ選挙にいこう
15/09/01 09:22:36.17 .net
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 はい(コピペだけならできます)
【4 VBAでの回答の可否】 可
"産業別"というシートの2行目以下の行で、AJ列の値が"TRUE"であるか
AK列の値が"×"であるか、AN列の値が"×"ではない行を、行を削除して行間を詰める
というVBAをお願いします。
273:名無しさん@そうだ選挙にいこう
15/09/01 09:41:38.24 .net
>>272
「マクロの記録」でやれるとこまではやってみましょうや
274:272
15/09/01 09:55:26.25 .net
>>273
すみません。マクロ記録で別の列を使う以外で
対象の3列を判定して、さらに行を削除して行間を詰める方法がわかりません。
275:名無しさん@そうだ選挙にいこう
15/09/01 12:14:38.61 .net
すみません軽い質問なんですけど
よそのデータからコピーしてきてテキスト貼り付けをしたところ
一部の列が文字列のまま2015/09/01とかになってました
けっこうたくさんいくつかの部分にあるんですけどこれを直す場合に
1.逐一F2→エンターで入力し直す体にしてシリアル値の日付にする
2.どこかの空欄セルをコピーして加算貼り付けすることでシリアル値の日付にする
2'.どこかで数字の1をコピーして乗算貼り付けすることで 略
という方法を知ってるんですけど
マクロとか使わずに文字列な日付を一括でシリアル値な日付にする方法
なにか他にないですか?
276:名無しさん@そうだ選挙にいこう
15/09/01 12:35:49.89 .net
>>274
別列でいいなら関数でもできるんだしそれを元に修正すればよくね?
277:名無しさん@そうだ選挙にいこう
15/09/01 12:46:24.69 .net
>>272
試してないけど多分こんな感じ
for i = 最終行 to 2 step -1 '最終行は「最終行 取得」でぐぐって調べる。それでも無理なら100万とか入れておく
if range("aj" & i )=true and range("ak" & i )="×" and range("ak" & i ) <>"×" then
rows( i & ":" & i).delete '業削除。マクロの記録
endif
next
>>275
数式タブのエラーチェックを使うとか
278:名無しさん@そうだ選挙にいこう
15/09/01 13:48:10.67 .net
>>277
エラーチェック、やってみましたけどExcel2010な当方では
「シート全体のエラー チェックを完了しました。」とダイアログだけ出て
見た目文字列なままになってますし
シリアル値でMatchとかかけてもヒットしてくれませぬ
(F2エンターとかやるとヒットする)
元々左肩に緑の三角も出てないし反応もしてくれないぽいのかな
ま、まあ軽く聞いてみただけなので
豆知識的なものがなければこれまで通り2番とか2'番とか使います
279:名無しさん@そうだ選挙にいこう
15/09/01 13:56:34.08 .net
>>278
ごめん俺の勘違いだった。文字列の日付はエラーにならんのね
280:272
15/09/01 15:13:34.05 .net
>>277
Sheets("産業別").Select
For i = Cells(Rows.Count, "AB").End(xlUp).Row To 2 Step -1
if range("AJ" & i )=true and range("AN" & i )="×" and range("AK" & i ) <>"×" then
rows( i & ":" & i).delete
endif
next
End Sub
を作ってみましたが
3つの条件のいずれかに該当していな行を削除したかったのですが、該当している行が削除されてしまいました。
281:名無しさん@そうだ選挙にいこう
15/09/01 15:16:49.50 .net
>>280
すべての条件に当てはまるように下埋めて
AJ列の値が"TRUE"で(ある|ない)
AK列の値が"×"で(ある|ない)
AN列の値が"×"で(ある|ない)
282:272
15/09/01 15:28:19.31 .net
>>281
AJ列の値が"TRUE"である
AK列の値が"×"である
AN列の値が"×"である
3つのうちのいずれも該当しなければ削除
どれか一つでも該当があれば削除しないです。
283:名無しさん@そうだ選挙にいこう
15/09/01 15:44:21.87 .net
if range("AJ" & i )<>true and range("AN" & i )<>"×" and range("AK" & i ) <>"×" then
284:272
15/09/01 16:35:26.81 .net
>>293
できました。ありがとうございます
285:名無しさん@そうだ選挙にいこう
15/09/02 22:24:38.85 .net
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 否
セルの表示形式「日付」の2009/6/10の
年9 と月6 と日10を文字列として抜きとりたい。
MID関数だとシリアル値での数字を抜き取るため、表示日付の数字が取れない。
286:名無しさん@そうだ選挙にいこう
15/09/02 22:34:27.07 .net
year()month()day()
hour()とかもある
287:名無しさん@そうだ選挙にいこう
15/09/02 23:16:56.14 .net
>>286
ありがとうございます