** VBA-Code, der den Inhalt der Auswahl in Excel in ** Python-Listeninitialisierungscode konvertiert und in die Zwischenablage kopiert. Generieren Sie ein Python-Programm mit der ersten Zeile der Auswahl als ** Variablenname ** und den nachfolgenden Zeilen als ** Elementen ** der Liste, wie in der folgenden Abbildung gezeigt.
Das Kopieren von Text in die Zwischenablage wird unter "Kopieren einer nicht fehlerhaften VBA-Zeichenfolge in die Zwischenablage" beschrieben. Ich habe den Code so verwendet, wie er ist.
Auswahl(Range)Zu einer Python-Liste (Initialisierungscode)
Sub Range2PythonList()
If TypeName(Selection) <> "Range" Then
Exit Sub
End If
sCol = Selection(1).Column 'Bereichsstartspalte
eCol = Selection(Selection.Count).Column 'Bereichsende
sRow = Selection(1).Row 'Bereichsstartlinie
eRow = Selection(Selection.Count).Row 'Bereichsendlinie
If sRow = eRow Then
Exit Sub
End If
pCode = ""
For c = sCol To eCol
pCode = pCode & Cells(sRow, c).Value & "=["
For r = sRow + 1 To eRow
v = Cells(r, c).Value
Select Case TypeName(v)
Case "String"
pCode = pCode & "'" & v & "'"
Case "Empty", "Null", "Nothing"
pCode = pCode & "None"
Case "Date"
pCode = pCode & "datetime.datetime(" _
& Year(v) & "," _
& Month(v) & "," _
& Day(v) & "," _
& Hour(v) & "," _
& Minute(v) & "," _
& Second(v) & ")"
Case Else
pCode = pCode & v
End Select
pCode = pCode & ","
Next r
pCode = Left(pCode, Len(pCode) - 1) & "]" & vbCrLf
Next c
Debug.Print pCode
SetClip (pCode)
End Sub
'Kopieren Sie den Text in den Clip
' https://info-biz.club/windows/vba/vba-set-clipboard.html
Sub SetClip(S As String)
With CreateObject("Forms.TextBox.1")
.MultiLine = True
.Text = S
.SelStart = 0
.SelLength = .TextLength
.Copy
End With
End Sub
Starten Sie Excel, starten Sie den VBA-Code-Editor mit "** Alt + F11 **" und wählen Sie die Zielarbeitsmappe durch Doppelklick aus.
Ein Fenster zum Schreiben von VBA-Code wird geöffnet. Kopieren Sie den obigen Code und fügen Sie ihn dort ein.
Gehen Sie zurück zu Excel, ** wählen Sie einen Bereich aus, ** starten Sie das Makro mit "** Alt + F8 **" und wählen Sie "ThisWorkbook.Range2PythonList", um es auszuführen.
Der Inhalt der Auswahl wird in Python-Listeninitialisierungscode konvertiert und in die Zwischenablage kopiert. Fügen Sie es danach in einen geeigneten Editor ein und verwenden Sie es (fügen Sie ggf. "import datetime" hinzu).
Recommended Posts