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

Problem mit Verknüpfung zwischen Arbeitsmappen in VBA

Frage Microsoft Microsoft Office

Mitglied: minimex2

minimex2 (Level 1) - Jetzt verbinden

09.11.2010 um 09:30 Uhr, 3784 Aufrufe, 5 Kommentare

Schönen guten Morgen!

Ich habe ein größeres Problem mit der Verwendung von VBA:

Ich soll quasi ein Mini CRM erstellen, bei dem Besuchsberichte aus einer Exceldatei mit Tagesberichten generiert werden

-Ich habe zwei Arbeitsmappen; in der einen sollen die Besuchsbereichte für unseren Außendienst(Besuchsberichte.xls) generiert werden, in der anderen stehen Angaben zum Kunden, Datum, Ergebnisse, etc.

-Mein Ziel ist es in der Mappe Besuchsberichte.xls eine Maske zu erstellen, in die die KW eingegeben wird.
-Dann soll in der CRM.xls nach der Kalenderwoche gesucht und die Anzahl der Berichte durchgezählt werden
-In Besuchsberichte.xls soll dann das bereits vorhandene Arbeitsblatt so häufig kopiert werden, die Berichte vorhanden sind
-Die Daten sollen dann von CRM.xls in die einzelnen Berichte übertragen werden

Da ich leider der einzige Programmiererfahrene unserer Abteilung bin, aber bisher leider wenig mit VBA und der Verknüpfung mit Excel zu tun hatte, bitte ich um ein wenig Unterstützung.

Besonders Punkt zwei und vier bereiten mir Kopfzerbrechen.

Ich freue mich über eure tatkräftige Hilfe

Danke im Voraus

Grüße

Jens
Mitglied: jenni
09.11.2010 um 09:46 Uhr
Punkt zwei kannst du mit Excel herausbekommen.

=ZÄHLENWENN(Bereich;Suchkriterium)

Bereich ist die komplette Spalte mit der KW-Angabe.
Suchkriterium die einzelne KW

zu vier:
könnetest du vielleicht über die Zeilenzuordnung machen
hinter einer KW steht immer eine zeile und dahinter stehen immer die Kundeninfos(wenn ich dich richtig verstanden habe)
=Zeile(Bezug)
Bezug richtet sich nach der Zeile der KW
damit könntest du dann die Angaben aus CRM.xls in Besuchsberichte.xls kopieren!

das wäre jetzt mein Ansatz

Gruß
Jens
Bitte warten ..
Mitglied: minimex2
09.11.2010 um 10:51 Uhr
Sorry, ich habe es doof erklärt:

Die Kalenderwochen sind nicht in der Tabelle selber vorhanden, sondern die unteren Reiter sind "KW**" benannt.
Da soll es dann in das richtige Register springen und dort die Anzahl der Berichte zählen, aber das erst ab Zeile 7, wobei dort auch wieder Lücken zwischen sein können
Bitte warten ..
Mitglied: 76109
09.11.2010 um 11:10 Uhr
Hallo Jens!

Das Zählen in etwa so (Konstanten anpassen):
01.
Const CRMPath = "E:\Test\CRM.xls" 
02.
 
03.
Const StartZeile = 7 
04.
Const ZaehlSpalte = "A" 
05.
 
06.
Sub Test() 
07.
    Dim Anzahl As Long 
08.
     
09.
    Anzahl = GetAnzahl(2) 
10.
End Sub 
11.
 
12.
Private Function GetAnzahl(ByVal KW) As Long 
13.
    Dim Wkb As Workbook, Wks As Worksheet, i As Long, Counter As Long 
14.
     
15.
    Set Wkb = GetObject(CRMPath) 
16.
     
17.
    For Each Wks In Wkb.Sheets 
18.
        If Wks.Name = "KW" & Right("0" & KW, 2) Then 
19.
            For i = StartZeile To Wks.Cells(Wks.Rows.Count, ZaehlSpalte).End(xlUp).Row 
20.
                If Not IsEmpty(Wks.Cells(i, ZaehlSpalte)) Then Counter = Counter + 1 
21.
            Next 
22.
            Exit For 
23.
        End If 
24.
    Next 
25.
     
26.
    Wkb.Close False 
27.
     
28.
    GetAnzahl = Counter 
29.
End Function
wobei für die Tabellennamen der Kalenderwochen von der Bezeichnung KW01, KW02,..., KW52 ausgegangen wird.

Gruß Dieter
Bitte warten ..
Mitglied: minimex2
09.11.2010 um 13:26 Uhr
Danke Dieter

Super genial, dass war, nach ein wenig Modifikation, genau das, was ich brauchte.

Jetzt muss ich nurnoch die Datenübertragung programmieren; den Rest habe ich.

Gruß

Jens
Bitte warten ..
Mitglied: 76109
10.11.2010 um 11:03 Uhr
Hallo Jens!

Hier der Zähler noch etwas vereinfacht:
01.
Private Function GetAnzahl(ByVal KW) As Long 
02.
    Dim Wkb As Workbook, Wks As Worksheet 
03.
     
04.
    Set Wkb = GetObject(CRMPath) 
05.
     
06.
    For Each Wks In Wkb.Sheets 
07.
        If Wks.Name = "KW" & KW Then 
08.
            GetAnzahl = WorksheetFunction.CountIf(Wks.Range("A7:A65536"), "<>"):  Exit For 
09.
        End If 
10.
    Next 
11.
     
12.
    Wkb.Close False 
13.
End Function
Gruß Dieter
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Router & Routing
gelöst Routing - Netzwerk Problem - zwischen Filiale und Zentrale (12)

Frage von clonex zum Thema Router & Routing ...

Netzwerkprotokolle
gelöst Problem bei VLAN Trunk mit LACP zwischen HP und Cisco (11)

Frage von markuswo zum Thema Netzwerkprotokolle ...

Humor (lol)
Der Unterschied zwischen USA und USB

Link von BirdyB zum Thema Humor (lol) ...

Windows Server
AD Replikation zwischen untergeordneten Domäne zwingend? (1)

Frage von Gien-app zum Thema Windows Server ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...