Excel エクセルVBAでフォルダの場所を指定しシート

Excel エクセルVBAでフォルダの場所を指定しシート

3月 07, 21
ystscng

no comments

Excel エクセルVBAでフォルダの場所を指定しシート。昨日の回答を修正します。エクセルVBAでフォルダの場所を指定し、シートにある値の名前のフォルダを指定フォルダ内に作成したいと考えています 以下のマクロを動かすと、フォルダ作成がうまくいく時とできない時がありますが、なぜそうなるのかよくわかりません
どなたか、原因と思われる個所を教えていただけませんでしょうか

Sub フォルダ作成()
MsgBox "保存(共有)フォルダ内に基本行事名フォルダを自動作成します" & vbCrLf & "重複した場合はフォルダを作らずスキップします"
Dim i As Long
Dim fold_path As String
For i = 2 To Cells(Rows Count, 4) End(xlUp) Row
fold_path = Sheets("設定") Range("B4") Text & "\" & Sheets("設定") Range("F2") Text & "_" & Sheets("設定") Range("E2") Text & "_" & Cells(i, 4)
If Dir(fold_path, vbDirectory) <> "" Then
MsgBox fold_path & " は重複しています" & vbCrLf & "スキップします"
GoTo XXAA
ElseIf Dir(fold_path, vbDirectory) = "" Then
MkDir fold_path

End If
XXAA:
Next i

MsgBox "作成しました" & vbCrLf & "保存(共有)フォルダを確認してください"

Dim targ2 As String
targ2 = Sheets("設定") Range("B4") Text
If targ2 <> "" Then
shell "C:\Windows\Explorer exe " & targ2, vbNormalFocus
Else
MsgBox "フォルダを確認して下さい ", vbInformation
End If
End Sub保存先フォルダを作成してブックを保存する複数階層のフォルダ。保存先フォルダを作成してブックを保存する複数階層のフォルダ|
階層のフォルダ //////
を使うと。深い階層であっても指定したフォルダを作成
できます。

Excelのセル値に基づいてフォルダをすばやく作成するには。たとえば。ワークシートにさまざまな名前があり。それぞれにフォルダーを作成
し。コードを使用して指定したパスに保存すると。このタスクを完了でき
ます。 。 アクティブなブックを。作成したフォルダーを配置する特定のExcel。マクロ ブックを開くマクロ~やさしいマクロ講座たとえば。
フォルダ内の_フォルダにある。を開くマクロを。記録し
てみましょう。任意のファイル名を指定して開くセルに入力する名前は
。実在するファイルなら何でもかまいませんし。 フォルダの場所を変更すれば。
どこのフォルダのファイルでも開くことができます回 スプレッドシートで別
のブックを参照する,関数,スクレイピングの関数の
使い方

Excel。保存先フォルダをダイアログで簡単指定してさらに変数化する方法を説明します
。エクセルコードで。ファイルの保存時に名前を付けて保存について。
その時の年月日を付けたい時の設定方法についてです。ワークシート関数
をエクセルで使う。今あるプリンターでの設定方法Excel。のでセルの値を使って。フォルダ名。ファイル名にして保存する方法
です。セルをフォルダ名。セルをファイル名にして。ドライブに保存し
ます。 &#;ワークシート &#;
ドライブ等

昨日の回答を修正します。GoTo XXAAこのような記述はよくないので一般的なコードの書き方を回答したいと思います。どういう処理をしたいのかを文章で補足して頂けませんか。シートにある値の名前のフォルダを指定フォルダ内に作成したいと考えています。 これだけでは詳細がわかりません。 何をしたいのかをきちんと把握しないと、コードだけを見ても正しい回答が出来ませんので補足か返信をお願いします。説明がないので想像です。こうではないでしょうか。Sub フォルダ作成Dim sh As WorksheetDim targ2 As StringDim i As LongDim fold_path As StringSet sh = Worksheets設定targ2 = sh.RangeB4If targ2 =ThenMsgBox フォルダを確認して下さい。, vbInformationExit SubEnd IfWith ActiveSheetMsgBox 保存共有フォルダ内に基本行事名フォルダを自動作成しますvbCrLf重複した場合はフォルダを作らずスキップしますFor i = 2 To .CellsRows.Count, 4.EndxlUp.Rowfold_path = targ2/sh.RangeF2_sh.RangeE2_.Cellsi, 4If Dirfold_path, vbDirectory ThenMsgBox fold_path は重複していますvbCrLfスキップしますElseIf Dirfold_path, vbDirectory =ThenMkDir fold_pathEnd IfNext iEnd WithMsgBox 作成しましたvbCrLf保存共有フォルダを確認してくださいShell C:/Windows/Explorer.exe targ2, vbNormalFocusEnd Subフォルダを作成する時、階層を上から作るようにして無いからでは?

leave A Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です