VBA セル選択範囲を取得する
VBAでセルの選択範囲に対する処理を行うことが多々あったので、セルの選択範囲から行番号と列番号を取得するコードをメモしておく
'フィルタ後に表示されている行を表示 Dim i As Integer, j As Integer, k As Long Dim rang As Range Dim member() As Long '列の位置はB固定になっているので、ここを変える ReDim member(Range("B1", Range("B" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeVisible).Count) For Each rang In Range("B1", Range("B" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeVisible).Rows member(i) = rang.Row i = i + 1 Next rang With Selection For i = 1 To .Areas.Count For j = 1 To .Areas(i).Rows.Count Dim selectedCells As Range Set selectedCells = .Areas(i).Rows(j) For k = 0 To UBound(member) If member(k) = selectedCells.Row Then Dim r As Long: r = selectedCells.Row Dim c As Long: c = selectedCells.Column Debug.Print "Row:" & r & " Col:" & c 'ここに処理を書く End If Next k Next j Next i End With
HHKB Professional Hybrid Type-S 雪 を無刻印にした
HHKBの雪モデルをギリギリで購入してはや1ヶ月程度が経とうとしています。おそらく自分が買ったものが1250台目だと思っています。
(購入後amazonのサイトを見たら販売停止となっていたため)
HHKBはLite2, Classic(白), Hybrid Type-S(墨)に続き4代目となります
完全に沼ですね。
追加抽選販売された無刻印キートップが12/24にPFUから届き、早速つけてみました。(なんとも美しい)
発送日を勘違いしており、希望日に届かないときは相当焦りましたよ。
ップが今日届くはずなんだけど、届かない… さっそく明日から仕事で使おうと思っていただけに残念。届け"希望"日時だから希望通りにならなかっただけだよね?]
話はすこし変わって、過去に通常の白モデルを英語配列の無刻印キートップを2セットも買って無刻印化したことがあります。
このときはEnterキーと左Shiftキーは英語配列のキートップとサイズが違うため刻印ありになっており惜しい。
雪モデルでは日本語配列の無刻印キートップが用意されているのでこれは嬉しいですね。
しかし、実はこの白モデル…大金はたいてキートップを2セットも購入したのに刻印ありに戻しています。やはり記号がどうしても覚えられない…
そんな苦い思い出を軽く忘れて、今回雪のキートップを購入したのです。
2022年の目標は「HHKBの無刻印を使いこなすこと」としておきましょうか。
記号の覚え方何かないもんですかね。
HHKBで数値入力を楽にする方法
こんにちは。
HHKBを使い初めて1年程度が経ちました。
HHKBは打鍵感や打鍵音が素晴らしく、今ではHHKB以外のキーボードは使えない手になってしまいました。
HHKBはとても素晴らしいキーボードですが、使用期間1年を通じてどうしても解決できなかったのが数字入力。
テンキーレスのキーボードどれに対しても当てはまるのですが、Esc行のキーからしか入力ができません。
私の力量不足でもありますが、ブランドタッチでこの範囲の入力はどうしてもできませんでした。
すこし話題は変わり…
HHKBというキーボードはFnキーを押下したままで入力すると1つのキーで別の動作をさせることができます。
例えばFn+1でF1になったり、Fn+LでPage Upになったり…
「キーボード上のセカンドレイヤーを使用する」という感覚でしょうか。
そこで思いついたのが別のレイヤーを更に作り、既存のキー配列上にテンキーを作ってしまえば?と思ったのです。
私は日頃からAutoHotkeyというフリーツールを使っています。
ここでは説明を省きますが、自由にショートカットキーを作ることができるツールです。
私はAutoHotkeyでよく「変換」「無変換」のキー + 何かのキー で動作するショートカットを使っています。この2つのキーは親指で押下しやすいためです。日本語配列のキーボードを選んでいる理由でもあります。
そして今回は
「無変換」+ M = 1
「無変換」+ < = 2
...
「無変換」 + O = 9
という割当にしました。
テンキーっぽい配列になっています。
ちなみにAutoHotkeyのスクリプトは以下のように記載しました。
そのままコピペで使えると思います。
;----------------------
;Key Map Number
;----------------------
vk1D & /::Send,0
vk1D & M::Send,1
vk1D & vkBC::Send,2
vk1D & .::Send,3
vk1D & J::Send,4
vk1D & K::Send,5
vk1D & L::Send,6
vk1D & U::Send,7
vk1D & I::Send,8
vk1D & O::Send,9
個人的にはこれが私の最適解なのですが、実はまだ課題があります。
- 0入力の位置。
- ホームポジションでないと入力できない
- AutoHotkeyが必要。
HHKBにはキーマップツールがあり、キーマップを変更することができます。よって
Fn + M = 1とすることも可能ですが、会社ではHHKB Professional JPを使っているため、このキーマップツールが使えないためにAutoHotkeyとの組み合わせとしました。
片手で入力できるようにしたいのならば無変換キーではなく、変換キーを使用してもよいかもしれませんね。(私は変換キー+JKLIで方向キーを割り当てています)
以上