Excel VBA Makro Code?

Guten Tag zusammen,

Undzwar geht es darum das ich ein Makro erstellt habe der sieht so aus :

Sub Makro1()

' Makro1 Makro

'

   

  Range("D3").Select

  Application.CutCopyMode = False

  Selection.Copy

  Sheets("1M").Select

  Range("C6").Select

  ActiveSheet.Paste

  Sheets("Tabelle1").Select

  Range("J3").Select

  Application.CutCopyMode = False

  Selection.Copy

  Sheets("1M").Select

  Range("C7").Select

  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

    :=False, Transpose:=False

  Sheets("Tabelle1").Select

  Range("R3").Select

  Application.CutCopyMode = False

  Selection.Copy

  Sheets("1M").Select

  Range("C13").Select

  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

    :=False, Transpose:=False

  Range("D26").Select

  Application.CutCopyMode = False

  Selection.Copy

  Sheets("Tabelle1").Select

  Range("H3").Select

  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

    :=False, Transpose:=False

End Sub

Das Problem ist jetzt das ich möchte das er in der Excel Tabelle jede Zeile mit diesem Makro ausfüllt sprich er soll bei Zeile 3 anfangen und bis 322 weiterführen ich habe 2 Mappen 1. "Tabelle1" und "1M"

Tabelle1 hatt die 322 Zeilen aber er springt nicht zur jeder Zeile und die Zelle "D3" , "J3", "R3", "H3" sollten dann auf die nächste Zeile Springen Sprich "D4", "J4" , "R3" , "H4" wenn er auch in der 4 Zeile ist

die restlichen Zellen sollen festbleiben zugehörig zu Mappe "1M"

ich hoffe es ist verständlich was ich meinte :'D

Microsoft Excel, Makro, VBA, Code, Datenbank, VBA Excel
Ich suche die Lösung für eine Komplexe Rechenaufgabe?

Meine Aufgabe istfolgende:

in Spalte Q, wird eine 4, 5, 6 oder 7 stellige Zahl geschrieben. Das Ergebnis wir in die unterste die Zeile übernommen. Die Zahlen Sequenzen werden solange wiederholt bis die Zeile U-AE gefüllt ist. Soweit so Gut.

Es folgen 10 Diagramme die in 10 Jahresabschnitte aufgeteilt sind. Also in Summe von 0 - 100Jahre.

Die Werte aus der Ergebnis- Zeile werden im ersten Diagramm (0-10 Jahre) übertragen.

Wie kann ich die Zahlensequenzen so anreihen das immer die richtige Reihenfolge über die 100Jahre verteilt werden. Egal ob diese aus einer 4, 5, 6, oder 7stelligen stammen?

Beispiel: im Diagramm 0-10Jahre kommen Werte von einer 4 stelligen Zahl. die letze Zahl ist die 1, im Diagramm 10-20 Jahre beginnt sie mit der gleichen Zahl aus der Sequenz und darauf folgen die nächsten in der richtigen Reihenfolge, usw.

Hallo, diese Tabellen und alles was damit zusammenhängt dient einer numerologischen Auswertung. Die Zahlenreihe die als Datenreihe in das Diagramm eingefügt wird, stammt aus einer Berechnung des Geburtsdatums.

Es wird der TT x MM x JJJJ genommen das eine 4, 5, 6 stellige Zahl ergibt.

Diese Zahlen werden wie oben in der ersten Tabelle übertragen. Ergibt 4 Zeilen, Zeile 1, 4 stellige Zahlen, Zeile 2, 5 stellige usw. Die Summe der einzelnen Spalten wir in die unterste Zeile geschrieben. Da es immer nur eine Zeile mit Daten zur gleichen Zeit geben kann wird das richtige Ergebnis dargestellt. das funktioniert auch sehr gut. Die Tabelle hat 11 Spalten diese müssen mit den Zahlensequenzen der jeweiligen Zeile aufgefüllt werden. Dies habe ich einmal gemacht indem ich die Bezugsquelle angegeben habe. Dies funktionier soweit auch ganz gut.

Mein wunsch wäre diese Zahlensequenzen, wie oben beschrieben, immer in der richtigen Reihenfolge und unabhängig ob diese aus einer 4, 5, 6 stelligen Zahl kommen die 10 Diagramme ausfüllt.

Ich hoffe ich habe es gut genug erklärt.

Ist das überhaupt machbar?

