Worksheet ohne Sheetname verwenden
11.05.2020 14:22:12
Sven
ich möchte mit meinem Makro CSV datein einlesen und an bestimmte stellen kopieren dies klappt auch alles nun habe ich aber CSV Datein die verschiedene Blattnamen haben.
da sich das makro aber auf die blattnamen bezieht müsste ich bei jeder datei das makro ändern oder dies per makro ändern gibt es eine möglichkeit mein vorhandes makro so zu ändern das ihm der blattname egal ist wo er die werte rauskopiert ?
Ich denke hier liegt das Problem Worksheets(sheetname).Range("A1:F55").Copy
Liebe Grüße Sven
Dim sheetname
Dim Filename
Dim ritnr
Sub Filepathset()
respons = MsgBox("The current workpath is " & Application.DefaultFilePath & " Do you want _
_
to change?", vbYesNo)
If respons = vbYes Then
filepath = InputBox("Geef nieuwe directory", filepath)
Application.DefaultFilePath = filepath
MsgBox "current working directory is: " & Application.DefaultFilePath
End If
End Sub
Sub Sheetname_define()
respons = MsgBox("The current sheetname is " & sheetname & " Do you want to change?", _
vbYesNo)
If respons = vbYes Then
sheetname = InputBox("Please enter the sheetname with results (for instance 'tab4')", sheetname) _
_
End If
End Sub
Sub Fileread_and_copy()
uitwerkingnaam = (Application.ActiveWorkbook.Name)
anotherfile = vbYes
Do Until anotherfile = vbNo
ritnr = InputBox("Enter run number you want to import", ritnr)
Filename = Application.GetOpenFilename("CSV files (*.csv), *.csv")
If Filename = "" Then
teller = 0
Do Until teller = 2
teller2 = teller + 1
MsgBox "you must select an csv file"
Filename = Application.GetOpenFilename("CSV files (*.csv), *.csv")
Loop
Else
Workbooks.Open Filename:=Filename
End If
If sheetname = "" Then
Sheetname_define
End If
Application.DisplayAlerts = False
Worksheets(sheetname).Range("A1:F55").Copy
bandnaam = (Application.ActiveWorkbook.Name)
Windows(bandnaam).Close
Windows(uitwerkingnaam).Activate
If ritnr = 1 Then
ActiveSheet.Paste Destination:=Worksheets("datasheet").Range("B10")
Worksheets("datasheet").Activate
Worksheets("datasheet").Range("A10").Select
Selection.Formula = bandnaam
End If
If ritnr = 2 Then
ActiveSheet.Paste Destination:=Worksheets("datasheet").Range("B70")
Worksheets("datasheet").Activate
Worksheets("datasheet").Range("A70").Select
Selection.Formula = bandnaam
End If
If ritnr = 3 Then
ActiveSheet.Paste Destination:=Worksheets("datasheet").Range("B130")
Worksheets("datasheet").Activate
Worksheets("datasheet").Range("A130").Select
Selection.Formula = bandnaam
End If
If ritnr = 4 Then
ActiveSheet.Paste Destination:=Worksheets("datasheet").Range("B190")
Worksheets("datasheet").Activate
Worksheets("datasheet").Range("A190").Select
Selection.Formula = bandnaam
End If
If ritnr = 5 Then
ActiveSheet.Paste Destination:=Worksheets("datasheet").Range("B250")
Worksheets("datasheet").Activate
Worksheets("datasheet").Range("A250").Select
Selection.Formula = bandnaam
End If
If ritnr = 6 Then
ActiveSheet.Paste Destination:=Worksheets("datasheet").Range("B310")
Worksheets("datasheet").Activate
Worksheets("datasheet").Range("A310").Select
Selection.Formula = bandnaam
End If
If ritnr = 7 Then
ActiveSheet.Paste Destination:=Worksheets("datasheet").Range("B370")
Worksheets("datasheet").Activate
Worksheets("datasheet").Range("A370").Select
Selection.Formula = bandnaam
End If
If ritnr = 8 Then
ActiveSheet.Paste Destination:=Worksheets("datasheet").Range("B430")
Worksheets("datasheet").Activate
Worksheets("datasheet").Range("A430").Select
Selection.Formula = bandnaam
End If
If ritnr = 9 Then
ActiveSheet.Paste Destination:=Worksheets("datasheet").Range("B490")
Worksheets("datasheet").Activate
Worksheets("datasheet").Range("A490").Select
Selection.Formula = bandnaam
End If
If ritnr = 10 Then
ActiveSheet.Paste Destination:=Worksheets("datasheet").Range("B550")
Worksheets("datasheet").Activate
Worksheets("datasheet").Range("A550").Select
Selection.Formula = bandnaam
End If
If ritnr = 11 Then
ActiveSheet.Paste Destination:=Worksheets("datasheet").Range("B610")
Worksheets("datasheet").Activate
Worksheets("datasheet").Range("A610").Select
Selection.Formula = bandnaam
End If
If ritnr = 12 Then
ActiveSheet.Paste Destination:=Worksheets("datasheet").Range("B670")
Worksheets("datasheet").Activate
Worksheets("datasheet").Range("A670").Select
Selection.Formula = bandnaam
End If
If ritnr = 13 Then
ActiveSheet.Paste Destination:=Worksheets("datasheet").Range("B730")
Worksheets("datasheet").Activate
Worksheets("datasheet").Range("A730").Select
Selection.Formula = bandnaam
End If
Worksheets("read in data").Activate
Worksheets("read in data").Range("B18").Select
anotherfile = MsgBox("Do you want to import another file?", vbYesNo)
Loop
End Sub
Sub deleterit()
respons = MsgBox("Are you sure you want to delete a run?", vbYesNo)
If respons = vbYes Then
delrit = InputBox("enter run number you want to delete", delrit)
Else
MsgBox "no run has been deleted"
End If
If delrit = 1 Then
Worksheets("datasheet").Range("B10:G65").Clear
Worksheets("datasheet").Range("A10").Clear
End If
If delrit = 2 Then
Worksheets("datasheet").Range("B70:G125").Clear
Worksheets("datasheet").Range("A70").Clear
End If
If delrit = 3 Then
Worksheets("datasheet").Range("B130:G185").Clear
Worksheets("datasheet").Range("A130").Clear
End If
If delrit = 4 Then
Worksheets("datasheet").Range("B190:G245").Clear
Worksheets("datasheet").Range("A190").Clear
End If
If delrit = 5 Then
Worksheets("datasheet").Range("B250:G305").Clear
Worksheets("datasheet").Range("A250").Clear
End If
If delrit = 6 Then
Worksheets("datasheet").Range("B310:G365").Clear
Worksheets("datasheet").Range("A310").Clear
End If
If delrit = 7 Then
Worksheets("datasheet").Range("B370:G425").Clear
Worksheets("datasheet").Range("A370").Clear
End If
If delrit = 8 Then
Worksheets("datasheet").Range("B430:G485").Clear
Worksheets("datasheet").Range("A430").Clear
End If
If delrit = 9 Then
Worksheets("datasheet").Range("B490:G545").Clear
Worksheets("datasheet").Range("A490").Clear
End If
If delrit = 10 Then
Worksheets("datasheet").Range("B550:G605").Clear
Worksheets("datasheet").Range("A550").Clear
End If
If delrit = 11 Then
Worksheets("datasheet").Range("B610:G665").Clear
Worksheets("datasheet").Range("A610").Clear
End If
If delrit = 12 Then
Worksheets("datasheet").Range("B670:G725").Clear
Worksheets("datasheet").Range("A670").Clear
End If
If delrit = 13 Then
Worksheets("datasheet").Range("B730:G785").Clear
Worksheets("datasheet").Range("A730").Clear
End If
End Sub
Anzeige