Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Copying only data validation

Hi,

I'm wondering if anyone can help.
I'm writing code in VBA in Excel to copy only the data validation from a selected line in one workbook to a range in another workbook.
When i use my code it brings the error message: "Paste Special Method of range class failed"
My code is as below:

Windows(file2).Activate
Rows("3:3").Select
Selection.Copy
Windows(File).Activate
Range(Cells(1, 1), Cells(400, 13)).Select
Selection.PasteSpecial Paste:=xlDataValidation, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False

I've looked in the Excel help, and this says that 'xlDataValidation' is not an option for PasteSpecial.
There must be a way to only paste the validation!
Any help would be appreciated.

Jarred.
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 88
Default Copying only data validation

Hi Jarred,

JarredW wrote:
I'm wondering if anyone can help.
I'm writing code in VBA in Excel to copy only the data validation from a selected line in one workbook to a range in another
workbook. When i use my code it brings the error message: "Paste Special Method of range class failed"


the validation cannot be copied.
If different validation are, you have to create new validations
for each cell validation from one range into the other range:

Sub MyValidation()
Dim rngSource As Range
Dim rngTarget As Range
Dim intCol As Integer
Dim objVal As Validation
Dim bln As Boolean

Set rngSource = Workbooks("File2.xls").Worksheets(1).Range("A3:M3" )
Set rngTarget = Workbooks("File.xls").Worksheets(1).Range("A1:M400 ")

Set rngSource = Workbooks("Validation Übertragen.xls").Worksheets(1).Range("A3:M3")
Set rngTarget = Workbooks("Hyperlink Pfad ändern.xls").Worksheets(1).Range("A1:M400")

For intCol = 1 To rngTarget.Columns.Count
Set objVal = rngSource.Cells(intCol).Validation
Err.Clear
On Error Resume Next
bln = objVal.AlertStyle = 1
If Err = 0 Then
With rngTarget.Columns(intCol).Validation
.Add Type:=objVal.Type, _
AlertStyle:=objVal.AlertStyle, _
Operator:=objVal.Operator, _
Formula1:=objVal.Formula1, _
Formula2:=objVal.Formula2
.InputTitle = objVal.InputTitle
.ErrorTitle = objVal.ErrorTitle
.InputMessage = objVal.InputMessage
.ErrorMessage = objVal.ErrorMessage
End With
End If
Next intCol
End Sub

--
Regards
Melanie Breden
- Microsoft MVP für Excel -

http://excel.codebooks.de (Das Excel-VBA Codebook)

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,979
Default Copying only data validation

Try Paste:=xlPasteValidation

JarredW wrote:
Hi,

I'm wondering if anyone can help.
I'm writing code in VBA in Excel to copy only the data validation from a selected line in one workbook to a range in another workbook.
When i use my code it brings the error message: "Paste Special Method of range class failed"
My code is as below:

Windows(file2).Activate
Rows("3:3").Select
Selection.Copy
Windows(File).Activate
Range(Cells(1, 1), Cells(400, 13)).Select
Selection.PasteSpecial Paste:=xlDataValidation, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False

I've looked in the Excel help, and this says that 'xlDataValidation' is not an option for PasteSpecial.
There must be a way to only paste the validation!
Any help would be appreciated.

Jarred.



--
Debra Dalgleish
Excel FAQ, Tips & Book List
http://www.contextures.com/tiptech.html

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,979
Default Copying only data validation

Or for versions earlier than Excel 2002:
Paste:=6

XL97: Problems with Arguments of PasteSpecial Method
http://support.microsoft.com/default.aspx?id=171281

Debra Dalgleish wrote:
Try Paste:=xlPasteValidation

JarredW wrote:

Hi,
I'm wondering if anyone can help. I'm writing code in VBA in Excel to
copy only the data validation from a selected line in one workbook to
a range in another workbook. When i use my code it brings the error
message: "Paste Special Method of range class failed" My code is as
below:
Windows(file2).Activate Rows("3:3").Select Selection.Copy
Windows(File).Activate Range(Cells(1, 1), Cells(400,
13)).Select Selection.PasteSpecial Paste:=xlDataValidation,
Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False
I've looked in the Excel help, and this says that 'xlDataValidation'
is not an option for PasteSpecial. There must be a way to only paste
the validation! Any help would be appreciated.
Jarred.






--
Debra Dalgleish
Excel FAQ, Tips & Book List
http://www.contextures.com/tiptech.html

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
custom data validation on cells with data validation values AKrobbins Excel Worksheet Functions 2 June 21st 11 04:20 PM
copying data validation to another workbook billf Excel Discussion (Misc queries) 3 March 14th 10 07:19 PM
Excel 2000 - copying/pasting formula for validation purposes Silena K-K Excel Discussion (Misc queries) 5 December 2nd 07 07:39 PM
Validation fails on copying x6v87qe Excel Discussion (Misc queries) 3 May 8th 07 09:10 AM
Copying data down to next dirty cell, then copying that data slarson Excel Programming 0 September 15th 03 09:19 PM


All times are GMT +1. The time now is 02:11 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"