Bild zum Beitrag
Microsoft Excel, Microsoft Office, Makro, Formel, Informatik, Tabellenkalkulation, Excel-Formel, VBA Excel
Makro mit VBA in Excel zerschossen, brauche dringend Hilfe!?

Hallo zusammen,

vorab schonmal, nein ich habe hier absolut 0% Ahnung hiervon und brauche dringend Hilfe!

Ich habe auf der Arbeit bei einer wichtigen Excel Datei eine neue Spalte eingefügt, was dafür gesorgt hat, dass eine wichtige Spalte rechts davon weiter nach rechts verschoben wurde um eine Zelle.

In dieser Spalte wurden Enddatum eingetragen und diese wurden mit einem Makro über VBA Absteigend von jüngerem Datum oben, nach späteren Datum nach unten hin sortiert.

Nachdem ich die neue Spalte zugefügt habe, funktionierte eins nach dem anderen nicht mehr richtig und ich war so dumm zu versuchen das Makro minimal anzugleichen, sodass es funktioniert und habe es dann getestet.

Dadurch habe ich es nur schlimmer gemacht...

Zudem kann ich jetzt nicht mal mehr in der Tabelle scrollen, zumindest in diesem Reiter, in einem anderen Reiter unten, kann ich scrollen in der Datei.

Der Text in VBA Stand jetzt:

Sub Sortieren()

'

' Sortieren Makro

'

'

  Rows("3:500").Select

  Range("B3").Activate

  ActiveWorkbook.Worksheets("Übersicht").Sort.SortFields.Clear

  ActiveWorkbook.Worksheets("Übersicht").Sort.SortFields.Add Key:=Range( _

    "H4:Hl34"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _

    xlSortNormal

  With ActiveWorkbook.Worksheets("Übersicht").Sort

    .SetRange Range("A3:L500")

    .Header = xlYes

    .MatchCase = False

    .Orientation = xlTopToBottom

    .SortMethod = xlPinYin

    .Apply

  End With

  ActiveWindow.SmallScroll Down:=3

  ActiveSheet.Range("$A$3:$L$97").AutoFilter Field:=12, Criteria1:="="

  ActiveWindow.SmallScroll Down:=-12

End Sub

Bild zum Beitrag
Microsoft Excel, programmieren, Makro, VBA, VBA Programmierung, VBA Makro, VBA-Code, VBA Excel, makros erstellen
Excel VBA: Tabellenblätter bei gewissen Zellenwert ausblenden?

Hallo Zusammen,

Ich will mittels VBA ein Excel modifizieren, damit möglichst wenige Tabellenblätter angezeigt werden. In einem Tabellenblatt (z.B. "Auswahl") habe ich die Zellen C62, C88 und C114, die jeweils ein spezielles Tabellenblatt anzeigen sollen. Jedoch gibt es im Moment nur LZF-Meldungen.

Es soll jeweils bei "Yes" nichts angezeigt, bei "No" die entsprechende Tabelle eingeblendet werden.

Ansonsten sollen die "nicht betroffenen" Tabellen ausgeblendet bleiben

Hier der Code im Worksheet "DieseArbeitsmappe":

Private Sub Worksheet_Open()

'Beim Öffnen des Excels die betroffenen Blätter ausblenden
    ThisWorkbook.Worksheets("Tabelle4").Visible = False 
    ThisWorkbook.Worksheets("Tabelle5").Visible = False
    ThisWorkbook.Worksheets("Tabelle6").Visible = False
    
End Sub

In Blatt "Auswahl" (Tabelle7) habe ich folgenden Code:

Private Sub Worksheet_Change(ByVal Target As Range)

   

‘Hier sind vorher noch andere IF-Regeln hinterlegt, die nur Reihen in Tabelle7 ein/ausblenden

   

    If Range("C62").Value = "No" Then 'Tabellenblätter einblenden, sobald in der jeweiligen Zelle "No" ausgewählt wird

        ThisWorkbook.Worksheets("Tabelle6").Visible = True

       

        Else

        ThisWorkbook.Worksheets("Tabelle6").Visible = False ‘Hier erhalte ich jeweils ein LZF 9?

    End If

   

    If Range("C88").Value = "No" Then

        ThisWorkbook.Worksheets("Tabelle5").Visible = True

       

        Else

        ThisWorkbook.Worksheets("Tabelle5").Visible = False ‘Hier erhalte ich jeweils ein LZF 9?

    End If

   

    If Range("C114").Value = "No" Then

        ThisWorkbook.Worksheets("Tabelle4").Visible = True

       

        Else

        ThisWorkbook.Worksheets("Tabelle4").Visible = False ‘Hier erhalte ich jeweils ein LZF 9?

    End If

   

End Sub

Weshalb gibt es jeweils einen Fehler und wie kann ich diesen am einfachsten beheben?

Vielen Dank, Michael

Microsoft Excel, programmieren, Makro, VBA
Excel Makro, PDF versenden, Anhang klappt nicht?

Hallo, ich würde gerne eine Rechnung mit einem Makro erstellen. Soweit klappt das auch und die Mail öffnet sich auch, aber diese wird nicht als Anhang hinzugefügt. Ich komme leider nicht drauf. Ich denke, es liegt daran, dass er die Datei nicht findet, aber ich wüsste keinen Lösungsansatz. Hier der Code:

Dim Result As VbMsgBoxResult

Sub RechnungsnrUndDrucken()

Sheets("Rechnung_Video").Select

[D15] = [D15] + 1 'Rechnungsnummer 1 hochzählen

  Dim sCC As String

  Dim sName As String

  Dim sText As String

  Dim sObject As String

  Dim sCompany As String

  Dim sRefNr As String

  Dim sTempFileName As String

   

  If (CStr(ThisWorkbook.ActiveSheet.Name) = "Rechnung") Then

    Result = MsgBox("Rechnung fertig?", vbApplicationModal Or vbQuestion Or vbYesNo)

    If Result = vbNo Then Exit Sub

  End If

Const DateiPfad = "C:\Temp\"

  Dim DateiName As String

  

  DateiName = DateiPfad & Range("C15") & Range("D15") & ".pdf"

  Range("A1:F54").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

    DateiName, Quality:=xlQualityStandard, _

 IncludeDocProperties:=True, _

  IgnorePrintAreas:=False, _

  OpenAfterPublish:=False

      

Dim Nachricht As Object, OutApp As Object

Dim AWS As String

Set OutApp = CreateObject("Outlook.Application")

AWS = strFileName

'InitializeOutlook = True

Set Nachricht = OutApp.CreateItem(0)

With Nachricht

.Subject = "" & Range("A1") & "_" & Range("C15") & Range("D15")

.GetInspector.display

'.Attachments.Add ("C:\Temp\" & Range("C15") & Range("D15") & ".pdf")

End With

Set OutApp = Nothing

Set Nachricht = Nothing

End Sub

Computer, Microsoft Excel, E-Mail, Makro
VBA Dateiauswahl - Bei Abbruch Laufzeitfehler 5, jemand Ideen?

Hallo zusammen,

was müsste ich hinzufügen, um den Laufzeitfehler 5 zu umgehen? Wenn ich den VBA-Code ausführe, öffnet sich das Fenster für den Import von DAT-Dateien. Drücke ich auf Abbrechen, erscheint der Laufzeitfehler 5. Vermerkt wird der Code "Set F = fs.GetFolder(strPfad)". Wo und welchen Code müsste ich hinzufügen, um den Fehler zu beheben? Vielen Dank im Voraus. :)

