Hjælp til at lave makroer i Excel
jeg har et regneark, som vi bruger til tilbudberegning. Det er temmelig avanceret, hvilket betyder at det efterhånden er lidt omstændigt at bruge. Jeg kan se at det ville være nyttigt at få lagt nogle makro'er ind, så kommunikationen mellem vore regneark ville blive nemmere. Jeg arbejder på at kunne kopiere et område fx. A2:G16 i mit aktive ark til et bestemt sted i et andet ark? Når jeg kører nedenstående i en separat SUB, fungere det fint, men når jeg sætter det ind i en anden Makro får jeg pludselig forskellige fejl, på trods af at den anden Makro forinden virker korrekt.Range("A2:G16").Select
Selection.Copy
Sheets("Compare").Select
Range("B3").Select
ActiveSheet.PasteSpecial
Range("A2").Select
Dette her er den anden Makro som ellers virker fint, så længe jeg ikke sætter ovenstående ind i den...? Kan nogen hjælpe?
Sub Mail_Range()
'Working in 2000-2010
Dim Source As Range
Dim Dest As Workbook
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim i As Long
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
'kopierer leverandør oplysninger ind
Sheets("RFQ").Select
Range("J13").Select
'Range(Selection, Selection.End(xlDown)).Select
'Range("J13").Select
Selection.Copy
Sheets("RFQ").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets("RFQ").Select
Range("J12").Select
Selection.Copy
Sheets("RFQ").Select
Range("B9").Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets("RFQ").Select
Range("J11").Select
Selection.Copy
Sheets("RFQ").Select
Range("B10").Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets("RFQ").Select
Range("J10").Select
Selection.Copy
Sheets("RFQ").Select
Range("B11").Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets("RFQ").Select
Range("J9").Select
Selection.Copy
Sheets("RFQ").Select
Range("E16").Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets("RFQ").Select
Range("J8").Select
Selection.Copy
Sheets("RFQ").Select
Range("F15").Select
Selection.PasteSpecial Paste:=xlPasteValues
'Slut på kopiering af leverandøroplysninger
'Start
Set Source = Nothing
On Error Resume Next
Set Source = Range("A1:G45").SpecialCells(xlCellTypeVisible)
On Error GoTo 0
If Source Is Nothing Then
MsgBox "The source is not a range or the sheet is protected, " & _
"please correct and try again.", vbOKOnly
Exit Sub
End If
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
Set Dest = Workbooks.Add(xlWBATWorksheet)
Source.Copy
With Dest.Sheets(1)
.Cells(1).PasteSpecial Paste:=8
.Cells(1).PasteSpecial Paste:=xlPasteValues
.Cells(1).PasteSpecial Paste:=xlPasteFormats
.Cells(1).Select
Application.CutCopyMode = False
End With
If Val(Application.Version) < 12 Then
'You use Excel 2000-2003
FileExtStr = ".xls": FileFormatNum = -4143
Else
'You use Excel 2007-2010
FileExtStr = ".xlsm": FileFormatNum = 52
End If
With Dest
.SaveAs ThisWorkbook.Path & "\" & ThisWorkbook.Sheets("RFQ").Range("A2") & FileExtStr, FileFormat:=FileFormatNum
On Error Resume Next
For i = 1 To 3
.SendMail "", _
"This is the Subject line"
If Err.Number = 0 Then Exit For
Next i
On Error GoTo 0
.Close SaveChanges:=False
End With
'Delete the file you have send
'Kill TempFilePath & TempFileName & FileExtStr Er ikke anvent i denne makro
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub