Valgt = MsgBox("ADVARSEL: Denne kommando vil sætte data i faneblad 'Sætte i system' i system, og sletter dermed alle nuværende data der er placeret i faneblad 'Sætte i system'. Kommandoen kan ikke fortrydes! Fortsæt?", vbQuestion + vbYesNoCancel, "ADVARSEL") If Valgt = vbYes Then
' Dette er den makro der skal sættes ind Cells.Select Selection.Copy Sheets("Sikkerhedskopi").Select Range("A1").Select ActiveSheet.Paste Sheets("Sætte i system").Select Range("A1").Select Application.CutCopyMode = False ' Slutter her
Dim Data As Variant, ResData() As Variant, N As Long, i As Long, X As Long, Y As Long, Data2 As Variant, Findes As Boolean
N = 0 Data = Range("a1").CurrentRegion ReDim ResData(UBound(Data, 1) * UBound(Data, 2))
For i = 1 To UBound(Data, 2) For X = 2 To UBound(Data, 1) If Not IsEmpty(Data(X, i)) Then Findes = False For Y = 0 To UBound(ResData) If ResData(Y) = Data(X, i) Then Findes = True Exit For End If Next If Not Findes Then ResData(N) = Data(X, i) N = N + 1 End If End If
Data2 = Range("A1:A" & Range("A65536").End(xlUp).Row) For i = 1 To UBound(Data, 2) For X = 2 To UBound(Data, 1) For Y = 1 To UBound(Data2) If (Data(X, i)) = Data2(Y, 1) Then N = 1
Do N = N + 1 Loop Until Cells(Y, N) = "" Or Cells(Y, N) = Data(1, i)
Cells(Y, N) = Data(1, i) Exit For End If Next Next Next
Else If Valgt = vbNo Then Sheets("Faneblad2").Select
End If End If End Sub
Derudover er der et mindre problem. Når jeg trykker "No", så skriver den "Subscript out of range". Hvordan får jeg den til at holde op med det?
Public Sub Samle_i_System() Dim Valgt As String Dim Data As Variant, ResData() As Variant, N As Long, i As Long, X As Long, Y As Long, Data2 As Variant, Findes As Boolean
Valgt = MsgBox("ADVARSEL: Denne kommando vil sætte data i faneblad 'Sætte i system' i system, og sletter dermed alle nuværende data der er placeret i faneblad 'Sætte i system'. Kommandoen kan ikke fortrydes! Fortsæt?", vbQuestion + vbYesNoCancel, "ADVARSEL") If Valgt = vbYes Then
Sheets("Sætte i system").Activate ' jeg går ud fra at der er fra Sheets("Sætte i system"), du vil kopiere Cells.Copy Sheets("Sikkerhedskopi").Range("A1").Select
N = 0 Data = Range("a1").CurrentRegion ReDim ResData(UBound(Data, 1) * UBound(Data, 2))
For i = 1 To UBound(Data, 2) For X = 2 To UBound(Data, 1) If Not IsEmpty(Data(X, i)) Then Findes = False For Y = 0 To UBound(ResData) If ResData(Y) = Data(X, i) Then Findes = True Exit For End If Next If Not Findes Then ResData(N) = Data(X, i) N = N + 1 End If End If
Data2 = Range("A1:A" & Range("A65536").End(xlUp).Row) For i = 1 To UBound(Data, 2) For X = 2 To UBound(Data, 1) For Y = 1 To UBound(Data2) If (Data(X, i)) = Data2(Y, 1) Then N = 1
Do N = N + 1 Loop Until Cells(Y, N) = "" Or Cells(Y, N) = Data(1, i)
Cells(Y, N) = Data(1, i) Exit For End If Next Next Next End If Else Sheets("Faneblad2").Select End If End Sub
Public Sub Samle_i_System() Dim Valgt As String Dim Data As Variant, ResData() As Variant, N As Long, i As Long, X As Long, Y As Long, Data2 As Variant, Findes As Boolean
Valgt = MsgBox("ADVARSEL: Denne kommando vil sætte data i faneblad 'Sætte i system' i system, og sletter dermed alle nuværende data der er placeret i faneblad 'Sætte i system'. Kommandoen kan ikke fortrydes! Fortsæt?", vbQuestion + vbYesNoCancel, "ADVARSEL") If Valgt = vbYes Then
Sheets("Sætte i system").Activate ' jeg går ud fra at der er fra Sheets("Sætte i system"), du vil kopiere Cells.Copy Sheets("Sikkerhedskopi").Range("A1")
N = 0 Data = Range("a1").CurrentRegion ReDim ResData(UBound(Data, 1) * UBound(Data, 2))
For i = 1 To UBound(Data, 2) For X = 2 To UBound(Data, 1) If Not IsEmpty(Data(X, i)) Then Findes = False For Y = 0 To UBound(ResData) If ResData(Y) = Data(X, i) Then Findes = True Exit For End If Next If Not Findes Then ResData(N) = Data(X, i) N = N + 1 End If End If
Data2 = Range("A1:A" & Range("A65536").End(xlUp).Row) For i = 1 To UBound(Data, 2) For X = 2 To UBound(Data, 1) For Y = 1 To UBound(Data2) If (Data(X, i)) = Data2(Y, 1) Then N = 1
Do N = N + 1 Loop Until Cells(Y, N) = "" Or Cells(Y, N) = Data(1, i)
Cells(Y, N) = Data(1, i) Exit For End If Next Next Next End If Else Sheets("Faneblad2").Select End If End Sub
Public Sub Samle_i_System() Dim Valgt As String Dim Data As Variant, ResData() As Variant, N As Long, i As Long, X As Long, Y As Long, Data2 As Variant, Findes As Boolean
Valgt = MsgBox("ADVARSEL: Denne kommando vil sætte data i faneblad 'Sætte i system' i system, og sletter dermed alle nuværende data der er placeret i faneblad 'Sætte i system'. Kommandoen kan ikke fortrydes! Fortsæt?", vbQuestion + vbYesNoCancel, "ADVARSEL") If Valgt = vbYes Then
Sheets("Sætte i system").Activate ' jeg går ud fra at der er fra Sheets("Sætte i system"), du vil kopiere Cells.Copy Sheets("Sikkerhedskopi").Range("A1")
N = 0 Data = Range("a1").CurrentRegion ReDim ResData(UBound(Data, 1) * UBound(Data, 2))
For i = 1 To UBound(Data, 2) For X = 2 To UBound(Data, 1) If Not IsEmpty(Data(X, i)) Then Findes = False For Y = 0 To UBound(ResData) If ResData(Y) = Data(X, i) Then Findes = True Exit For End If Next If Not Findes Then ResData(N) = Data(X, i) N = N + 1 End If End If
Data2 = Range("A1:A" & Range("A65536").End(xlUp).Row) For i = 1 To UBound(Data, 2) For X = 2 To UBound(Data, 1) For Y = 1 To UBound(Data2) If (Data(X, i)) = Data2(Y, 1) Then N = 1
Do N = N + 1 Loop Until Cells(Y, N) = "" Or Cells(Y, N) = Data(1, i)
Cells(Y, N) = Data(1, i) Exit For End If Next Next Next Else Sheets("Faneblad2").Select
End If
End Sub
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.