Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1632to1636
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

mehrere Zeilen per Macro ausschneiden

mehrere Zeilen per Macro ausschneiden
18.07.2018 14:25:34
arek
Hallo zusammen,
ich habe einen Button "Close/stopp offer", der mir beim Drücken eine Listbox anzeigt mit sämtlichen aktiven Angeboten (Reiter: ACTIVE). Wenn ich dann in der Listbox ein Angebot auswähle, kann ich zwischen Close bzw. Stopped entscheiden und das entsprechende Angebot wird mit dem Status Close bzw. Stopped versehen und die ganze Zeile mit den Informationen bezüglich des Angebots wird ausgeschnitten und in den Reiter Closed_Stopped verschoben. Nun meine Frage: Wie muss ich den Code umschreiben, damit nicht nur die jeweilige Zeile mit dem Angebot in den Reiter verschoben wird, sondern auch noch die nächsten drei Zeilen (hier stehen auch noch Informationen zu dem Angebot)?...Vielen Dank für eure Hilfe!!
Hier noch mein Code:
Private Sub CommandButton1_Click()
Dim i, j, k, m, n, o, p, Index_ID, Offset_row, File_Index_ As Integer
Dim LINK_, File_Name_, Project_Titel_, Path_, Switch_1, OCIP_Workbook_Name_,  _
Hours_Workbook_Name_, Text, Titel As String
Dim Status_in_hours_booking, Proj_ID_in_hours_booking, Antwort As Variant
'Konstante
Offset_row = 6
Index_ID = UserForm3.ListBox1.ListIndex
'Daten in CLOSED_STOPPED speichern
With Workbooks(ThisWorkbook.Name).Worksheets("ACTIVE")
j = 5 ' Spalte
If .Cells(Index_ID + Offset_row, 20).Value  "" Or UCase(.Cells(Index_ID + Offset_row,  _
20).Value) = "X" Then
.Cells(Index_ID + Offset_row, j).Value = "closed"
UserForm3.OptionButton2.Value = True
ElseIf .Cells(Index_ID + Offset_row, 19).Value  "" Or UCase(.Cells(Index_ID +  _
Offset_row, 19).Value) = "X" Then
Text = "Project is in implementation and was not closed yet. Update status and  _
close the project?"
Titel = "Decision project close"
Antwort = MsgBox(Text, vbYesNo, Titel)
If Antwort = vbYes Then
.Cells(Index_ID + Offset_row, j).Value = "closed"
.Cells(Index_ID + Offset_row, 20).Value = "X"
UserForm3.OptionButton2.Value = True
Else
.Cells(Index_ID + Offset_row, j).Value = "stopped"
UserForm3.OptionButton1.Value = True
End If
Else
.Cells(Index_ID + Offset_row, j).Value = "stopped"
UserForm3.OptionButton1.Value = True
End If
Status_in_hours_booking = .Cells(Index_ID + Offset_row, 6).Value
Proj_ID_in_hours_booking = .Cells(Index_ID + Offset_row, 3).Value
End With
'*** Daten aktualisieren in hours_booking_ *****
With Workbooks(ThisWorkbook.Name).Worksheets("Set-up")
i = 100 ' Reihe Adressfeld = 100..400
j = 1 ' Spalte
Switch_1 = ""
Switch_2 = ""
'.Activate
Do
If .Cells(i, j).Value = "PATH_HOURS_BOOKING_" Then
LINK_ = .Cells(i, j + 1).Value
Switch_1 = "1"
End If
i = i + 1
Loop Until .Cells(i, j).Value = "" Or i = 400
i = 100 ' Reihe Adressfeld = 100..400 in Set-up
o = 2   ' Reihe in Errors
Do
If .Cells(i, j).Value = "FILE_HOURS_BOOKING_" Then
File_Name_ = .Cells(i, j + 1).Value
Switch_2 = "1"
End If
Offset_row = 6
k = 10
Project_Titel_ = Workbooks(ThisWorkbook.Name).Worksheets("ACTIVE").Cells(Index_ID +  _
Offset_row, k).Value
OCIP_Workbook_Name_ = ThisWorkbook.Name
Path_ = LINK_ & File_Name_ & ".xlsm"
If File_Name_  "" Then
ChDir LINK_
Workbooks.Open Filename:=Path_, UpdateLinks:=0
ActiveWorkbook.RunAutoMacros xlAutoOpen
Hours_Workbook_Name_ = File_Name_ & ".xlsm"
m = 1 ' project title Row in hours booking
n = 1 ' project title column in hours booking
Do
Test = Workbooks(Hours_Workbook_Name_).Worksheets("Project_and_activity_list"). _
Cells(m, n).Value
If Workbooks(Hours_Workbook_Name_).Worksheets("Project_and_activity_list"). _
Cells(m, n).Value = Project_Titel_ Then
Workbooks(Hours_Workbook_Name_).Worksheets("Project_and_activity_list"). _
Cells(m, n + 1).Value = Status_in_hours_booking
Workbooks(Hours_Workbook_Name_).Worksheets("Project_and_activity_list"). _
Cells(m, n + 2).Value = Proj_ID_in_hours_booking
Exit Do
End If
m = m + 1
Loop Until m = 2000  ' limit for item number in hours booking. searching range = 1.. _
2000
If m 

Private Sub Frame1_Click()
End Sub

Private Sub ListBox1_Click()
Dim Offset_row, Index_ID As Integer
'Konstante
Offset_row = 6
'Markierung Daten in Reiter ACTIVE
With Workbooks(ThisWorkbook.Name).Worksheets("ACTIVE")
.Activate
ActiveSheet.Unprotect
Index_ID = UserForm3.ListBox1.ListIndex
Adresse_ = CStr(Index_ID + Offset_row) & ":" & CStr(Index_ID + Offset_row)
Rows(Adresse_).Select
End With
UserForm3.CommandButton1.Enabled = True
With Workbooks(ThisWorkbook.Name).Worksheets("ACTIVE")
j = 5 ' Spalte
If .Cells(Index_ID + Offset_row, 20).Value  "" Or UCase(.Cells(Index_ID + Offset_row,  _
20).Value) = "X" Then
UserForm3.OptionButton2.Value = True
ElseIf .Cells(Index_ID + Offset_row, 20).Value = "" Or UCase(.Cells(Index_ID +  _
Offset_row, 20).Value)  "X" Then
UserForm3.OptionButton1.Value = True
Else
'  .Cells(Index_ID + Offset_row, j).Value = "stopped"
'  UserForm3.OptionButton1.Value = True
End If
End With
End Sub
Private Sub UserForm_Initialize()
Dim i, j, k, l, Index_ID As Integer
Dim Adresse_ As String
UserForm3.ListBox1.ColumnCount = 4
'Leere Reihe finden in: ACTIVE
With Worksheets("ACTIVE")
.Activate
i = 6 ' Reihe Anfang
k = i 'Reihe Ende
j = 8 ' Spalte Anfang
l = 10
Do
k = k + 297
Loop Until .Cells(k, j).Value = "" Or k = 2000
End With
Adresse_ = "j" & CStr(i) & ":t" & CStr(k)
UserForm3.ListBox1.RowSource = Adresse_
End Sub

Private Sub UserForm_Terminate()
Workbooks(ThisWorkbook.Name).Worksheets("ACTIVE").Activate
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mehrere Zeilen per Macro ausschneiden
18.07.2018 15:26:51
PeterK
Hallo
Willst Du die nächsten 3 Zeilen auch mitverschieben oder kopieren?
Fallst Du auch verschiebe willst: in "Sub ListBox1_Click" den Wert "Adresse_ = CStr(Index_ID + Offset_row) & ":" & CStr(Index_ID + Offset_row)" entsprechend ändern (derzeit nur eine Zeile) dann sollte es Funktionieren.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige