参照不可?

 ★ 参照設定 ★ 
 アラクリカエシキ(阿良々木)です(´・ω・)(´_ _)
 お久しぶりです。なんだか最近珍しく忙しくて・・・
 ここ最近、職場でエクセルの参照設定が「参照不可」になってマクロが止まる事態が頻発しています。大抵チェックボックスをオフにすると直るんですが。
 エクセルが2010(32bit)から2016(64bit)に変わりなおかつ大量にあったファイルメーカーファイルの代替品が数多くあり、かなりの確率で参照不可で止まります。orz
 「Date」や「INSETROW」などよく使うものがライブラリにないとひっかります。
 都度都度直してますが、もう少ししたら落ち着くのでしょうか?
 ちょっと憂鬱です。キャプチャ

スポンサーサイト



基幹システムの入れ替えと使えなくなるファイルメーカー

 ★ なんかもう駄目… ★ 
 来月5日から基幹システムが入れ替わるんですけどその準備で悩ましい日々が続いてます。どうもアラクリカエシキです。
 使ってるPCもWIN7からWIN10になり、これまで使ってたファイルメーカーは使えなくなり。その代替のエクセルファイルを作る日々・・・
持病で三度休職し、復帰してから久々に忙しいです。ブログの更新も久しぶりです。あつ森もここ数日起動していません。10月中旬ぐらいになれば落ち着くかなと思ってます。落書きアップしたいなあ・・・
 では('ω')ノ

噛まずに読み上げられるのか?

 ★ Application.Speech.Speak ("阿良々木") ★ 
 ご訪問頂きありがとうございます。アラクリカエシキ(阿良々木)です。
 塗り絵に行き詰ったのでエクセルの小ネタ。
 エクセルのVBAで「阿良々木」を噛まずに読み上げできるか試してみました。
 Application.Speech.Speak ("阿良々木")

あら×Δ§き?よく聞き取れません。

西暦8桁問題2

 ★ 空白行とか混ざると面倒くさい ★ 
 ご訪問頂きありがとうございます。アラクリカエシキ(阿良々木)です。
 とりあえず。備忘録として保存。
 先日アップしたコードは空白行や99999999などが混じっていたら使えないので試行錯誤して修正してみました。
 備忘録です、コードの解説とかはなしです。すみません。

Sub hachidate()
Dim o As String
Dim buf As String
Dim i As Long
Dim r As Long
r = Selection.Rows.Count
For i = 1 To r
With ActiveCell
o = .Value
If Len(o) = 8 Then
buf = _
Mid(o, 1, 4) & "/" & _
Mid(o, 5, 2) & "/" & _
Mid(o, 7, 2)
If IsDate(buf) = True Then
.Value = buf
.NumberFormatLocal = "gggee年mm月dd日"
.Offset(1, 0).Activate
End If
If IsDate(buf) = False Then
.Value = o
.Offset(1, 0).Activate
End If
End If
If Len(o) = 0 Then
.Value = ""
.Offset(1, 0).Activate
End If
If Len(o) <> 8 Then
.Value = o
.Offset(1, 0).Activate
End If
End With
Next
End Sub


使い方は↓こんな感じ?
Sub blankskip()
Dim startRC As String
Dim colind As Long
’-----ここから---------------
startRC ="B2" 'ここを変える
Range(startRC).Select
colind=Range(startRC).column
Range(startRC,Cells(Rows.Count,colind).End(xlUp)).Select
Call hachidate
’------ここまで---------------

’-----ここから---------------
startRC ="D2" 'ここを変える
Range(startRC).Select
colind=Range(startRC).column
Range(startRC,Cells(Rows.Count,colind).End(xlUp)).Select
Call hachidate
’------ここまで---------------

End Sub


startRCとかわかりにくい変数名ですが単純に訳せば開始行(Row)列(column)、という感じでVBAのコードを読み書き出来る人であれば解説なしでも、何をしているか解かることでしょう。なので細かい解説はなしです。
 hachidateは選択した行の中にあるYYYYMMDD形式の数値または文字列を日付に変換。
 blankskipは途中に空白行があっても対象範囲を選択する。
 ネットで検索したんですが、最終行を取得するとかはすぐ見つかのですが、例えば空白行が含まれている場合の範囲選択のしかたがなかなか見つかりませんでした。
Range(”B2”,Cells(Rows.Count,2).End(xlUp)).Select
変数使わなくても↑の赤字部分を書き換えれば選択できます。
 抽出したデータに西暦8桁が何列あるのか?
またその中で実際に日付形式でないと困る列はいくつか?考えたら数件かなと思いblankskipのような方式にしました。
 コードのここからここまでをコピーし開始セル番地を書き換えるだけです。
 ↓は実行例です。
vbamae.jpg
vbaato.jpg
実行後の日付が平成なのはこのPC改元のアップデート失敗してて今日は平成32年6月18日と表示します。

続きを読む

オートシェイプを使った画像の切り替え【ExcelVBA】

 ★ 落書き 動画 エクセルマクロ ★ 
ご訪問頂きありがとうございます。アラクリカエシキ(阿良々木)です。以前にもやったネタなんですが、使用した画像がエロかった?(ToLOVEるの模写)みたいでYouTubeさんから年齢制限がどーのと警告がきて(;^_^A動画削除してしまったので再アップです。
 INDIRECT関数を使った画像の切り替えはネットでもよく紹介されているのですが、画像の数が増えると面倒なので作った記憶があります。たしか仕事で商品画像つきのポップみたいなものを作るとき数が多かったので組みました。
「VLOOKUP 画像」で検索する人が多いらしいのですがVLOOKUPではできません。でも、今回のコードはVLOOKUPと併用して使用可能です。ぜひ試してみてください。
s-VLOOKP.jpg

※コードは追記欄に載せてます。
エクセルファイルと同じフォルダに「PIC」というフォルダを作りそのなかに画像ファイルを放り込んでおきます。(01.JPG~99.JPG)
シートでは、セルB1が検索値で、セルF1が開始番号セルH1が終了番号となっていてFor Nextで処理します。(今回の動画は8枚の落書きを表示させたのでセルF1が1セルH1が8です)



続きを読む

訪問者さま
カレンダー
09 | 2020/10 | 11
- - - - 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
プロフィール

arakurikaesiki

Author:arakurikaesiki
阿良々木(あらくりかえしき)と申します。趣味はらくがき/アクアリウム、好きな小説は物語シリーズです。あと、仕事で楽したいためにExcelのVBAをちょくちょくいじってます。
なお、当ブログはリンクフリーです、よろしければリンク貼ってください。
また、ブロともさまも募集中です。コメントとかもらえるとすごく喜びます。

ブロとも様募集中ですm(_)m

この人とブロともになる

最新コメント
リンク(敬称略)
らくがき
新着記事
参照不可? Oct 20, 2020
基幹システムの入れ替えと使えなくなるファイルメーカー Sep 30, 2020
季節の変わり目 Sep 01, 2020
ロード長くね? Aug 19, 2020
ルフィを描いてみた Aug 17, 2020
囲んで塗る? Aug 14, 2020
100.00cm Aug 12, 2020
サメ Aug 08, 2020
チョット多すぎる Aug 08, 2020
・・・・・・ Aug 06, 2020
カテゴリ
アクセスランキング
[ジャンルランキング]
ブログ
3191位
アクセスランキングを見る>>

[サブジャンルランキング]
イラストブログ
115位
アクセスランキングを見る>>
にほんブログ村(ビオトープ)
月別アーカイブ
人気ブログランキング
更新通知登録ボタン

更新通知で新しい記事をいち早くお届けします

検索フォーム