Sub Schaltfläche1_Klicken()
'
'
'*** Öffnen von DAT-Dateien
Dim strText As String, strFilter As String

strText = "Bitte eine Auswertung Auswählen"
strFilter = "DAT-Dateien (*.DAT), *.DAT"""
strAuswahl = Application.GetOpenFilename(strFilter, 1, strText)
strPfad = Pfad_ermitteln(strAuswahl)
'
Set fs = CreateObject("Scripting.FileSystemObject")
Set F = fs.GetFolder(strPfad)
Set fc = F.Files

If ActiveSheet Is Nothing Then Workbooks.Add
For Each File In fc
    Zeile = Cells(65000, 1).End(xlUp).Row + 2
    strEinfügen = Cells(Zeile, 1).Address
    strAuswahl = File.Path

    'Einfügen
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;" & strAuswahl _
        , Destination:=Range(strEinfügen))
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 850
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileDecimalSeparator = "."
        .TextFileThousandsSeparator = ","
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
  End With
  Range(strEinfügen).QueryTable.Delete
Next
End Sub
_______________________________

 Function Pfad_ermitteln(ByVal strAuswahl As String) As String
 
 For i = Len(strAuswahl) To 1 Step -1
    If Mid(strAuswahl, i, 1) = "\" Then
        Pfad_ermitteln = Left(strAuswahl, i - 1)
        Exit Function
    End If
Next
End Function
Computer, Microsoft Excel, Microsoft Office, Makro, VBA, Code

Meistgelesene Fragen zum Thema Makro