Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung VB for Applications

GELÖST

Daten die in der Zwischenablage(Clipboard) sind direkt in einen Array einlesen

Mitglied: runner-ralf

runner-ralf (Level 1) - Jetzt verbinden

10.04.2014, aktualisiert 11.04.2014, 1238 Aufrufe, 3 Kommentare

Hallo alles zusammen,

ich habe ein Code aus dem Netz mit dem ich Daten aus der Zwischenablage in eine Textdatei schreibe.
Nun will ich aber Daten die in der Zwischenablage liegen direkt in einen zweidimensionalen Array schreiben,

Das schaffe ich aber nicht. Habe jetzt schon ewig herumprobiert mit split() und replace() aber ich finde einfach nicht den richtigen Ansatz.

Ich markiere vorher einen Range und den will ich dann nicht wie im unten gezeigten Code in einen Textdatei schreiben (wie bisher und dann wieder in einen Array zurück) sondern direkt in den Array_A(a,b)

Hier der Code der ganz gut funktioniert aber eben zuerst in eine Textdatei geschrieben wird. Habe ich anfangs genutzt weil das so schneller ging als direkt aus einem Range Objekt in einen Array. So komisch es auch klingen mag.....


Viele Grüße aus dem Süden Deutschlands

Ralf



Option Explicit

'
' Gesamtes Tabellenblatt in eine Textdatei schreiben
'
'Benötigt einen Verweis auf die Microsoft Forms 2.0 Objektlibrary

'

Public Sub Speichern(Spaltentrenner As String, Pfad As String, Der_Range As Range, LeerWeg As Boolean)
Dim a

Dim oData As New DataObject, sDelim As String, sText As String, iFrei As Integer

Dim iColCount As Integer, sDelete As String

On Error GoTo Fehler

sDelim = Spaltentrenner

Der_Range.Copy

oData.GetFromClipboard

Application.CutCopyMode = False

sText = oData.GetText(1)

oData.Clear


If LeerWeg Then

iColCount = Der_Range.Columns.Count - 1

sDelete = String$(iColCount, vbTab)

sText = Replace(sText, sDelete, "")

While Len(sText) <> Len(Replace(sText, vbCrLf & vbCrLf, vbCrLf))

sText = Replace(sText, vbCrLf & vbCrLf, vbCrLf)

Wend

End If

If Len(sDelim) > 0 Then sText = Replace(sText, vbTab, sDelim)

iFrei = FreeFile

Open Pfad For Output As #iFrei

Print #iFrei, sText;

Close #iFrei

Exit Sub

Fehler:

MsgBox Err.Description

End Sub

Mitglied: colinardo
LÖSUNG 10.04.2014, aktualisiert 11.04.2014
Hallo Runner-ralf,
wenn es darum geht die aktuell ausgewählten Zellen-Range in ein Array zu wandeln, kann dies simpler nicht sein. Dazu brauchst du noch nicht mal den Umweg über die Zwischenablage gehen.
01.
Sub AktuelleAuswahlInArrayWandeln() 
02.
    Dim arr As Variant 
03.
    arr = Selection.Value 
04.
     
05.
    ' ----- Array zur Demo im Debug-Bereich ausgeben --------- 
06.
    'checke ob ein Array zurückgegeben wurde (zur Info: bei der Auswahl von nur einer Zelle ist es kein Array) 
07.
    If IsArray(arr) Then 
08.
        For i = 1 To UBound(arr) 
09.
            For j = 1 To UBound(arr, 2) 
10.
                Debug.Print arr(i, j) 
11.
            Next 
12.
        Next 
13.
    Else 
14.
        ' es war nur eine Zelle ausgewählt 
15.
        Debug.Print arr 
16.
    End If 
17.
End Sub
Grüße Uwe

p.s. bitte benutze in Zukunft Tags für deinen Code. Merci.
Bitte warten ..
Mitglied: 115420
11.04.2014 um 08:22 Uhr
Hallo!

oder alternativ, die (Debug)-Ausgabe so:
01.
'..... 
02.
    Dim aValues As Variant, vValue As Variant 
03.
    
04.
    aValues = Range("A1:B5").Value 
05.
     
06.
    If IsArray(aValues) Then 
07.
        For Each vValue In aValues 
08.
            Debug.Print vValue  'Ausgabe: A1, .., A5, B1, .., B5 
09.
        Next 
10.
     
11.
        For Each vValue In WorksheetFunction.Transpose(aValues) 
12.
            Debug.Print vValue  'Ausgabe: A1, B1, .., A5, B5 
13.
        Next 
14.
    End If 
15.
'.....
Grüße
spatzenhirn
Bitte warten ..
Mitglied: runner-ralf
11.04.2014 um 14:52 Uhr
Hallo Uwe,

vielen Dank für die Hilfe. Ich werde wohl nie ein Programmierer werden. So einfach ist das!?

Ich habe in einer Schleife mit instr den clipboard Inhalt nach einem vbcrlf gesucht und dann diesen Teil mit split auseinandergenommen.
Das ging eine Weile gut aber irgendwann kam immer ein Speicherüberlauf.......


OK, ich werde in Zukunft Tags benutzen.

Viele Grüße

Ralf
Bitte warten ..
Ähnliche Inhalte
C und C++
String einlesen in Array und wieder ausgeben von hinten
Frage von ProtectedC und C++4 Kommentare

Hallo, ich würde gerne einen String einlesen bzw. char und dann andersrum wieder ausgeben. Also: Otto Maoam zu: maoaM ...

Batch & Shell
Powershell Abruf von Daten aus einem Array
gelöst Frage von derhoeppiBatch & Shell5 Kommentare

Hallo, ich habe ein globales Array aus dem ich bestimmte Daten haben möchte. Das Array $a umfasst folgende Felder: ...

Datenbanken
Mongodb Daten aus Array auslesen
gelöst Frage von BaanauseDatenbanken1 Kommentar

Habe folgendes Programm geschrieben um eine MongoDB auszulesen. Als Ergebnis bekomme ich ein Array wie folgt: { _id: ...

Batch & Shell
PowerShell Daten aus Array mit Daten aus Hashtable verknüpfen
gelöst Frage von derhoeppiBatch & Shell2 Kommentare

Hallo, ich habe ein Array mit Informationen. In diesem Array gibt es einen nummerischen Wert. Weil ich mit dem ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 16 StundenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 1 TagTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 1 TagSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 1 TagSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Sicherheit
Meltdown und Spectre: Die machen uns alle was vor
Information von FrankSicherheit25 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Netzwerke
Packet loss bei "InternetLeitungsvollauslastung"
gelöst Frage von Freak-On-SiliconNetzwerke17 Kommentare

Servus; Ja der Titel klingt komisch, is aber so. Wenn die Internetleitung voll ausgelastet ist, hab ich extreme packet ...

Ubuntu
Ubuntu - Starter für nicht vertrauenswürdige Anwendungen
Frage von adm2015Ubuntu17 Kommentare

Hallo zusammen, Ich verwende derzeit die Ubuntu Versionen 17.10 bzw. im Test 18.04. Ich habe mehrere .desktop Dateien in ...

Windows 10
Automatische daten kopieren, USB zu USB unter Win10 im Hintergrund
Frage von DerEisigeWindows 1016 Kommentare

Hallo Leute, ich bin auf der Suche nach einem Skript, dass von einem USB Stick automatisch nach dem einstecken ...