Anzeige
Archiv - Navigation
1036to1040
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inputbox für VBA Befehl
05.01.2009 15:21:00
Tom
Hallo,
ich habe folgenden Code und brauche eine Inputbox, die die Eingabe in den VBA Code integriert.
Vorerst mal der Code:

'Auszulesende Dateien
Else ' B = 0
If sArea2(B)  "" Then
ThisWorkbook.Sheets(OName).Cells(LCol, 1) = OName 'schreibe Ordnername
sFormel = Right$(sArea2(B), Len(sArea2(B)) - InStrRev(sArea2(B), "\"))         _
'A4 = Kunde
sFormel = "'" & Replace(sArea2(B), sFormel, "[" & sFormel & "]Dezember' _
!") & Range("A2").Address(, , xlR1C1)


Da wo jetzt der Dezember steht, muss jeden Monat der aktuelle Monat eingegeben werden.
Damit ich nicht immer ins VBA muss, dachte ich an eine Inputbox, die beim Starten des Makros den laufenden Monat erfragt und ihn integriert.
Geht das?
Gruß Tom

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inputbox für VBA Befehl
05.01.2009 15:28:45
Josef
Hallo Tom,
den Monat kannst Du, ohne Inputbox, direkt im Code ermitteln.
sFormel = "'" & Replace(sArea2(B), sFormel, "[" & sFormel & "]" & _
    Format(Date, "MMMM") & "'!") & Range("A2").Address(, , xlR1C1)

Gruß Sepp

Anzeige
AW: Inputbox für VBA Befehl
05.01.2009 15:43:39
Tom
Hallo Sepp,
danke für die schnelle Antwort.
Ich weiß nicht ob dieses ein Problem ist, jedoch befinden sich in einer Exceldatei alle Monate eines Jahres (von Januar bis Dezember). Da ich die Daten immer um einen Monat vesetzt benötige, kann ich daher nicht von =monat() ausgehen. Also, die Daten aus z.B. November werden erst im Dezember bearbeitet. Mit deinem Code wird doch nur der aktuelle Monat erkannt, oder?
Vielleicht war meine Beschreibung nicht sehr ausführlich.
Gruß
Tom
AW: Inputbox für VBA Befehl
05.01.2009 15:56:15
Josef
Hallo Tom,
das geht vom Prinzip her so. (ohne Fehlerüberprüfung!)
Dim strMonat As String
strMonat = InputBox("Monat eingeben:", "Monat", Format(Date, "MMMM"))

sFormel = "'" & Replace(sArea2(B), sFormel, "[" & sFormel & "]" & _
    strMonat & "'!") & Range("A2").Address(, , xlR1C1)

Gruß Sepp

Anzeige
AW: Inputbox für VBA Befehl
05.01.2009 16:11:00
Tom
Hallo Sepp,
hat gelappt. Nur leider nicht vollständig. Er debuggt mit der Meldung: Die Eingabe Name ist ungültig.

Dim strMonat As String
strMonat = InputBox("Monat eingeben:", "Monat", Format(Date, "MMMM"))
sFormel = "'" & Replace(sArea2(B), sFormel, "[" & sFormel & "]" & _
strMonat & "'!") & Range("A2").Address(, , xlR1C1)


ThisWorkbook.Sheets(OName).Cells(LCol, 2) = ExecuteExcel4Macro(sFormel)


sFormel = Replace(sFormel, Range("A2").Address(, , xlR1C1), Range("B62").Address(, , xlR1C1))
ThisWorkbook.Sheets(OName).Cells(LCol, 3) = ExecuteExcel4Macro(sFormel)


Gruß
Tom

Anzeige
AW: Inputbox für VBA Befehl
05.01.2009 16:19:00
Josef
Hallo Tom,
ohne den gesamten Code, oder noch besser der Datei ist die Fehlersuche schwierig.
Gruß Sepp

AW: Inputbox für VBA Befehl
05.01.2009 16:27:29
Tom
Hallo,
ich hoffe das hilft Dir weiter.

Option Explicit
Dim Liste As String
Dim FS As Object
Dim varFolder
Sub ListOrdner(myFolder, Optional sFilter As String = "*.*")
Dim myFile As Object, mySubfolders As Object
Set myFolder = FS.getfolder(myFolder)
On Error GoTo FehlerZugriff
For Each myFile In myFolder.Files
If myFolder = varFolder Then Exit For
If myFile.Path Like sFilter Then
Liste = Liste & myFile.Path & ">"
End If
Next
For Each mySubfolders In myFolder.subfolders
Liste = Liste & ""
ListOrdner mySubfolders, sFilter
Next
FehlerZugriff:
Err.Clear
Set myFile = Nothing: Set mySubfolders = Nothing: Set myFolder = Nothing
End Sub
Sub Start()
Dim sArea() As String, sArea2() As String
Dim sFileFilter As String, OName As String, sDateiName As String
Dim sFormel As String
Dim A As Long, B As Long, LCol As Long
Dim iCalc As Integer
Const InfoText As String = "Bitte warten!"
Set FS = CreateObject("Scripting.FileSystemObject")
LCol = 2 'erste Einfügezeile
sFileFilter = "*.xls" 'Filtefilter
'es werden nur die Unterordner durchsucht und gelistet
varFolder = "Z:\Abrechnung" 'welcher Ordner?
With Application
iCalc = .Calculation
.StatusBar = InfoText
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
ListOrdner varFolder, sFileFilter
sArea = Split(Liste, "")
If UBound(sArea2) > 1 Then
For B = LBound(sArea2) To UBound(sArea2)
If B = 0 Then
'Ordnername
OName = Right$(sArea2(B), Len(sArea2(B)) - InStrRev(sArea2(B), "\"))
'hier Tabellennamen eventuell anpassen!**********************
'Übersichtsdatei
With ThisWorkbook.Sheets(OName) '?
.Range("A1") = "Ordner": .Range("B1") = "Kunde": .Range("C1") = "Rabatt"
.Range("A1:Z1").Font.Bold = True
End With
Else ' B = 0
If sArea2(B)  "" Then
ThisWorkbook.Sheets(OName).Cells(LCol, 1) = OName 'schreibe Ordnername
Dim strMonat As String
strMonat = InputBox("Monat eingeben:", "Monat", Format(Date, "MMMM"))
sFormel = "'" & Replace(sArea2(B), sFormel, "[" & sFormel & "]" & _
strMonat & "'!") & Range("A2").Address(, , xlR1C1)
ThisWorkbook.Sheets(OName).Cells(LCol, 2) = ExecuteExcel4Macro(sFormel) _
b>
sFormel = Replace(sFormel, Range("A2").Address(, , xlR1C1), Range("B62"). _
Address(, , xlR1C1))
ThisWorkbook.Sheets(OName).Cells(LCol, 3) = ExecuteExcel4Macro(sFormel)
LCol = LCol + 1
End If ' sArea2(B)  ""
End If ' B = 0
Next B
LCol = 2
End If 'UBound(sArea2) > 1
Next A
.Calculation = iCalc
.EnableEvents = True
.ScreenUpdating = True
.StatusBar = False
End With 'Application
Erase sArea: Erase sArea2
Set FS = Nothing: Set varFolder = Nothing
Call Ergänzung_Summenfunktion
Call Ergänzung_format
End Sub


Anzeige
AW: Inputbox für VBA Befehl
05.01.2009 18:06:26
Josef
Hallo Tom,
im Code kann ich keinen Fehler erkennen.
Stimmt deine Eingabe mit den Blattnamen überein?
Wenn du im Code den Monat händich änderst, funktioniert dann der Code?
Gruß Sepp

AW: Inputbox für VBA Befehl
05.01.2009 23:08:41
Thomas
Hi,
wenn ich ich ohne die Inputbox arbeite dann gehts.
Gruß

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige