複数シートのデータを一つのシートに集約する。

いきなりエクセルVBA!

こんばんは!

最近めっきり寒いですね(>_<。)

風が冷たくなってきて手ぶくろ必須ですね。

先日、訓練校の仲間にとてもカワイイ”バスソルト詰め合わせ”を頂きまして、

凍えて帰ってもぬくぬくできる楽しみがあるので、北風に負けず強く生きれています(笑)。

ありがとう。。(*´ー`*)

PixelAnarchyによるPixabayからの画像

「スタンフォード式最高の睡眠」によると、睡眠の質を上げるには

「寝始めから90分の質を高める事が大切!!」なのだそうです。

質を高める為には体の内部、深部体温を寝るタイミングで下がるようにしなければならず、

『寝る90分前にお風呂に入る』というのが良いらしいのです。

(シャワーの場合は30分位前で良いらしい。あとは同じ時間に寝る事6時間以上寝る事も大事だそうです!)

さて、前置きが長くなりましたが、

今日は最近Udemyで勉強中のエクセルのマクロです。

「エクセル兄さん」のマクロ教材の説明が丁寧でわかりやすくておすすめしたいです。

エクセル兄さんの教材をジワジワ進め、やっと職場のNさんから依頼されていた「複数のブックデータを簡単に統合できるマクロ」の作成の所まで来ました:)

いつも沢山のデータをエクセルで集計されている方への情報共有です。

以下コードで複数のブックのデータを一つのエクセルシートに纏める事ができます。

エクセルの開発タブからVBEを開いて張り付けるだけ。(シート名と転記範囲は変更してくださいませ)

Option Explicit 

Sub tougou()

'ワークシート「データ収集」を格納しておく
Dim wsTotal As Worksheet
Set wsTotal = Worksheets("データ収集")

'最終行を取得しておく
Dim MaxRow As Integer
MaxRow = Worksheets("データ収集").Cells(Rows.Count, 1).End(xlUp).Row + 1

'ダイアログから複数のブックを選び、配列にパスを格納する
Dim arrayPath As Variant
arrayPath = Application.GetOpenFilename("Microsoft Excelブック,*.xls?", MultiSelect:=True)

'もしopenPathが配列ならば
If IsArray(arrayPath) Then

    'Forループ(iが1から配列の要素数まで)
    Dim i As Integer
    For i = 1 To UBound(arrayPath)

        '変数を用意し、ブックを開いて格納
        Dim openBook As Workbook
        Set openBook = Workbooks.Open(arrayPath(i))

        '転記したい項目をそれぞれ転記する

        wsTotal.Range("A" & MaxRow).Value = openBook.Worksheets(1).Range("A2").Value
        wsTotal.Range("B" & MaxRow).Value = openBook.Worksheets(1).Range("A1").Value
        wsTotal.Range("C" & MaxRow).Value = openBook.Worksheets(1).Range("B6").Value
        wsTotal.Range("D" & MaxRow).Value = openBook.Worksheets(1).Range("B5").Value
       

        'openBookを閉じる
        openBook.Close

        '次のループのため、最終行を+1しておく
        MaxRow = MaxRow + 1

    Next i

    '処理が終わったことをMsgBoxで出力
    MsgBox "全ブックからデータを抽出しました。"

End If
End Sub

転記した内容をクリアする↓

Sub clear()

'最終行を変数に取得
Dim MaxRow As Integer
MaxRow = Worksheets("データ収集").Cells(Rows.Count, 1).End(xlUp).Row + 1

'2行目から最終行までのデータを削除する
Worksheets("").range("2:"&MaxRow).Value=""

End Sub

です。

繰り返しとか、単純作業を省けたら、結構毎日の仕事の効率が上がって皆楽になるし、

アイディアを考えたり、チェックしたり、たまにぼーっとしたり(笑)他の事に時間を使えると思う。

まだまだ分からない事ばっかりですが、PHPに比べればまだましかも。。w

超初心者の私は、PHPとか難しい言語をやる前に、まずはもう少しマクロで色々できる様になるのが先かもしれません。

VBAマスターしたいなと思っています:)

私もVBA勉強したい!という方はこちらをどうぞ!↓(セールの時は1200円とかなのでお得ですよ。Adobe After Effectsとかプログラミングやwebデザイン講座等沢山買ってしまいました。)

https://www.udemy.com/

それでは。今日はこの辺りで!

ご覧いただきありがとうございました(*´ー`*)

youtubeのホーム画面の背景画像・アイコンの最適なサイズは?

Illustratorでyoutubeホームの画像作成をしてみた。

こんばんは!

最近、芸能人・有名人でyoutubeをはじめる方増えましたよね。

私はテスト用にアカウント作っただけなので何も変更していませんが(笑)

自分のチャンネルを持つとなった時に、やっぱり他のチャンネルとの差別化というか、埋もれないように

アイコンやホームの背景画像を変更して自分のチャンネルらしさを出したい所ですよね。

最近、友人に頼まれてyoutubeのホーム画面で使用する、アイコンイラストとロゴ、背景画像の作成をしまして、

その時に、「画像のサイズは何ピクセルで作ればベストなのか??」という所で少し躓いたので、今日はそのあたりを情報共有したいと思います:)

結論から言いますと、

アイコンのサイズ=800×800(pixel)

背景画像サイズは 2560×1440 、ロゴとイラストはその中心から 1546 × 423 の四角のなかに収めて配置する。

です。

ちなみに、youtubeでは背景画像のことを、チャンネルアートといいます

作成する前にネットで調べた所、youtube推奨の チャンネルアートのサイズは2560×1440でした。(←設定画面に書いてある)

しかし!!

youtubeの表示デバイスパターンは、TV、PC、スマホ、と3種類あります。

(ホントはこっそりタブレットも居るけど。。)

↑こういう事です。

背景画像=2560×1440(pixel) ←TV表示サイズ

背景画像=1546 × 423 (pixel)←PC・スマホサイズ

なので、2560×1440 で作った場合、 テレビサイズでは問題ないですが、 スマホやPCでチェックすると、「大事な所がはみ出ちゃうな・・。推奨守ったけど。。(´-ω-)」となってしまいます。(先日経験しました。)

アーティストさんのyoutubeチャンネルでもよく、スマホで見た時に、ボーカルさんの顔とか見切れちゃってるのがありますが、おそらく、推奨サイズの表記に素直に従って、テレビサイズに合わせて作っているせいだと思われます。

因みに私は今回、どのデバイスで見ても出来るだけ違和感がないほうが、チャンネルを見てくれている方にとって良いと思うので。

背景画像サイズは 2560×1440 、ロゴとイラストは中心から 1546 × 423 の四角のなかに収めて配置する。という方法をとりました。

そうするとこんな感じになります。↓

はい。いかがでしたでしょうか。

youtuberの友人は、イラストアイコンを使ってからチャンネル登録率がアップしていると言ってくれていたので、イラストとか描いた事なかったけど、やってみて良かったなと思いました。

これからyoutuberやりたい!アイコンやチャンネルアート自分で作りたい!と思っている方の参考に、少しでもなれば嬉しいです。

では、今日はこの辺りで。

ご覧いただきありがとうございました!:)