2 Stimmen

Einfügen aus Excel in ein Textfeld

Ich möchte einige Daten aus einer Excel-Datei in ein Textfeld in einer Win-App kopieren. Das Kopieren und Einfügen funktioniert gut, wenn die Zellen fortlaufend sind, aber wenn ich (mit CTRL) die erste und die dritte Zelle auswähle, wird beim Einfügen in das Textfeld auch die zweite Zelle eingefügt. Was ist der beste Weg, um nur die Zellen zu erhalten, an denen ich interessiert bin? Ich danke Ihnen

0voto

NickSentowski Punkte 811

Die einzige Möglichkeit, die ich gefunden habe, besteht darin, die beiden interessanten Spalten zu kopieren, sie irgendwo in Excel nebeneinander einzufügen (z. B. in ein neues Arbeitsblatt), erneut zu kopieren und in das Textfeld einzufügen.

Textfelder sind eigentlich nicht für Daten gedacht, die sich in einer Gitteransicht befinden. Wenn Sie das Textfeld erstellen, empfehle ich, dass Sie stattdessen eine Art von Rasteransicht-Steuerelement versuchen.

Wenn Sie ein Textfeld verwenden müssen, empfehle ich auch, die Daten mit einer Art Trennzeichen, wie z. B. Kommas, einzufügen, um die Daten in den Zeilen zu trennen, da es sonst schwierig wird, damit zu arbeiten, wenn sie aus dem Feld herausgezogen werden.

0voto

TimS Punkte 249

Es gibt keine Möglichkeit, dies zu umgehen, da dies die Art und Weise ist, wie Excel mit Windows interagiert. Sie müssen entweder jede Zelle einzeln kopieren/einfügen oder kopieren/einfügen und dann den überflüssigen Wert löschen.

Wenn es sich um eine sich wiederholende Aufgabe handelt, können Sie ein Skript dafür erstellen. Es gibt eine Fülle von Skripting-Optionen, die von Ihren Fähigkeiten und dem verwendeten Betriebssystem abhängen.

Wenn Sie keine Lust haben, dafür ein vbscript zu schreiben, könnten Sie ein kostenloses Programm wie Kurztasten . Dies ist ein Textersetzungsprogramm, und da das Kopieren/Einfügen vollständig über die Tastatur erfolgen kann, könnte dies eine einfachere Alternative sein.

0voto

Adarsha Punkte 2207

Ich wüsste eine Lösung für dieses Problem. Wenn Ihre Excel-Quelldatei konsistent ist und nicht von einem anderen Tool/Makro oder einer Webseite generiert wurde und Sie Makros hinzufügen können, dann können Sie es versuchen.

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Dim oSelection As Range, oWorkbook As Workbook
Application.ScreenUpdating = False  
Set oSelection = Selection
Set oWorkbook = Application.Workbooks.Add
Application.Windows(oWorkbook.Name).Visible = False
oWorkbook.Sheets(1).Paste
oWorkbook.Sheets(1).Range("A1:" & oWorkbook.Sheets(1).Cells(500, 1).End(xlUp).Address).Copy
oWorkbook.Close False
Application.ScreenUpdating = True
End Sub

Aber nachdem ich dies aufgeschrieben habe, bin ich mir nicht sicher, ob die Fensterdeaktivierung ausgelöst wird, wenn Sie von Excel zu einer anderen Windows-Anwendung wechseln. Ich denke, dass es nur passiert, wenn man mit der Tabulatortaste zu einem anderen Excel-Fenster wechselt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X