スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【Excel VBA】結合セルクリアについて気付いたこと

結合セルのクリアについて「あれ?」と思ったことをまとめてメモしておきます。


■関連記事→『【Excel VBA】結合セルをクリアする』


□結合セル1個を対象にした場合("A1:C2"を結合している)


結合セル



 Sub clearCells()

   '複数セル1個
 (1) Range("A1").ClearContents        '結合セルエラー  
 (2) Range("A1:C2").ClearContents       'OK
 (3) Range("A1").MergeArea.ClearContents   'OK

 End Sub



(1)のみ下記のエラーになる

結合セルエラー



□結合セル2個を対象にした場合("A1:C2"を結合。"A4:C6"を結合。)

飛び石結合セル



 Sub clearCells()

   '複数セル2個
 (4) Range("A1,A4").ClearContents        '結合セルエラー  
 (5) Range("A1:C2,A4:C6").ClearContents     'OK
 (6) Range("A1,A4").MergeArea.ClearContents   '定義エラー

 End Sub




(4)だと下記のエラーになる。

結合セルエラー


(6)だと下記のエラー。

結合セル実行時エラー





「だから何だ?」という気もしますが(^^;)

ちょっと「あれ??」と思ったので、まとめておきます。








スポンサーサイト

テーマ : Office オフィス
ジャンル : コンピュータ

tag : Excel VBA 結合セル

【Excel VBA】複数セルをクリアするマクロの書き方いろいろ。

たとえば複数セルをクリアしたいとき。


"一つのセルを選択→「Delete」ボタンクリック"を繰り返すと、

下記のようなマクロが記録されます。


 Sub Macro1()
 '
 ' Macro1 Macro
 '
 '
  Range("A1").Select
  Selection.ClearContents
  Range("A3").Select
  Selection.ClearContents
  Range("A5").Select
  Selection.ClearContents
  Range("A7").Select
  Selection.ClearContents
  Range("B9").Select
  Selection.ClearContents
  Range("C10").Select
  Selection.ClearContents
  Range("D11").Select
  Selection.ClearContents
 End Sub



これだと煩雑なので、マクロの記録を取る際にCtrlキーを押しながらセルを選択すると

今度は下記のようなマクロになります。


 Sub Macro2()
 '
 ' Macro2 Macro
 '
 '
 Range("A1,A3,A5,A7,B9,C10,D11").Select
  Selection.ClearContents
 End Sub




だいぶスッキリしましたが、Selectionも省けるので省きます。


 Range("A1,A3,A5,A7,B9,C10,D11").ClearContents



1行で書けました。


ただし、上記のマクロをシート画面上で実行すると

画面がチカチカして見えるかもしれないので、ScreenUpdatingをFalseにしておきます。


 Application.ScreenUpdating = False
 
  Range("A1,A3,A5,A7,B9,C10,D11").ClearContents

 Application.ScreenUpdating = True



これで、見た目にも一瞬できれいにクリアされると思います(^^)



※ちなみに、選択したセルに「結合セル」が含まれているとエラーになる場合があります(><;)

■関連記事 → 『【Excel VBA】結合セルをクリアする』








テーマ : エクセル
ジャンル : コンピュータ

tag : Excel vba

【Excel VBA】結合セルをクリアする

結合セル("B2")をクリアするのに、下記のソースを実行させたところ。

Range("B2").ClearContents


実行エラーになってしまいました↓

結合セルのクリア実行エラー




↓どうやら結合セルのクリアには、こちらを使うようです↓

Range("B2").MergeArea.ClearContents


こっちでやると、エラーにならずに実行できます。

"MergeAreaプロパティ"ってやつがミソですね。


こういう処理って、マクロの記録を取ってみると、、、

 Sub Macro1()
 '
 ' Macro1 Macro
 '
  Range("B2").Select
  Selection.ClearContents
 End Sub



上記みたいな感じで「Selection」が入っちゃうから、わからないんですよね(^^;)








テーマ : エクセル
ジャンル : コンピュータ

tag : Excel vba 結合セル

【Excel】印刷プレビューでは表示されるのに、標準では見えない行がある?

先日、お客さんから貰ったExcelファイルが、

「印刷プレビューだと表示されるのに、標準レイアウト表示だと1〜2行目が表示されない」

という事象に遭遇しまして。


非表示設定されてるのかな?

と思って再表示させてみても、出てこない・・・(--;)


「印刷プレビューで表示されるということは、どっかにはあるんだろうな?」

との推定のもと、とりあえず表示方法を「ページレイアウト」に変えてみると・・・

続きを読む

テーマ : EXCEL
ジャンル : コンピュータ

tag : Excel,エクセル,ページレイアウト,ウィンドウ枠の固定

【Excel】IPアドレスデータを先頭0埋めして3桁ずつに整形してみる。

IPアドレス(192.168.1.1)を「192.168.001.001」に整形する方法を考えてみました。

たとえば、ExcelシートのA列にIPアドレスのデータが入っていたとします。

A
 1 192.168.1.1 
 2 192.168.1.2 
 3 192.168.1.3 
 4 192.168.1.4 
 5 192.168.1.5 



下記のSubを実行↓

 Sub setIP()

  Dim i As Integer
  Dim j As Integer
  Dim tmp As Variant
  Dim str As String

  For i = 1 To 5
   tmp = Split(Cells(i, 1), ".")
   str = ""
   For j = 0 To UBound(tmp)
    str = str & "." & Right(CStr(tmp(j) + 1000), 3)
   Next j
   Cells(i, 2).Value = Mid(str, 2, Len(str))
  Next i

 End Sub



B列に整形されたIPアドレスデータが入る
AB
 1 192.168.1.1 192.168.001.001 
 2 192.168.1.2 192.168.001.002 
 3 192.168.1.3 192.168.001.003 
 4 192.168.1.4 192.168.001.004 
 5 192.168.1.5 192.168.001.005 



Splitで"."ごとに区切ると、tmpにはこんな配列が返ってくるはず↓
19216811


それから配列の要素を1つずつ取り出して、Right関数で先頭0埋めの3桁にしています。

最後の「Cells(i, 2).Value = Mid(str, 2, Len(str))」は。

strの値が「.192.168.001.001」というように、先頭に"."が付いちゃっているので、
Mid関数で左から2文字目以降を取るようにしてます。

※この辺りは、条件文とかでもっとうまく制御できそうな気もしますが・・・(--;)


以前、『【Excel】Right関数で先頭を0埋めにして桁数を揃える』という記事を書いたところ、
「Excel 0埋め」という検索キーワードでこのブログにアクセスしてくれる方が増えたのですが。

たまに「Excel IPアドレス 0埋め」というキーワードが紛れているので、考えてみました。


そういえば。

Right関数のところは、数値の1000を足すやり方じゃなくて、
文字列"000"を先頭に付与する方法でもいいですよね(^^;)

こんなかんじで → Right("000" & tmp(j), 3)








テーマ : エクセル
ジャンル : コンピュータ

tag : Excel,IPアドレス,0埋め,Split,Right

プロフィール

コリ

Author:コリ
学生時代の専攻は歴史。
根っからのアナログ人間なのに、なぜかSIerに就職し、システム関係のお仕事をしています。
一時期、花屋に転職してIT業界を脱出しようとしたものの、結局出戻ってきてしまいました。
システム・WEB関連の気付いたことを何でもアリで書いています。最近は趣味(?)のリラックマについての記事が増えてきました…疲れてるんでしょうか??

※リンクフリーです。少しでも誰かのお役に立てれば幸いです。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
全記事表示リンク

全ての記事を表示する

カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
おすすめ書籍

プロになるためのWeb技術入門
Web全般の理解におすすめ。
すごい分かりやすいです。


2014-15年版 ネットショップ検定公式テキスト ネットショップ実務士レベル1対応
ネットショップ運営の一連の流れがまとめられています。


2015 情報セキュリティスペシャリスト「専門知識+午後問題」の重点対策
記述問題の解答テクニックに特化した参考書。


応用情報技術者試験 午前 平成26年度版
午前対策はひたすら過去問を
解くことだと思います。


リラックマ ここにいます
リラックマ絵本の新刊。
今回は手書き風。


リラックマ 4クママンガ 6
新作出た!!


検索フォーム
RSSリンクの表示
instagram
twitter
おすすめ
リンク
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。