** 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