Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

Excel-Tabelle per Script nur bestimmte Spalten auswählen

Frage Entwicklung VB for Applications

Mitglied: MarkusMohr

MarkusMohr (Level 1) - Jetzt verbinden

27.01.2011, aktualisiert 15:33 Uhr, 7312 Aufrufe, 3 Kommentare

Guten Tag erstmal,

Wolte zuerst mal anmerken das ich gesehen habe das es schon ähnliche Probleme gegeben hat aber komme damit nicht weiter!!

Zum Problem:
Bekomme aus einem Programm eine dbf-Datei die folgender Maßen aufgebaut ist:

c3d629d7834cc7c09062dfeb1c1c47c9 - Klicke auf das Bild, um es zu vergrößern

Aus dieser Tabelle sollen nur bestimmte Spalten in eine neue xls-Datei kopiert werden die folgender Maßen aufgebaut sein muss
0f1a0ed960478707afc3b0cb4d5f600a - Klicke auf das Bild, um es zu vergrößern

Also sprich:

EDIT: xls.Hdl.-Nr kommt der wert XXXXX
dbf.ANREDE in xls.Anrede
xls.Titel bleibt leer
dbf.VORNAME in xls.Vorname
dbf.NACHNAME in xls.Name
EDIT: xls.Firma 1 bleibt leer
xls.Firma 2 bleibt leer
dbf.STRASSE in xls.STraße
dbf.PLZ in xls.PLZ
dbf.ORT in xls.Ort
dbf.TELPRIVAT in xls.Telefonnr.
dbf.FAHRGEST_N in xls.VIN


Der Aufbau der beiden Dateien ist immer gleich!

Denke das dies mit VB zu realisieren ist da ich davon keinen Peil habe bitte ich um eure Hilfe
Danke schonmal im Vorraus!!

Mit freundlichen Grüßen Markus
Mitglied: Netzheimer
27.01.2011 um 15:10 Uhr
Hallo Markus,

das kannst du sogar (fast alles) mit dem Makro-Rekorder machen.

dbf Öffnen.
Makro aufzeichen

Alle Spalten, auch die leeren, die du willst markieren
Datei > neu > A1 auswählen > einfügen
Bei den Spalten die leer bleiben sollen die Daten löschen
und in die Zeile mit dem gleichen Wert (xls.Firma1) den Wert eintragen
auf den kleinen schwarzen umrandeten Balken Doppelclicken und die Werte werden gefüllt.

Makro aufzeichnen beenden

Damit hast du schon mal dein Grundgerüst. Für die Statischen Werte kannst du evtl. auch mit Cells.Offset arbeiten (solange links was steht, den Wert eintragen)

Gruß
Netzheimer
Bitte warten ..
Mitglied: MarkusMohr
27.01.2011 um 17:00 Uhr
Ersteinmal Danke für deine Antwort!

Hab das mal kurz ausprobiert aber ist überhauot nicht mein Ding!
Denke das ich bevor ich diesen Rekorder benutze mich nach und nach in VB einarbeite ist schon irgendwie schöner

Aber trotzdem Danke!
Bitte warten ..
Mitglied: bastla
28.01.2011 um 18:00 Uhr
Hallo MarkusMohr!

Das könnte als VBA etwa so aussehen:
01.
Sub Konvertieren() 
02.
Zuordnung = Array("XXXXX", "_B", "", "_D", "_E", "", "", "_G", "_H", "_I", "_K", "_L") 
03.
Quelle = "Tabelle1" 
04.
QAbZeile = 2 
05.
QAbSpalte = 1 'Quelldaten ab Spalte A 
06.
 
07.
Ziel = "Tabelle2" 
08.
ZielUeber = Array("Hdl.-Nr*", "Anrede", "Titel", "Vorname*", "Name*", "Firma 1**", "Firma 2*", "Straße*", "PLZ*", "Ort*", "Telefonnr.", "VIN*") 
09.
ZAbZeile = 2 
10.
ZAbSpalte = 1 'Zieldaten ab Spalte A 
11.
 
12.
 
13.
Feldanzahl = UBound(ZielUeber) + 1 
14.
QZeile = QAbZeile 
15.
ZZeile = ZAbZeile - 1 
16.
 
17.
For i = 0 To Feldanzahl - 1 
18.
    Worksheets(Ziel).Cells(ZZeile, ZAbSpalte + i) = ZielUeber(i) 
19.
Next 
20.
ZZeile = ZZeile + 1 
21.
 
22.
Do While Worksheets(Quelle).Cells(QZeile, QAbSpalte) <> "" 
23.
    For i = 0 To Feldanzahl - 1 
24.
        If Left(Zuordnung(i), 1) = "_" Then 
25.
            Worksheets(Ziel).Cells(ZZeile, ZAbSpalte + i) = Worksheets(Quelle).Cells(QZeile, Mid(Zuordnung(i), 2)) 
26.
        Else 
27.
            Worksheets(Ziel).Cells(ZZeile, ZAbSpalte + i) = Zuordnung(i) 
28.
        End If 
29.
    Next 
30.
    QZeile = QZeile + 1 
31.
    ZZeile = ZZeile + 1 
32.
Loop 
33.
End Sub
Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
VB for Applications
Bestimmte Daten aus eine CSV-Datei in eine Excel-Tabelle importieren (2)

Frage von MariaElena zum Thema VB for Applications ...

VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Microsoft Office
Word Dokument (vorausgefüllte Formulare) aus Excel Tabelle generieren (1)

Frage von Server4Alle zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...