Mit etwas Hilfe habe ich zwei Funktionen zusammen, die im Einklang alle meine Daten zuerst von dem "Text" -Format in ein "Zahl" -Format konvertieren werden. Danach wird jede Spalte auf eine feste Anzahl von Zeichen gesetzt.Excel: Auslassen von Zeilen/Spalten aus VBA-Makro
Die zwei Subroutinen, die ich verwende, sind unten aufgeführt, aber ich kann nicht herausfinden, wie bestimmte Zeilen/Spalten für die jeweiligen Funktionen weggelassen werden.
Wenn ich die Funktion psAdd ausführe, möchte ich die ersten drei Zeilen aus dem Bereich weglassen, und für die Funktion FormatFixedNumber möchte ich mehrere Spalten weglassen. Das Problem mit letzterem besteht darin, dass ich mehr als 1000 Spalten mit Daten und eine Schlüsselkopfzeile mit einer 1 oder 0 habe, die angibt, ob die Spalte konvertiert werden soll.
Wie könnte dieser Code geändert werden, um die ersten drei Zeilen in der ersten Untergruppe und mehrere Spalten, die in der zweiten mit einer 0 markiert sind, zu überspringen?
Sub psAdd()
Dim x As Range 'Just a blank cell for variable
Dim z As Range 'Selection to work with
Set z = Cells
Set x = Range("A65536").End(xlUp).Offset(1)
If x <> "" Then
Exit Sub
Else
x.Copy
z.PasteSpecial Paste:=xlPasteAll, Operation:=xlAdd
Application.CutCopyMode = False 'Kill copy mode
End If
x.ClearContents 'Back to normal
End Sub
Sub FormatFixedNumber()
Dim i As Long
Application.ScreenUpdating = False
For i = 1 To lastCol 'replace 10 by the index of the last column of your spreadsheet
With Columns(i)
.NumberFormat = String(.Cells(2, 1), "0") 'number length is in second row
End With
Next i
Application.ScreenUpdating = True
End Sub
Wenn ich das verstehen Frage richtig in Bezug auf den zweiten Stück od Code, die 0 ist in Zeile 2, so würde die Bedingung sein "Wenn Zellen (2, i) <> 0 Then". – assylias
Ich möchte auch das zweite Stück Code die ersten paar Header-Zeilen wie das erste Stück Code weglassen. – toolshed