Excel VBA質問箱 IV

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

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


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

【21247】セル内の文字列のコピー ino 05/1/17(月) 16:29 質問[未読]
【21252】Re:セル内の文字列のコピー IROC 05/1/17(月) 17:39 回答[未読]
【21261】Re:セル内の文字列のコピー ino 05/1/17(月) 19:09 回答[未読]
【21266】Re:セル内の文字列のコピー IROC 05/1/18(火) 8:49 回答[未読]

【21247】セル内の文字列のコピー
質問  ino  - 05/1/17(月) 16:29 -

引用なし
パスワード
   こんにちは、セル内の文字列の取得についてご質問があります。
CSV形式のA列に[C\data\200412010001.CSV]といった形でCSVファイルのファイル名が時系列で並んでいます。このファイル名に対応したハイパーリンクを同シート内の別の列に作成したく悩んでいます。
A列の内容(ファイルアドレス)をクリップボードにコピーしそれを別の列でハイパーリンクのアドレスに貼り付けるという動作をA1から順にしていきたいのですが、
マクロの記録で対象セル(A列)をダブルクリックし文字列を選択・コピーしキャンセルで抜けた後、別のセルをアクティブにし挿入のハイパーリンクを指定しアドレスに貼り付けてみると、記録されたVBはセルを選択したのみでコピーはされず「Hyperlinks.Add Anchor:=Selection, Address:= _」で直接アドレスを打ち込んだ形となっていました。
これでは行番号を変数にしてA1から順にアドレスを取得してリンクを張ることが出来ません。
またファイルはは1分ピッチで約24時間分(1024ファイル)すがところどころ欠測点がありforループで1分づつずらしていく方法ではうまく対応できませんでした。

質問が長くて分かり難くなってしまいましたがどなたかいいお考えがありましたら教えてください。

【21252】Re:セル内の文字列のコピー
回答  IROC  - 05/1/17(月) 17:39 -

引用なし
パスワード
   >これでは行番号を変数にしてA1から順にアドレスを取得して
>リンクを張ることが出来ません。

>またファイルはは1分ピッチで約24時間分(1024ファイル)すが
>ところどころ欠測点がありforループで1分づつずらしていく方法では
>うまく対応できませんでした。


これらについて、どのように試して出来なかったのか説明していただけませんか?

【21261】Re:セル内の文字列のコピー
回答  ino  - 05/1/17(月) 19:09 -

引用なし
パスワード
   ▼IROC さん:
>>これでは行番号を変数にしてA1から順にアドレスを取得して
>>リンクを張ることが出来ません。-1
>
>>またファイルはは1分ピッチで約24時間分(1024ファイル)すが
>>ところどころ欠測点がありforループで1分づつずらしていく方法では
>>うまく対応できませんでした。-2
>
>
>これらについて、どのように試して出来なかったのか説明していただけませんか?

早速のご対応ありがとうございます。

私はまだよくVBが分かってないのではじめはマクロの記録で行いたい作業を記録させそこからたいていForループで同じ作業のくり返しというやり方でやっております。

1についてですが、マクロの記録で対象セル(A列)をダブルクリックし文字列を選択・コピーしキャンセルで抜けた後、別のセルをアクティブにし挿入のハイパーリンクを指定しアドレスに貼り付けてみると、記録されたVBはセルを選択したのみでコピーはされず「Hyperlinks.Add Anchor:=Selection, Address:= _」で直接アドレスを打ち込んだ形となっていました。このためどのようにしたらA列のアドレスを反映できるかが分からず止まってしまいました。

2についてですが時間のファイル名が時間で表されているため下4桁(hh:mm)を4つの変数で60分おきに繰り上がるようにして24時間分リンクを張ったのですが、これではランダムに存在する欠測部分のリンクも作ってしまいこれを削除する作業が大変なのであきらめました。1024ヶ程度なので時間をかければ1つ1つ確認していけるのですが、今後の勉強のためしもご指導宜しくお願いします。

【21266】Re:セル内の文字列のコピー
回答  IROC  - 05/1/18(火) 8:49 -

引用なし
パスワード
   >このためどのようにしたらA列のアドレスを反映できるかが分からず止まってしまいました。

Worksheets("Sheet1").Range("A1").Value
もしくは
Worksheets("Sheet1").Cells(1,1).Value
で、A1の値を取得することができます。


>2についてですが時間のファイル名が時間で表されているため下4桁(hh:mm)を4つの変数で60分おきに繰り上がるようにして24時間分リンクを張ったのですが、これではランダムに存在する欠測部分のリンクも作ってしまいこれを削除する作業が大変なのであきらめました。1024ヶ程度なので時間をかければ1つ1つ確認していけるのですが、今後の勉強のためしもご指導宜しくお願いします。

まだ理解できません。具体的な例をあげて説明してもらえませんか?

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