• ベストアンサー

ワード2000使用:表操作のマクロ化

ワード2000使用 5行5列(A列からE列と呼ぶ)の表あり。最上部タイトル行 次の操作をマクロで表現したい。 操作:タイトル行の下行から。B列のセルに文字がないときA列のセルも文字を消す。 以上宜しくお願いします。

  • taktta
  • お礼率72% (1031/1430)

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

1日経つがやはり解答が載りませんね。ワードのVBAは情報も(本やWEB)極少なく、偶にのるOKWEBの質問にも解答が あまり入りません。今後別の質問してもあまり解答を期待は出来ません。この質問もエクセルなら難無く出きるところなんですから、エクセルの利用をどうですか。 下記は手探りでやって見ました。 Sub test02() fnd = "N" 'その行のセル全部空白フラグ For i = 2 To 5 '第1行目除外、2-5行目対象 For j = 2 To 5 '第1列目除外、2-5列目対象 x = (i - 1) * 5 + j 'i行j列の通し番号 ActiveDocument.Tables(1).Range.Cells(x).Select '--そのセル空白か   If Selection.Text <> Chr(13) & Chr(7) Then fnd = "Y" '内容あり End If Next j If fnd = "N" Then '内容あったか x = (i - 1) * 5 + 1 'なければ第1列セルにつき ActiveDocument.Tables(1).Range.Cells(x).Select Selection.Text = "" '空白を入れる End If fnd = "N" '次行のためフラグ初期化 Next i End Sub 小数テスト例では上手く行くようです。

taktta
質問者

お礼

おかげで解決しました。どうもありがとうございました。

