Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8473 / 13646 ツリー ←次へ | 前へ→

【33083】ブック名とりこみ ほし 06/1/2(月) 12:05 質問[未読]
【33085】Re:ブック名とりこみ よろずや 06/1/2(月) 12:12 回答[未読]
【33086】Re:ブック名とりこみ ほし 06/1/2(月) 12:35 お礼[未読]
【33087】Re:ブック名とりこみ かみちゃん 06/1/2(月) 12:41 発言[未読]
【33088】Re:ブック名とりこみ ほし 06/1/2(月) 13:20 発言[未読]
【33089】Re:ブック名とりこみ かみちゃん 06/1/2(月) 13:28 回答[未読]
【33091】Re:ブック名とりこみ ほし 06/1/2(月) 14:11 お礼[未読]

【33083】ブック名とりこみ
質問  ほし  - 06/1/2(月) 12:05 -

引用なし
パスワード
   ブック名称を
エクセルを開いた時に
セルに挿入したいのですが、これはVBAで行えるものなのでしょうか?

【33085】Re:ブック名とりこみ
回答  よろずや  - 06/1/2(月) 12:12 -

引用なし
パスワード
   ▼ほし さん:
>ブック名称を
>エクセルを開いた時に
>セルに挿入したいのですが、これはVBAで行えるものなのでしょうか?

もちろん可能ですよ。
でも、そのブックだけ?
それともすべてのブックで?

【33086】Re:ブック名とりこみ
お礼  ほし  - 06/1/2(月) 12:35 -

引用なし
パスワード
   >もちろん可能ですよ。
>でも、そのブックだけ?
>それともすべてのブックで?

ありがとうございます。
出来れば、そのブック名左から4桁のみの表示を考えています。
ブック名が"0102あいう.xls"なら
OPEN時にセルに"0102"表示を考えております。

なかなか上手くいかないので。。
でも可能と言われやる気が出てきました。
初心者なので調べ調べ行っています。

【33087】Re:ブック名とりこみ
発言  かみちゃん  - 06/1/2(月) 12:41 -

引用なし
パスワード
   こんにちは。かみちゃん です。

横から失礼します。

>でも可能と言われやる気が出てきました。
>初心者なので調べ調べ行っています。

WorkbookOpenイベント、
Mid、MidB関数
ThisWorkbook.Name
などを過去ログ等で調べてみるといいと思います。

がんばってください。

【33088】Re:ブック名とりこみ
発言  ほし  - 06/1/2(月) 13:20 -

引用なし
パスワード
   ▼かみちゃん
ありがとうございます。

う・・ん・・
Sub workbooks_Open()
Cells(1, 1).Select = ThisWorkbook.Name
End Sub

上記の分で表記できると思ったのですが、、
えらーが。。

【33089】Re:ブック名とりこみ
回答  かみちゃん  - 06/1/2(月) 13:28 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>Sub workbooks_Open()
>Cells(1, 1).Select = ThisWorkbook.Name
>End Sub
>
>上記の分で表記できると思ったのですが、、
>えらーが。。

まず、エラーが発生して、掲示板に質問されるときは、エラーメッセージとエラー
箇所を明示するようにしてください。
今回の場合は、簡単にわかりますが・・・

Workbook_Openは、ブックを開く時に実行されるイベントですので、
記述する場所は、標準モジュールではなく、ThisWorkbookモジュールに以下のように
書きます。
なお、ブック名の先頭4文字を取得するコードにしてあります。

Private Sub Workbook_Open()
 Cells(1, 1).Value = "'" & Mid(ThisWorkbook.Name, 1, 4)
End Sub

要は、Selectではなく、Valueとします。

【33091】Re:ブック名とりこみ
お礼  ほし  - 06/1/2(月) 14:11 -

引用なし
パスワード
   ▼かみちゃんいろいろありがとうございます。
ちょっと記載が違いますが、
なんとか出来ました。
定義って難しいですね。

Private Sub Workbook_Open()
Dim shName As String
shName = ThisWorkbook.Name
Range("A1") = Left(shName, 4)
End Sub

かみちゃんのですと定義記載が無くても出来るので
びっくりしました。
ちょっとずつ本読みます。。
今後ともよろしくお願い致します。

8473 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free