Excel VBA質問箱 IV

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

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


4840 / 13646 ツリー ←次へ | 前へ→

【53915】セル結合・ダウンロード・開く・警告 sashiba 08/2/14(木) 19:22 質問[未読]
【53922】Re:セル結合・ダウンロード・開く・警告 VBWASURETA 08/2/15(金) 14:14 質問[未読]
【53923】Re:セル結合・ダウンロード・開く・警告 sashiba 08/2/15(金) 16:19 回答[未読]
【53924】Re:セル結合・ダウンロード・開く・警告 VBWASURETA 08/2/15(金) 18:44 質問[未読]
【53930】Re:セル結合・ダウンロード・開く・警告 sashiba 08/2/15(金) 23:44 回答[未読]
【53931】Re:セル結合・ダウンロード・開く・警告 VBWASURETA 08/2/16(土) 2:14 回答[未読]
【53934】Re:セル結合・ダウンロード・開く・警告 sashiba 08/2/16(土) 9:21 回答[未読]
【53957】Re:セル結合・ダウンロード・開く・警告 sashiba 08/2/18(月) 13:33 発言[未読]
【54116】Re:セル結合・ダウンロード・開く・警告 VBWASURETA 08/2/25(月) 14:22 回答[未読]
【54140】Re:セル結合・ダウンロード・開く・警告 VBWASURETA 08/2/26(火) 13:20 回答[未読]

【53915】セル結合・ダウンロード・開く・警告
質問  sashiba E-MAIL  - 08/2/14(木) 19:22 -

引用なし
パスワード
   セル結合のマクロを使用したエクセルファイルをアップロードしました。
複数の行にデータがある場合に出る警告が出ないように
Application.DisplayAlerts = False を使用しています。
ダウンロードで「保存」でなく「開く」にした場合にマクロを実行すると
警告が出ます、対処方法はあるでしょうか、ご教示をお願いします。

【53922】Re:セル結合・ダウンロード・開く・警告
質問  VBWASURETA  - 08/2/15(金) 14:14 -

引用なし
パスワード
   ▼sashiba さん:
こんにちは。

いきなり内容を書いて、何を目的とされているかわかりづらいです。
この内容の書き方だとレスが付きにくいかと思います。
後、質問が何点かあります。

1.セル結合のマクロとは?
 例えばA1とB1を結合するようなマクロ等があれば良いかと。

2.エクセルファイルをアップロードしましたとは?
 アップロードと見るとFTPか何か??のように見えますが。
 この部分のソースなり簡単なサンプルみたいなのは
 載せた方が良いかも知れません。

3.複数の行にデータがある場合に出る警告はどのような警告ですか?
 因みにセル結合関係の質問が最近にあります。

4.Application.DisplayAlerts = False を使用しています。と
 ありがすが。これで何かされているのでしょうか?
 因みにこれはただ確認メッセージ等が省かれるだけで、
 エラーはちゃんと表示します。

5.ダウンロードで「保存」でなく「開く」にした場合にマクロを
 実行するとありますがこれについてもダウンロードが
 いまいち理解できないです。
 どいう画面が開いていて、こちらについても部分ソースなり
 簡単なサンプルみたいなのは載せた方が良いかと。

6.OS、EXCELのバージョンは何でしょう?
 これは環境によって回答して貰えても使えないマクロが
 あると回答が無駄になるため載せる方が良いです。

7.ダウンロードで「保存」でなく「開く」にした場合に
 マクロを実行すると警告が出ます、対処方法はあるでしょうか
 とありますが、仮に sashiba さんが抽象的に
 質問されたとします。で、どいう警告表示なのかもないですし、
 画面イメージもできない状況で答えられますか?
 
 確かに書くのは難しいでしょうが、エラーとか
 フォームを使っているなりのわかる犯意のことは
 書いた方が良いですよ。
 足りない情報は回答者が質問して聞きますので。

【53923】Re:セル結合・ダウンロード・開く・警告
回答  sashiba E-MAIL  - 08/2/15(金) 16:19 -

引用なし
パスワード
   VBWASURETAさんはじめまして、sashibaです。
当質問箱は初めての質問でお手数をお掛けしました、次のとおりです。
>1.セル結合のマクロとは?
E5およびD5から下にあるセルの連続した同じデータのセルを結合するものです。
>2.エクセルファイルをアップロードしましたとは?
ホームページに載せました。
>この部分のソースなり簡単なサンプルみたいなのは載せた方が良いかも−−−。
次のものです−−−D列は省略しています。
Sub セル結合()
 Sheets("作業").Select
 'On Error Resume Next−−−あってもなくても同じでした。
 Application.DisplayAlerts = False
 r = 5
 r1 = r
 Do Until Cells(r, 5) = "" '属の列
  If Cells(r, 5) <> Cells(r + 1, 5) Then
   r2 = r
   Range(Cells(r1, 5), Cells(r2, 5)).Select
   With Selection
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
    .WrapText = False
    .Orientation = 0
    .AddIndent = False
    .IndentLevel = 0
    .ShrinkToFit = False
    .ReadingOrder = xlContext
    .MergeCells = True
    ' Selection.Merge−−−あってもなくても同じでした。
   End With
   r1 = r2 + 1
  End If
  r = r + 1
 Loop

 以下D列分は上と同様ですので省略しています

  Application.DisplayAlerts = True
 Cells(5, 1).Select
End Sub
>3.複数の行にデータがある場合に出る警告はどのような警告ですか?
下記を警告と書いていました。
選択範囲には複数のデータ値があります。1つのセルとして結合すると、選択範囲
にある最も左上端にあるデータのみが保持されます。(空白セルは無視されます)。
> 因みにセル結合関係の質問が最近にあります。
一通り見ましたがありませんでした。
>4.Application.DisplayAlerts = False を使用しています。と
> ありがすが。これで何かされているのでしょうか?
これがあると上記の警告が出ないのですが。
>5.ダウンロードで「保存」でなく「開く」にした場合にマクロを
> 実行するとありますがこれについてもダウンロードが
> いまいち理解できないです。
> どいう画面が開いていて、こちらについても部分ソースなり
> 簡単なサンプルみたいなのは載せた方が良いかと。
ダウンロードとはホームページからのエクセルファイルのダウンロードでした。
>6.OS、EXCELのバージョンは何でしょう?
WindowsXP SP2
Internet Explorer7
Excel2003 sp3 です。
>7.ダウンロードで「保存」でなく「開く」にした場合に
> マクロを実行すると警告が出ます、対処方法はあるでしょうか
> とありますが、仮に sashiba さんが抽象的に
> 質問されたとします。で、どいう警告表示なのかもないですし、
> 画面イメージもできない状況で答えられますか?
警告と書いたのは上記のものでした。
他に必要な情報がありましたらお願いします。
Excel-vba とは関係のない問題でしょうか?。
以上

【53924】Re:セル結合・ダウンロード・開く・警告
質問  VBWASURETA  - 08/2/15(金) 18:44 -

引用なし
パスワード
   ▼sashiba さん:
こんにちは。

もう少し質問させてください。

>E5およびD5から下にあるセルの連続した同じデータのセルを結合するものです。
これはIEに埋め込まれたExcelの操作で結合するものですか?


>ホームページに載せました。
HPに載せるのはExcel VBAではないですよね?
フリーのツールか何かですか?


>次のものです−−−D列は省略しています。
>Sub セル結合()
> Sheets("作業").Select
> 'On Error Resume Next−−−あってもなくても同じでした。
> Application.DisplayAlerts = False
> r = 5
> r1 = r
> Do Until Cells(r, 5) = "" '属の列
>  If Cells(r, 5) <> Cells(r + 1, 5) Then
>   r2 = r
>   Range(Cells(r1, 5), Cells(r2, 5)).Select
>   With Selection
>    .HorizontalAlignment = xlCenter
>    .VerticalAlignment = xlCenter
>    .WrapText = False
>    .Orientation = 0
>    .AddIndent = False
>    .IndentLevel = 0
>    .ShrinkToFit = False
>    .ReadingOrder = xlContext
>    .MergeCells = True
>    ' Selection.Merge−−−あってもなくても同じでした。
>   End With
>   r1 = r2 + 1
>  End If
>  r = r + 1
> Loop
>
> 以下D列分は上と同様ですので省略しています
>
>  Application.DisplayAlerts = True
> Cells(5, 1).Select
>End Sub

因みにループ処理に以下のエラー処理はあまり多様はしないほうが良いかと。

> 'On Error Resume Next−−−あってもなくても同じでした。

これは一つエラーとなった箇所だけステップするのでループし続けます。
それによってエラーがわかりにくくなるかも知れないので、

On Error Goto ラベル名

が良いかもです。
後、ループ処理は最初からエラーになってますか?


>下記を警告と書いていました。
>選択範囲には複数のデータ値があります。1つのセルとして結合すると、選択範囲
>にある最も左上端にあるデータのみが保持されます。(空白セルは無視されます)。

この警告ですが、ダウンロード時にも表示される警告と一緒ですか?
ダウンロードは普通IEがしますよね?
それではなく、Excelからダウンロードするようなソース生成されてますか?
それであればダイアログの何かの作られてそうなので、
サンプルソース見せてもらっても良いですか?


>>4.Application.DisplayAlerts = False を使用しています。と
>> ありますが。これで何かされているのでしょうか?
>これがあると上記の警告が出ないのですが。

警告が出るということは処理されてないということはないですか?


>Excel-vba とは関係のない問題でしょうか?。
今の状況から何とも言えないですが、
アップロード/ダウンロードはどこからなのかや、
IEに埋め込まれたExcel上からのものなのかで
変わりそうですね。

【53930】Re:セル結合・ダウンロード・開く・警告
回答  sashiba E-MAIL  - 08/2/15(金) 23:44 -

引用なし
パスワード
   VBWASURETA さん こんばんは。

>>E5およびD5から下にあるセルの連続した同じデータのセルを結合するものです。
>これはIEに埋め込まれたExcelの操作で結合するものですか?
分かりません、宜しかったら次を見て下さい。
送信したら ERROR:本文に禁止語句が含まれています。となりました。
ここにURLを書いていた為でしょうか?。

>>ホームページに載せました。
>HPに載せるのはExcel VBAではないですよね?
>フリーのツールか何かですか?
載せるのはエクセルのファイル、VBAが組み込んである。で良いでしょうか?。

>>次のものです−−−D列は省略しています。
>>Sub セル結合()
>> Sheets("作業").Select
>> 'On Error Resume Next−−−あってもなくても同じでした。
>> Application.DisplayAlerts = False
>> r = 5
>> r1 = r
>> Do Until Cells(r, 5) = "" '属の列
>>  If Cells(r, 5) <> Cells(r + 1, 5) Then
>>   r2 = r
>>   Range(Cells(r1, 5), Cells(r2, 5)).Select
>>   With Selection
>>    .HorizontalAlignment = xlCenter
>>    .VerticalAlignment = xlCenter
>>    .WrapText = False
>>    .Orientation = 0
>>    .AddIndent = False
>>    .IndentLevel = 0
>>    .ShrinkToFit = False
>>    .ReadingOrder = xlContext
>>    .MergeCells = True
>>    ' Selection.Merge−−−あってもなくても同じでした。
>>   End With
>>   r1 = r2 + 1
>>  End If
>>  r = r + 1
>> Loop
>>
>> 以下D列分は上と同様ですので省略しています
>>
>>  Application.DisplayAlerts = True
>> Cells(5, 1).Select
>>End Sub
>
>因みにループ処理に以下のエラー処理はあまり多様はしないほうが良いかと。
>> 'On Error Resume Next−−−あってもなくても同じでした。
>これは一つエラーとなった箇所だけステップするのでループし続けます。
>それによってエラーがわかりにくくなるかも知れないので、
>On Error Goto ラベル名
>が良いかもです。
>後、ループ処理は最初からエラーになってますか?

***前回の回答に訂正がありました***。
On Error Resume Next がない時。
ダウンロードで「開く」にして、マクロ「結合」を実行した時、
エラー400が出て、先に進みません。
On Error Resume Next がある時。
エラーにはならないが、警告が出ます。

>>下記を警告と書いていました。
>>選択範囲には複数のデータ値があります。1つのセルとして結合すると、
>>選択範囲にある最も左上端にあるデータのみが保持されます。
>>(空白セルは無視されます)。
>この警告ですが、ダウンロード時にも表示される警告と一緒ですか?
>ダウンロードは普通IEがしますよね?
ダウンロード時に出るメッセージ?は、
1.「開く」か「保存」で、
2.「開く」にした時、セキュリティ警告 「マクロを無効にする」「有効にする」
  [保存」にした時は、後ほどエクセルファイルを開いた時に、同上です。

>それではなく、Excelからダウンロードするようなソース生成されてますか?
>それであればダイアログの何かの作られてそうなので、
>サンプルソース見せてもらっても良いですか?
分かりませんが、そのようなソースはありません。

>>>4.Application.DisplayAlerts = False を使用しています。と
>>> ありますが。これで何かされているのでしょうか?
>>これがあると上記の警告が出ないのですが。
>警告が出るということは処理されてないということはないですか?
警告に対して「OK]で1組のセルの結合が出来、続いてまた警告が出ます、
300回以上「OK」でマクロ終了です。「NO]の場合は結合なしで次のセル
に進みます。
問題のマクロを実行して貰えば分かって貰えると思いますが、面倒な事が起こり
ますので−−−!。
今後は実際に経験された方がおられたらその方のレスを待ちたいと思います。
如何でしょうか?。

>>Excel-vba とは関係のない問題でしょうか?。
>今の状況から何とも言えないですが、
>アップロード/ダウンロードはどこからなのかや、
>IEに埋め込まれたExcel上からのものなのかで
>変わりそうですね。

【53931】Re:セル結合・ダウンロード・開く・警告
回答  VBWASURETA  - 08/2/16(土) 2:14 -

引用なし
パスワード
   ▼sashiba さん:
こんばんは。

>>これはIEに埋め込まれたExcelの操作で結合するものですか?
>分かりません、宜しかったら次を見て下さい。

わかりましたここはとりあえず、置いておきます。

>送信したら ERROR:本文に禁止語句が含まれています。となりました。
>ここにURLを書いていた為でしょうか?。

できれば、最初に主語つけてくださいね。
ここに投稿するときの話ですね。
ここは直リンク禁止と言ってURLを書くと投稿できなくなります。
http部分を外したURLを書くようにしてください。


>載せるのはエクセルのファイル、VBAが組み込んである。で良いでしょうか?。

とりあえずここもFTP機能のようなのがVBAで実装しているということで、
置いておきます。


で、このソース理解されて書かれてますか?
とにかく一通りコメントを入れてみます。

Sub セル結合()
 '作業という名前のシートを選択します
 Sheets("作業").Select

 'エラー処理:エラーとなった場合はエラー表示なく次の行に進む設定。
 'On Error Resume Next−−−あってもなくても同じでした。

 'メッセージ類の表示を無効に設定。
 Application.DisplayAlerts = False

 'r 変数に5を入れます。(普通は最初にDim r As Integerを本来定義します)
 r = 5

 'r1にr変数に5を入れます。(ここも最初にDim r1 As Integerを本来定義します)
 r1 = r

 'セルのr変数行の5列に値が入っているかの分岐条件。
 '(本来、Sheets("作業").Cells(r, 5) = ""と書きます)
 Do Until Cells(r, 5) = "" '属の列
    'セルr行の5列とセルr + 1行の5列と比較。異なれば入る
    '(ここも、Sheets("作業").Cells(r, 5) <> Sheets("作業").Cells(r + 1, 5)と本来書きます)
   If Cells(r, 5) <> Cells(r + 1, 5) Then
   'r2にr変数の値を入れます
   r2 = r

    '(ここも、Sheets("作業").Range(Sheets("作業").Cells(r1, 5), Sheets("作業").Cells(r2, 5)).Select と本来書きます)
   Range(Cells(r1, 5), Cells(r2, 5)).Select
     'Withブロック定義。このWith枠内では「Selection」以降のプロパティ指定。
   With Selection

    'Withブロック内なので、Selection.HorizontalAlignment = xlCenter
    'がSelection以降なので、.HorizontalAlignment = xlCenterと略して書ける。
    '因みに「.HorizontalAlignmentプロパティ」は水平位置設定
    .HorizontalAlignment = xlCenter '左右中央

    'Withブロック内なので、Selection.VerticalAlignment = xlCenter
    'が.HorizontalAlignment = xlCenterと略して書ける。
    '因みに「.VerticalAlignmentプロパティ」は垂直位置設定
    .VerticalAlignment = xlCenter '上下中央

    'Withブロック内なので、Selection.WrapText = False
    'が.WrapText = Falseと略して書ける。
    '因みに「.WrapTextプロパティ」は折り返して全体表示設定
    .WrapText = False '折り返さない

    'Withブロック内なので、Selection.Orientation = 0
    'が.Orientation = 0と略して書ける。
    '因みに「.Orientationプロパティ」は文字の回転方向の位置設定
    .Orientation = 0 '方向指定なし

    'Withブロック内なので、Selection.AddIndent = False
    'が.AddIndent = Falseと略して書ける。
    '因みに「.AddIndentプロパティ」はインデント設定
    .AddIndent = False 'インデントを追加しない

    'Withブロック内なので、Selection.IndentLevel = 0
    'が.IndentLevel = 0と略して書ける。
    '因みに「.IndentLevelプロパティ」はインデント数設定
    .IndentLevel = 0 'インデント数無し

    'Withブロック内なので、Selection.ShrinkToFit = False
    'が.ShrinkToFit = Falseと略して書ける。
    '因みに「.ShrinkToFitプロパティ」は 縮小して全体表示設定
    .ShrinkToFit = False '縮小表示設定しない

    'Withブロック内なので、Selection.ShrinkToFit = False
    'が.ReadingOrder = Falseと略して書ける。
    '因みに「.ReadingOrderプロパティ」は文字の方向設定
    .ReadingOrder = xlContext '順序

    'Withブロック内なので、Selection.MergeCells = True
    'が.MergeCells = Trueと略して書ける。
    '因みに「.MergeCellsプロパティ」はセル結合設定
    .MergeCells = True 'セル同士結合

    '「.Mergeプロパティ」は選択中のセルを結合する。
    'このCells(r, 5) <> Cells(r + 1, 5)条件に入っている
    'ケースは値が異なる場合に入る。ずっと異なる値が来た場合ずっと1行選択。
    'つまり結合できない条件でも入る。ということによりエラーとなる。
    ' Selection.Merge−−−あってもなくても同じでした。
    End With
    r1 = r2 + 1
   End If
   r = r + 1
  Loop

 以下D列分は上と同様ですので省略しています

  Application.DisplayAlerts = True
 Cells(5, 1).Select
End Sub


>>因みにループ処理に以下のエラー処理はあまり多様はしないほうが良いかと。
>>> 'On Error Resume Next−−−あってもなくても同じでした。
>>これは一つエラーとなった箇所だけステップするのでループし続けます。
>>それによってエラーがわかりにくくなるかも知れないので、
>>On Error Goto ラベル名
>>が良いかもです。
>>後、ループ処理は最初からエラーになってますか?
>
>***前回の回答に訂正がありました***。
>On Error Resume Next がない時。
>ダウンロードで「開く」にして、マクロ「結合」を実行した時、
>エラー400が出て、先に進みません。
>On Error Resume Next がある時。
>エラーにはならないが、警告が出ます。

前にも説明しましたが、On Error Resume Nextはエラー箇所を無視して進みます。
エラーにならないではないです。なっていても無視しているだけです。
エラー400というのが本来発生しているエラーということです。


>>>下記を警告と書いていました。
>>>選択範囲には複数のデータ値があります。1つのセルとして結合すると、
>>>選択範囲にある最も左上端にあるデータのみが保持されます。
>>>(空白セルは無視されます)。
>>この警告ですが、ダウンロード時にも表示される警告と一緒ですか?
>>ダウンロードは普通IEがしますよね?
>ダウンロード時に出るメッセージ?は、
>1.「開く」か「保存」で、
>2.「開く」にした時、セキュリティ警告 「マクロを無効にする」「有効にする」
>  [保存」にした時は、後ほどエクセルファイルを開いた時に、同上です。
>
>>それではなく、Excelからダウンロードするようなソース生成されてますか?
>>それであればダイアログの何かの作られてそうなので、
>>サンプルソース見せてもらっても良いですか?
>分かりませんが、そのようなソースはありません。

それであればダウンロードはIE任せですね。


>>>>4.Application.DisplayAlerts = False を使用しています。と
>>>> ありますが。これで何かされているのでしょうか?
>>>これがあると上記の警告が出ないのですが。
>>警告が出るということは処理されてないということはないですか?
>警告に対して「OK]で1組のセルの結合が出来、続いてまた警告が出ます、
>300回以上「OK」でマクロ終了です。「NO]の場合は結合なしで次のセル
>に進みます。
>問題のマクロを実行して貰えば分かって貰えると思いますが、面倒な事が起こり
>ますので−−−!。
>今後は実際に経験された方がおられたらその方のレスを待ちたいと思います。
>如何でしょうか?。

わかりました。理解していただけないのでしたらこれ以上の説明はできませんので
レスをお待ちください。
それでは。

【53934】Re:セル結合・ダウンロード・開く・警告
回答  sashiba E-MAIL  - 08/2/16(土) 9:21 -

引用なし
パスワード
   VBWASURETA さん
おはようございます。

>>>これはIEに埋め込まれたExcelの操作で結合するものですか?
>>分かりません、宜しかったら次を見て下さい。
>
>わかりましたここはとりあえず、置いておきます。
>
>>送信したら ERROR:本文に禁止語句が含まれています。となりました。
>>ここにURLを書いていた為でしょうか?。
>
>できれば、最初に主語つけてくださいね。
>ここに投稿するときの話ですね。
>ここは直リンク禁止と言ってURLを書くと投稿できなくなります。
>http部分を外したURLを書くようにしてください。
>
>>載せるのはエクセルのファイル、VBAが組み込んである。で良いでしょうか?。
>
>とりあえずここもFTP機能のようなのがVBAで実装しているということで、
>置いておきます。
>
>で、このソース理解されて書かれてますか?
結合の部分はマクロを記録、説明は本で見ました。
その他はこれまでやってきた方法です。

>とにかく一通りコメントを入れてみます。
>Sub セル結合()
> '作業という名前のシートを選択します
> Sheets("作業").Select
>
> 'エラー処理:エラーとなった場合はエラー表示なく次の行に進む設定。
> 'On Error Resume Next−−−あってもなくても同じでした。
>
> 'メッセージ類の表示を無効に設定。
> Application.DisplayAlerts = False
>
> 'r 変数に5を入れます。(普通は最初にDim r As Integerを本来定義します)
> r = 5
>
> 'r1にr変数に5を入れます。(ここも最初にDim r1 As Integerを本来定義します)
> r1 = r
>
> 'セルのr変数行の5列に値が入っているかの分岐条件。
> '(本来、Sheets("作業").Cells(r, 5) = ""と書きます)
> Do Until Cells(r, 5) = "" '属の列
>    'セルr行の5列とセルr + 1行の5列と比較。異なれば入る
>    '(ここも、Sheets("作業").Cells(r, 5) <> Sheets("作業").Cells(r + 1, 5)と本来書きます)
>   If Cells(r, 5) <> Cells(r + 1, 5) Then
>   'r2にr変数の値を入れます
>   r2 = r
>
>    '(ここも、Sheets("作業").Range(Sheets("作業").Cells(r1, 5), Sheets("作業").Cells(r2, 5)).Select と本来書きます)
>   Range(Cells(r1, 5), Cells(r2, 5)).Select
>     'Withブロック定義。このWith枠内では「Selection」以降のプロパティ指定。
>   With Selection
>
>    'Withブロック内なので、Selection.HorizontalAlignment = xlCenter
>    'がSelection以降なので、.HorizontalAlignment = xlCenterと略して書ける。
>    '因みに「.HorizontalAlignmentプロパティ」は水平位置設定
>    .HorizontalAlignment = xlCenter '左右中央
>
>    'Withブロック内なので、Selection.VerticalAlignment = xlCenter
>    'が.HorizontalAlignment = xlCenterと略して書ける。
>    '因みに「.VerticalAlignmentプロパティ」は垂直位置設定
>    .VerticalAlignment = xlCenter '上下中央
>
>    'Withブロック内なので、Selection.WrapText = False
>    'が.WrapText = Falseと略して書ける。
>    '因みに「.WrapTextプロパティ」は折り返して全体表示設定
>    .WrapText = False '折り返さない
>
>    'Withブロック内なので、Selection.Orientation = 0
>    'が.Orientation = 0と略して書ける。
>    '因みに「.Orientationプロパティ」は文字の回転方向の位置設定
>    .Orientation = 0 '方向指定なし
>
>    'Withブロック内なので、Selection.AddIndent = False
>    'が.AddIndent = Falseと略して書ける。
>    '因みに「.AddIndentプロパティ」はインデント設定
>    .AddIndent = False 'インデントを追加しない
>
>    'Withブロック内なので、Selection.IndentLevel = 0
>    'が.IndentLevel = 0と略して書ける。
>    '因みに「.IndentLevelプロパティ」はインデント数設定
>    .IndentLevel = 0 'インデント数無し
>
>    'Withブロック内なので、Selection.ShrinkToFit = False
>    'が.ShrinkToFit = Falseと略して書ける。
>    '因みに「.ShrinkToFitプロパティ」は 縮小して全体表示設定
>    .ShrinkToFit = False '縮小表示設定しない
>
>    'Withブロック内なので、Selection.ShrinkToFit = False
>    'が.ReadingOrder = Falseと略して書ける。
>    '因みに「.ReadingOrderプロパティ」は文字の方向設定
>    .ReadingOrder = xlContext '順序
>
>    'Withブロック内なので、Selection.MergeCells = True
>    'が.MergeCells = Trueと略して書ける。
>    '因みに「.MergeCellsプロパティ」はセル結合設定
>    .MergeCells = True 'セル同士結合
>
>    '「.Mergeプロパティ」は選択中のセルを結合する。
>    'このCells(r, 5) <> Cells(r + 1, 5)条件に入っている
>    'ケースは値が異なる場合に入る。ずっと異なる値が来た場合ずっと1行選択。
>    'つまり結合できない条件でも入る。ということによりエラーとなる。
>     ' Selection.Merge−−−あってもなくても同じでした。
>    End With
>    r1 = r2 + 1
>   End If
>   r = r + 1
>  Loop
>
> 以下D列分は上と同様ですので省略しています
>
>  Application.DisplayAlerts = True
> Cells(5, 1).Select
>End Sub
>
>>>因みにループ処理に以下のエラー処理はあまり多様はしないほうが良いかと。
>>>> 'On Error Resume Next−−−あってもなくても同じでした。
>>>これは一つエラーとなった箇所だけステップするのでループし続けます。
>>>それによってエラーがわかりにくくなるかも知れないので、
>>>On Error Goto ラベル名
>>>が良いかもです。
>>>後、ループ処理は最初からエラーになってますか?
>>
>>***前回の回答に訂正がありました***。
>>On Error Resume Next がない時。
>>ダウンロードで「開く」にして、マクロ「結合」を実行した時、
>>エラー400が出て、先に進みません。
>>On Error Resume Next がある時。
>>エラーにはならないが、警告が出ます。
>
>前にも説明しましたが、On Error Resume Nextはエラー箇所を無視して進みます。
>エラーにならないではないです。なっていても無視しているだけです。
>エラー400というのが本来発生しているエラーということです。
>
>>>>下記を警告と書いていました。
>>>>選択範囲には複数のデータ値があります。1つのセルとして結合すると、
>>>>選択範囲にある最も左上端にあるデータのみが保持されます。
>>>>(空白セルは無視されます)。
>>>この警告ですが、ダウンロード時にも表示される警告と一緒ですか?
>>>ダウンロードは普通IEがしますよね?
>>ダウンロード時に出るメッセージ?は、
>>1.「開く」か「保存」で、
>>2.「開く」にした時、セキュリティ警告 「マクロを無効にする」「有効にする」
>>  [保存」にした時は、後ほどエクセルファイルを開いた時に、同上です。
>>
>>>それではなく、Excelからダウンロードするようなソース生成されてますか?
>>>それであればダイアログの何かの作られてそうなので、
>>>サンプルソース見せてもらっても良いですか?
>>分かりませんが、そのようなソースはありません。
>
>それであればダウンロードはIE任せですね。
>
>>>>>4.Application.DisplayAlerts = False を使用しています。と
>>>>> ありますが。これで何かされているのでしょうか?
>>>>これがあると上記の警告が出ないのですが。
>>>警告が出るということは処理されてないということはないですか?
>>警告に対して「OK]で1組のセルの結合が出来、続いてまた警告が出ます、
>>300回以上「OK」でマクロ終了です。「NO]の場合は結合なしで次のセル
>>に進みます。
>>問題のマクロを実行して貰えば分かって貰えると思いますが、面倒な事が起こり
>>ますので−−−!。
>>今後は実際に経験された方がおられたらその方のレスを待ちたいと思います。
>>如何でしょうか?。
>
>わかりました。理解していただけないのでしたらこれ以上の説明はできませんので
>レスをお待ちください。
>それでは。
ありがとうございました sashiba。

【53957】Re:セル結合・ダウンロード・開く・警告
発言  sashiba E-MAIL  - 08/2/18(月) 13:33 -

引用なし
パスワード
   自己レスです。
下記に該当するものがありました。
回避策が2例載っていますが、
1.はこれまでと同じで警告が出る。
2.は新規のExcelのウィンドウが出る。
で、解決にはなりませんでした。
エラーになると云うことなので、解決法はないと云うことと考えました。
//support.microsoft.com/kb/840888/ja?spid=1743&sid=434
以上。

【54116】Re:セル結合・ダウンロード・開く・警告
回答  VBWASURETA  - 08/2/25(月) 14:22 -

引用なし
パスワード
   こんにちは。
ちょっと、他の方が参考にされるとまずそうなので
記載します。

エクスプローラのExcelファイルからブラウザー上に
ドラッグ&ドロップしてIE上から開いた場合(ブラウザー上に埋め込み)、
以下のエラーが発生します。


実行時エラー '1004':
'DisplayAlerts' メソッドは失敗しました: '_Application' オブジェクト

エラー内容からも見てわかると思いますが、この問題とされてますエラーとは
別です。

実際、やってみるとわかりますがSheetオブジェクトの

 Sheets("作業").Select

からエラーとなります。

よって別のエラーです。

【54140】Re:セル結合・ダウンロード・開く・警告
回答  VBWASURETA  - 08/2/26(火) 13:20 -

引用なし
パスワード
   こんにちは。

もう見ていないかも知れませんが。
少ない情報から予測して記載します。
本来はもう少しどいう問題なのかを聞かないところですが。
今後問題の質問のときは

1.何をしたいか。(目的)
2.どいう問題か。(エラー警告等は明確に書く)
3.どいう操作をしていると発生するのか。(順に追って書く)
4.イメージしやすい表現で書く(部分的に書かれても他の方はわかりません)

を目安に質問をお願いします。


調べ方についてですが、検索ボタンがブラウザ上部にあると思います。
そのボタンを押してテキストに「結合」と入力検索すると過去に膨大にあります。
ありませんでしたということでしたが、多分見てられないですよね?

因みにソースを見る限りセルの結合問題だけでしょうね。
警告はExcelの仕様です。

>選択範囲には複数のデータ値があります。1つのセルとして結合すると、
>選択範囲にある最も左上端にあるデータのみが保持されます。
>(空白セルは無視されます)。

警告の通り、結合しようとしているセル同士に値が入っているため、
結合する最初のセルの値が優先で後セルにある値は結合されて消されます
という警告です。VBAの問題でなくExcelの仕様です。

因みに(空白セルは無視されます)とある通り結合するセルの値を1つ残し、
後のセルを空白にしてしまえば警告はないということです。

後、結合できない1セルでも結合しようとするソースのため
エラーが邪魔になっているわけです。
なのでエラーを無視する「On Error Resume Next」はエラーが
特定できるときに使うのが良いです。適当に使っていると
ファイルが壊れたり異常な問題に対応できなくなります。


最後にわかる方にお願いしますというのは回答している人に対して失礼です。
間違いなくレスが付かなくなりますので、今後は注意してください。

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