関連するQ&A

  • ワードの表のセル幅をマクロを使って変更したい

    ワード2002を使っています。 エクセルからワードに、3列×12行の表を複数貼り付けました。 すべての表の、3列目の列幅を「110」に変更したいのでマクロ化したいのですが、 マクロの記録コマンドを利用すると表の列が選択できず困っています。 次の操作をマクロ化するにはどうしたらよいでしょうか? #対象の表内の任意のセルにカーソルを置いた状態でスタート    ↓ (1)表の3列目を選択する    ↓ (2)表のプロパティの「セル」タブで、「幅を指定する」を「110mm」に設定する どうぞよろしくお願いいたします。

  • エクセルのマクロについて質問です。

    あセルを選択すると、その列の行を一番下まで書き出すようにしたいと思っています。 A1セル=ひらがな E2セル以降=書出し B列 ひらがな ←タイトル(B1セル) あいうえお かきくけこ さしすせそ C列 カタカナ←タイトル(C1セル) アイウエオ カキクケコ サシスセソ D列 英文字←タイトル(D1セル) abcd efgh ijkl 縦になっててちょっと見づらいですが、このような場合、A1の“ひらがな”というワードが入っていて、マクロを実行するとその下の行である “あいうえお” “かきくけこ” “さしすせそ” と、E2以降に表示するようにしたいのですが、どのように考えてコードにしたらいいのか分からないので教えていただけないでしょうか。

  • Excelでマクロを使用した削除に関して

    マクロ初心者です。 Excelにて、以下のような表データがあるとします。     A列 B列 C列 D列 E列 … 1行      51  50  52  51    2行  50  a   b   c   d 3行  51  e   f    g   h    4行  52  i    j    k   l この表の中で、A列と1行目の値が同じになる交点となるセルの値"以外"を 削除して以下のように表示させたいのですが、 その方法がわかりません。     A列 B列 C列 D列 E列 … 1行      51  50  52  51    2行  50      b       3行  51  e          h    4行  52          k    単純な行削除・列削除ではないため、 頓挫しています。お知恵を拝借したく、よろしくおねがいします。

  • ワードの表の中にマス目を入れたい

    こんにちは いつもお世話になっています。 ワード・エクセル(ともに2010、2007)を使っています。 エクセルでA列に文字データB列は空白の2列10行の表があります。罫線を外枠、内側縦横にひいてあります。 この表をワードにはりつけ、行の高さを30ミリにしてあります。右側の空白セルにマス目(10列、3行)を一括して入れる方法を教えてください。1つのセルにカーソルを置いて「セルの分割」でマス目になりますが右列を一括選択して一度にセルの分割をしたいのです。 セルの中に表をいれるとマス目にならないのです。 添付した画像のようなイメージです。 よろしくお願いします。

  • Wordの表(セルの結合あり。)に貼り付けると、左右凸凹に貼り付く

    質問自体は、実際に見れば簡単なことなんですが、 言葉で書くので煩わしくなってしまいます。 Wordで作っている文章の中に表があります。 ただし、その表は単純な表ではなくて、 セルの分割や結合が行われています。 表自体は長方形をしていますが、セルの結合によって、行によりセルの数が違います。 詳しく書くと、 表は4列で、 列をエクセルのように假に左からA、B、C、Dとすると、 D列はどの行も結合されていません。 1行目は、A1・B1・C1が結合されている状態。 2行目と3行目は、A2とA3が結合されていて、 B2とC2、B3とC3が結合されている。 4・5・6行目は、A4・A5・A6が結合されていて、 B4・C4が結合、B5・B6が結合。 7行目は、(1行目と同じく)A7・B7・C7が結合。 (多分、表を作るときは分割も使ったと思いますが、 説明が面倒になるので、分割という言葉は使いませんでした。) さて、結合がされていないD列に、 エクセルのある列のデータを貼り付けたいと思います。 貼り付けたいデータをコピーして、 上記のWordの表のD列を選んで貼り付けます。 すると、意図に反して、うまくD列に貼り付きません。 どの行でも、必ず、左から2つめのセルに貼り付いてしまいます。 上記のようにセルの結合が行われているために、 左右に凸凹に貼り付いてしまいます。 例えば、 3列になっている2行目や3行目は、結合されている (左から)2つめのセル(B2・C2、B3・C3)に、 4列になっている5行目や6行目は2つめのセル(B列)に貼り付いてしまいます。 このように、行のセルの数にしたがって凸凹に貼りつくのではなく、 行のセルの数にかかわらず縦一直線に貼り付けたいのですが、 どうすればよいでしょうか。 Wordは2000

  • EXCEL表操作について

    (1)ある表で A列に数字が入っている行だけを、別の表に出力したい。 別の表にはA列に数字が入った行だけの表ができる。 (2)ある表で A列とB列にはVLOOKUP関数で、読込むスタート位置とエンド位置が記述されているので、それを基に別表にデータ行を追加して行く。 (1)~(2)のような事が、EXCELの表操作でできる方法があればご教授下さい。← マクロ記述となっても可能。 

  • エクセルのマクロ

    A列にアルファベット、B列からE列まで数字が入力されている表があります。 A1から順に(A1→A2→A3→・・・)、A列の文字を調べてそれが"A"であった場合のみ、同じ行のB列からE列の最大値をF列に、最小値をG列にコピーする(A列の文字が"A"以外の場合は何もせず下の行を調べる)、ということを繰り返し、A列が空白になった時その作業を中止する、というマクロを作りたいのです。 もちろん、一つの表だけならA列で並べ替えをして関数を使えば簡単にできますが、表がたくさんあるので自動化したいと思います。 マクロに関してはまったくの初心者なので、お知恵をお借りできればうれしく思います。

  • Word中の表

    Word文に表を挿入しました。セルに文字列を書き込みたいのですが、セルの右端までは記入できず、途中で行が変わってしまいます。セルの右端まで文字を記入するには、どうすればいいのですか。

  • <文字列マクロについて>

    <文字列マクロについて> 皆さま お力を貸して下さい。 初心者で、何もわからず書いておりますがすみません。 下記の2つのマクロを教えて下さい。 ?横に並んだ「ある行」に在るデータを「列」に変換し、  指定した数だけ並べる    あいうえお    ←A1セルからE1まで5列(これは状況により変わる)       ↓(マクロ実行:3行同じ数だけ並べるという指定)  あ        →A1セルから下にひたすら、同じ文字が続き順に並ぶ  あ  あ  い  い  い  う  う        →A1セルから下に並べる(3行は指定できれば別の数字にも変えたい  う  え  え  え  お  お  お ?規則的に並んだデータのまとまりをセットで移動する。  例だと5つの塊(これは変数とおきたい)    あ A              a  い B              b  う C               c   え D               d  お E              e    ↓(マクロ実行)  あ  い  う  え  お  A  B  C  D  E      ・  ・  ・  ・    a b c d e    

  • VBAマクロ・・同一セルの検索と検索したセルの操作

    VBAマクロ・・同一セルの検索と検索したセルの操作  VBAのほぼ初心者です。  決められたセル(たとえばE100)に入力された文字列と同一の文字列を その列内の上(E1~E99)で検索する。 そして、検索できれば(たとえばE30)そのセルがある行(行30)を削除する。 なお、複数検索されれば、検索されたすべてのセルに対応する行を削除する。  というようなことをVBAのマクロで作成したいです。 FindメソッドとDo..Loop Whileを使って試行錯誤してみたのですが、うまくいきません。。  いい方法があれば、是非教えていただきたいです。  どうぞよろしくお願いいたします。

専門家に質問してみよう