Ich habe ein VBA-Makro, das meine Daten als XML ausgibt. Ich versuche, einen Weg zu finden, mein Makro zu bearbeiten, um eine Zeile während der Schleife zu überspringen, wenn ein bestimmter Zellenwert "AUS" ist. Da ich nicht gut darin bin, VBA-Code zu schreiben, wollte ich das einfach halten, also schaue ich VBA-Makros nach und tüftle mit ihnen, bis ich das gewünschte Ergebnis bekomme, also entschuldige mich für irgendwelche Fehler, die ich in dem bereitgestellten Code habe. Hier ist das Makro, das ich jetzt habe, aber ich bekomme immer einen Fehlertypfehler. Für jede Zeile des XML habe ich eine Zelle daneben, die entweder auf den "ON" oder "OFF" Wert gesetzt ist. Danke für die Hilfe alle!VBA-Makro, XML zu exportieren, die eine Zeile vermeidet, wenn eine bestimmte Zellen "OFF" -Wert ist
Sub Export_tvXML()
Dim XMLFileName As String
Dim MetaFileName1 As String
Dim MetaFileName2 As String
Dim output1 As String
Dim output2 As String
Dim range1 As Range
Dim range2 As Range
Set range1 = Sheets("XML").Range("A2:E84")
Set range2 = Sheets("XML").Range("A86:E168")
MetaFileName1 = Sheets("TV_Info").Range("G5")
MetaFileName2 = Sheets("TV_Info").Range("G6")
XMLFileName = MetaFileName1 & ".xml"
For Each r In range1.Rows
If Cells(r, 6).Value = 1 Then
For Each c In r.Cells
output1 = output1 & c.Value
Next c
output1 = output1 & vbNewLine
End If
Next r
Open XMLFileName For Output As #1
Print #1, output1
Close #1
XMLFileName = MetaFileName2 & ".xml"
For Each r In range2.Rows
For Each c In r.Cells
output2 = output2 & c.Value
Next c
output2 = output2 & vbNewLine
Next r
Open XMLFileName For Output As #2
Print #2, output2
Close #2
End Sub
Was die Tabelle Seite davon, ich habe XMLs verspottet und das Makro wird der Wert nur ausgegeben, wie es formatiert. Hier ist ein Screenshot zur Referenz. Also jede Zeile, die ausgeschaltet ist, möchte, dass das Makro diese Zeile überspringt und zur nächsten Zeile weitergeht, die es ausgibt.
Verketten Sie keine XML-Strings als Textdatei. Verwenden Sie die MSXML-Bibliothek, die [DOM-Methoden] verwaltet (https://msdn.microsoft.com/en-us/library/ms757828 (v = vs.85) .aspx): 'createElement()', 'appendChild()' , 'setAttributeNode()' .... – Parfait