エクセルVBAの質問です。

以前下記のページでマクロを作成していただきました。

質問ページ
http://hatena88.web.fc2.com/hatena/newpage1.html
回答ページ
http://q.hatena.ne.jp/1170391381

2人の方から回答をいただき、
それはそれで満足していたのですが、
最近うまくいかなくなりました。

回答者1の方のマクロの場合だと、
オートフィルが連続状態になりません。
E列が最後まで「1.html」になってしまいます。

回答者2の方のマクロだと、
マクロ②において、リンクが開かれません。

考えられる原因としては、文字列がE列からG列にまで増え、
連続すべきオートフィルする箇所が2カ所に増えたからかもしれません。

どちらかのマクロを修正していただくか、
あるいはまったくのオリジナルで、
私の望み通りに動くマクロを作って下さい。

ただし当方は素人ですので、コピペですぐ使える物をご回答くださいますようお願いします。

回答の条件
  • 1人2回まで
  • 登録:2007/02/16 11:50:25
  • 終了:2007/02/16 15:28:23

回答(3件)

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692007/02/16 13:39:48

ポイント100pt

文字列の列を増やすとそのコードでは問題があります。

2の方を変更すると。

■マクロ1

Sub Macro1()
    Dim r As Long, lp As Long, retu As Long, i As Integer
    Dim suusiki As String
    r = 50
    retu = Range("1:1").End(xlToRight).Column
    suusiki = "="
    For i = retu To 2 Step -1
        suusiki = suusiki & "RC[-" & i & "]&"
    Next i
    suusiki = suusiki & "RC[-" & i & "]"
    Cells(1, retu + 1).FormulaR1C1 = suusiki
    Range(Cells(1, 1), Cells(1, retu + 1)).Select
    Selection.AutoFill Destination:=Range(Cells(1, 1), Cells(r, retu + 1)), Type:=xlFillDefault
    For lp = 1 To r
      Cells(lp, retu + 1).Select
      ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=Selection.Value
    Next lp
End Sub

■マクロ2

Sub Macro2()
    Dim r As Long, lp As Long, retu As Long
    r = 50
    retu = Range("1:1").End(xlToRight).Column

    For lp = 1 To r
      Cells(lp, retu).Select
      Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
      Application.WindowState = xlNormal
    Next lp
End Sub

http://q.hatena.ne.jp/

id:taroemon

ご回答ありがとうございます。


私の環境でMacro1を実行すると、

「suusiki = suusiki & "RC[-" & i & "]&"」で

「コンパイルエラー:構文エラー」となります。

おそらくスクリプト自体は問題ないと考えられますが、

このマクロを動かすのに当たって何が問題なのでしょうか?

2007/02/16 14:08:37
id:taknt No.2

きゃづみぃ回答回数13539ベストアンサー獲得回数11982007/02/16 14:11:43

ポイント30pt

suusiki = suusiki & ”RC[-” & i & ”]&”

    Next i

    suusiki = suusiki & ”RC[-” & i & ”]”

の個所を

suusiki = suusiki & "RC[-" & i & "]&"

Next i

suusiki = suusiki & "RC[-" & i & "]"

にしたら 動きました。

はてなに投稿したとき & が 勝手に & に変換されてしまったようですね。



http://q.hatena.ne.jp/answer

id:taroemon

いつもご回答ありがとうございます。

マクロ①はこれで動きました。


ただマクロ②については、全ての処理が終了するのにとても時間がかかります。

そういう意味では以前の質問でtaknt様にご回答していただいたマクロ②はとても満足していました。


どなたか、上記のマクロ②かhttp://q.hatena.ne.jp/1170391381の回答者1様のマクロ②を参考にして、もう少し早く処理するよう改善していただければ幸いです。

2007/02/16 14:57:00
id:taknt No.3

きゃづみぃ回答回数13539ベストアンサー獲得回数11982007/02/16 15:15:09

ポイント30pt

ただマクロ②については、全ての処理が終了するのにとても時間がかかります。

そういう意味では以前の質問でtaknt様にご回答していただいたマクロ②はとても満足していました。

こちらの回答のものと 私の回答のものは だいたい同じ内容です。

マクロ②だけでしたら、私のほうの回答でも動くはずです。

時間が かかる原因としては、その開く対象となるページが

ただ単に重いから、という理由が 考えられます。

その点は いかがでしょうか?

id:taroemon

再度のご回答ありがとうございます。

確かにおっしゃるとおりでした。


これで万事問題が解決しました。

お二人ともご指導ありがとうございました。

2007/02/16 15:26:30
  • id:SALINGER
    すいません。コピペしたら&が勝手に変換されてました。
    前にも同じミスやったことあったっけ・・・。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません